diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServicePlans.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServicePlans.json index 525c6f4b2ee0..f70448428f71 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServicePlans.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/AppServicePlans.json @@ -1528,10 +1528,6 @@ "type": "string", "readOnly": true }, - "adminSiteName": { - "description": "App Service plan administration site.", - "type": "string" - }, "hostingEnvironmentProfile": { "$ref": "./CommonDefinitions.json#/definitions/HostingEnvironmentProfile", "description": "Specification for the App Service Environment to use for the App Service plan.", @@ -1761,4 +1757,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/CommonDefinitions.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/CommonDefinitions.json index cf91bc366803..929ec3a077e7 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/CommonDefinitions.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/CommonDefinitions.json @@ -300,10 +300,6 @@ "type": "string", "readOnly": true }, - "adminSiteName": { - "description": "App Service plan administration site.", - "type": "string" - }, "hostingEnvironmentProfile": { "$ref": "#/definitions/HostingEnvironmentProfile", "description": "Specification for the App Service Environment to use for the App Service plan.", @@ -991,6 +987,21 @@ } } }, + "GeoDistribution": { + "description": "A global distribution definition.", + "type": "object", + "properties": { + "location": { + "description": "Location.", + "type": "string" + }, + "numberOfWorkers": { + "format": "int32", + "description": "NumberOfWorkers.", + "type": "integer" + } + } + }, "HandlerMapping": { "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \nFor example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.", "type": "object", @@ -1205,9 +1216,6 @@ }, "IpSecurityRestriction": { "description": "IP security restriction on an app.", - "required": [ - "ipAddress" - ], "type": "object", "properties": { "ipAddress": { @@ -1218,6 +1226,20 @@ "description": "Subnet mask for the range of IP addresses the restriction is valid for.", "type": "string" }, + "vnetSubnetResourceId": { + "description": "Virtual network resource id", + "type": "string" + }, + "vnetTrafficTag": { + "format": "int32", + "description": "(internal) Vnet traffic tag", + "type": "integer" + }, + "subnetTrafficTag": { + "format": "int32", + "description": "(internal) Subnet traffic tag", + "type": "integer" + }, "action": { "description": "Allow or Deny access for this IP range.", "type": "string" @@ -2066,6 +2088,10 @@ "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", "type": "boolean" }, + "clientCertExclusionPaths": { + "description": "client certificate authentication comma-separated exclusion paths", + "type": "string" + }, "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" @@ -2132,6 +2158,35 @@ "httpsOnly": { "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", "type": "boolean" + }, + "redundancyMode": { + "description": "Site redundancy mode", + "enum": [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "RedundancyMode", + "modelAsString": false + } + }, + "inProgressOperationId": { + "format": "uuid", + "description": "Specifies an operation id if this site has a pending operation.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000" + }, + "geoDistributions": { + "description": "GeoDistributions for this site", + "type": "array", + "items": { + "$ref": "#/definitions/GeoDistribution" + } } }, "x-ms-client-flatten": true @@ -3073,4 +3128,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Provider.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Provider.json index f85c31280bb5..91ba208db7ae 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Provider.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Provider.json @@ -240,6 +240,10 @@ "isDefault": { "description": "true if this is the default minor version; otherwise, false.", "type": "boolean" + }, + "isRemoteDebuggingEnabled": { + "description": "true if this supports Remote Debugging, otherwise false.", + "type": "boolean" } } } @@ -278,4 +282,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Recommendations.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Recommendations.json index 9c9c5d08e48d..647d8f6fb92e 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Recommendations.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Recommendations.json @@ -116,6 +116,307 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendationHistory": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get past recommendations for an app, optionally specified by the time range.", + "description": "Get past recommendations for an app, optionally specified by the time range.", + "operationId": "Recommendations_ListHistoryForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the hosting environment.", + "required": true, + "type": "string" + }, + { + "name": "expiredOnly", + "in": "query", + "description": "Specify false to return all recommendations. The default is true, which returns only expired recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get all recommendations for an app.", + "description": "Get all recommendations for an app.", + "operationId": "Recommendations_ListRecommendedRulesForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "featured", + "in": "query", + "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", + "type": "string", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disable all recommendations for an app.", + "description": "Disable all recommendations for an app.", + "operationId": "Recommendations_DisableAllForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/reset": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Reset all recommendation opt-out settings for an app.", + "description": "Reset all recommendation opt-out settings for an app.", + "operationId": "Recommendations_ResetAllFiltersForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}": { + "get": { + "tags": [ + "Recommendations" + ], + "summary": "Get a recommendation rule for an app.", + "description": "Get a recommendation rule for an app.", + "operationId": "Recommendations_GetRuleDetailsByHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "description": "Name of the hosting environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the recommendation.", + "required": true, + "type": "string" + }, + { + "name": "updateSeen", + "in": "query", + "description": "Specify true to update the last-seen timestamp of the recommendation object.", + "type": "boolean" + }, + { + "name": "recommendationId", + "in": "query", + "description": "The GUID of the recommendation object if you query an expired one. You don't need to specify it to query an active entry.", + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecommendationRule" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{hostingEnvironmentName}/recommendations/{name}/disable": { + "post": { + "tags": [ + "Recommendations" + ], + "summary": "Disables the specific rule for a web site permanently.", + "description": "Disables the specific rule for a web site permanently.", + "operationId": "Recommendations_DisableRecommendationForHostingEnvironment", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "query", + "description": "Site name", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Rule name", + "required": true, + "type": "string" + }, + { + "name": "hostingEnvironmentName", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disabled recommendations." + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory": { "get": { "tags": [ @@ -720,4 +1021,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json index 1851c6b89ac6..b4fb9ae9d472 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json @@ -578,6 +578,47 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/validateContainerSettings": { + "post": { + "summary": "Validate if the container settings are correct.", + "description": "Validate if the container settings are correct.", + "operationId": "ValidateContainerSettings", + "parameters": [ + { + "name": "validateContainerSettingsRequest", + "in": "body", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateContainerSettingsRequest" + } + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "object" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/validateMoveResources": { "post": { "summary": "Validate whether a resource can be moved.", @@ -1046,6 +1087,36 @@ } } }, + "ValidateContainerSettingsRequest": { + "description": "Container settings validation request context", + "type": "object", + "properties": { + "baseUrl": { + "description": "Base URL of the container registry", + "type": "string" + }, + "username": { + "description": "Username for to access the container registry", + "type": "string" + }, + "password": { + "description": "Password for to access the container registry", + "type": "string" + }, + "repository": { + "description": "Repository name (image name)", + "type": "string" + }, + "tag": { + "description": "Image tag", + "type": "string" + }, + "platform": { + "description": "Platform (windows or linux)", + "type": "string" + } + } + }, "ValidateProperties": { "description": "App properties used for validation.", "type": "object", @@ -1275,4 +1346,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json index 5a5a4b9c8a20..46d6fe94216d 100644 --- a/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json @@ -1632,180 +1632,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Gets a Swift Virtual Network connection.", - "description": "Gets a Swift Virtual Network connection.", - "operationId": "WebApps_GetSwiftVirtualNetworkConnection", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "WebApps" - ], - "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", - "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", - "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnection", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "connectionEnvelope", - "in": "body", - "description": "Properties of the Virtual Network connection. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "WebApps" - ], - "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", - "description": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", - "operationId": "WebApps_DeleteSwiftVirtualNetwork", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted virtual network." - }, - "404": { - "description": "Virtual network does not exist." - } - } - }, - "patch": { - "tags": [ - "WebApps" - ], - "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", - "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", - "operationId": "WebApps_UpdateSwiftVirtualNetworkConnection", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "connectionEnvelope", - "in": "body", - "description": "Properties of the Virtual Network connection. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/web": { "get": { "tags": [ @@ -4978,19 +4804,193 @@ { "name": "name", "in": "path", - "description": "Name of web app.", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "name": "migrationRequestEnvelope", + "in": "body", + "description": "MySql migration options.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrateMySqlRequest" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/Operation" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "description": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "operationId": "WebApps_GetMigrateMySqlStatus", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrateMySqlStatus" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/networkConfig/virtualNetwork": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a Swift Virtual Network connection.", + "description": "Gets a Swift Virtual Network connection.", + "operationId": "WebApps_GetSwiftVirtualNetworkConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnection", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "description": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "operationId": "WebApps_DeleteSwiftVirtualNetwork", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", "required": true, "type": "string" }, - { - "name": "migrationRequestEnvelope", - "in": "body", - "description": "MySql migration options.", - "required": true, - "schema": { - "$ref": "#/definitions/MigrateMySqlRequest" - } - }, { "$ref": "#/parameters/subscriptionIdParameter" }, @@ -5000,29 +5000,20 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/Operation" - } + "description": "Successfully deleted virtual network." }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } + "404": { + "description": "Virtual network does not exist." } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migratemysql/status": { - "get": { + } + }, + "patch": { "tags": [ "WebApps" ], - "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", - "description": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", - "operationId": "WebApps_GetMigrateMySqlStatus", + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnection", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -5030,10 +5021,19 @@ { "name": "name", "in": "path", - "description": "Name of web app.", + "description": "Name of the app.", "required": true, "type": "string" }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, { "$ref": "#/parameters/subscriptionIdParameter" }, @@ -5045,7 +5045,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/MigrateMySqlStatus" + "$ref": "#/definitions/SwiftVirtualNetwork" } }, "default": { @@ -8660,221 +8660,28 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/PushSettings" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Gets the Push settings associated with web app.", - "description": "Gets the Push settings associated with web app.", - "operationId": "WebApps_ListSitePushSettingsSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of web app.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of web app slot. If not specified then will default to production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/PushSettings" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Gets a Swift Virtual Network connection.", - "description": "Gets a Swift Virtual Network connection.", - "operationId": "WebApps_GetSwiftVirtualNetworkConnectionSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK.", - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "WebApps" - ], - "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", - "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", - "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "connectionEnvelope", - "in": "body", - "description": "Properties of the Virtual Network connection. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "WebApps" - ], - "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", - "description": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", - "operationId": "WebApps_DeleteSwiftVirtualNetworkSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will delete the connection for the production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted virtual network." + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" + } }, - "404": { - "description": "Virtual network does not exist." + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/pushsettings/list": { + "post": { "tags": [ "WebApps" ], - "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", - "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", - "operationId": "WebApps_UpdateSwiftVirtualNetworkConnectionSlot", + "summary": "Gets the Push settings associated with web app.", + "description": "Gets the Push settings associated with web app.", + "operationId": "WebApps_ListSitePushSettingsSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -8882,23 +8689,14 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app.", "required": true, "type": "string" }, - { - "name": "connectionEnvelope", - "in": "body", - "description": "Properties of the Virtual Network connection. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" - } - }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, @@ -8913,7 +8711,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SwiftVirtualNetwork" + "$ref": "./CommonDefinitions.json#/definitions/PushSettings" } }, "default": { @@ -12520,6 +12318,208 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a Swift Virtual Network connection.", + "description": "Gets a Swift Virtual Network connection.", + "operationId": "WebApps_GetSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "description": "Deletes a Swift Virtual Network connection from an app (or deployment slot).", + "operationId": "WebApps_DeleteSwiftVirtualNetworkSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the connection for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted virtual network." + }, + "404": { + "description": "Virtual network does not exist." + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnectionSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkFeatures/{view}": { "get": { "tags": [ @@ -20826,6 +20826,10 @@ "description": "true to enable client certificate authentication (TLS mutual authentication); otherwise, false. Default is false.", "type": "boolean" }, + "clientCertExclusionPaths": { + "description": "client certificate authentication comma-separated exclusion paths", + "type": "string" + }, "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" @@ -20892,6 +20896,35 @@ "httpsOnly": { "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", "type": "boolean" + }, + "redundancyMode": { + "description": "Site redundancy mode", + "enum": [ + "None", + "Manual", + "Failover", + "ActiveActive", + "GeoRedundant" + ], + "type": "string", + "x-ms-enum": { + "name": "RedundancyMode", + "modelAsString": false + } + }, + "inProgressOperationId": { + "format": "uuid", + "description": "Specifies an operation id if this site has a pending operation.", + "type": "string", + "readOnly": true, + "example": "00000000-0000-0000-0000-000000000000" + }, + "geoDistributions": { + "description": "GeoDistributions for this site", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/GeoDistribution" + } } }, "x-ms-client-flatten": true diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/Certificates.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/Certificates.json new file mode 100644 index 000000000000..bbabb17bffce --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/Certificates.json @@ -0,0 +1,636 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-11-01", + "title": "Certificates API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get all certificates for a subscription.", + "description": "Get all certificates for a subscription.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates for subscription": { + "$ref": "./examples/ListCertificates.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get all certificates in a resource group.", + "description": "Get all certificates in a resource group.", + "operationId": "Certificates_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by resource group": { + "$ref": "./examples/ListCertificatesByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/certificates/{name}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get a certificate.", + "description": "Get a certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/GetCertificate.json" + } + } + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Create or update a certificate.", + "description": "Create or update a certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Details of certificate, if it exists already.", + "required": true, + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create Or Update Certificate": { + "$ref": "./examples/CreateOrUpdateCertificate.json" + } + } + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete a certificate.", + "description": "Delete a certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted certificate." + }, + "204": { + "description": "Certificate does not exist." + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/DeleteCertificate.json" + } + } + }, + "patch": { + "tags": [ + "Certificates" + ], + "summary": "Create or update a certificate.", + "description": "Create or update a certificate.", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Details of certificate, if it exists already.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificatePatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/PatchCertificate.json" + } + } + } + } + }, + "definitions": { + "Certificate": { + "description": "SSL certificate for an app.", + "type": "object", + "allOf": [ + { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "required": [ + "password" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Host names the certificate applies to.", + "type": "array", + "items": { + "type": "string" + } + }, + "pfxBlob": { + "format": "byte", + "description": "Pfx blob.", + "type": "string" + }, + "siteName": { + "description": "App name.", + "type": "string", + "readOnly": true + }, + "selfLink": { + "description": "Self link.", + "type": "string", + "readOnly": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "cerBlob": { + "format": "byte", + "description": "Raw bytes of .cer file", + "type": "string", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the certificate.", + "readOnly": true + }, + "keyVaultId": { + "description": "Key Vault Csm resource Id.", + "type": "string" + }, + "keyVaultSecretName": { + "description": "Key Vault secret name.", + "type": "string" + }, + "keyVaultSecretStatus": { + "description": "Status of the Key Vault secret.", + "enum": [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KeyVaultSecretStatus", + "modelAsString": false + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "CertificateCollection": { + "description": "Collection of certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CertificatePatchResource": { + "description": "ARM resource for a certificate.", + "type": "object", + "allOf": [ + { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "CertificatePatchResource resource specific properties", + "required": [ + "password" + ], + "properties": { + "friendlyName": { + "description": "Friendly name of the certificate.", + "type": "string", + "readOnly": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "hostNames": { + "description": "Host names the certificate applies to.", + "type": "array", + "items": { + "type": "string" + } + }, + "pfxBlob": { + "format": "byte", + "description": "Pfx blob.", + "type": "string" + }, + "siteName": { + "description": "App name.", + "type": "string", + "readOnly": true + }, + "selfLink": { + "description": "Self link.", + "type": "string", + "readOnly": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "cerBlob": { + "format": "byte", + "description": "Raw bytes of .cer file", + "type": "string", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + }, + "hostingEnvironmentProfile": { + "$ref": "../2018-02-01/CommonDefinitions.json#/definitions/HostingEnvironmentProfile", + "description": "Specification for the App Service Environment to use for the certificate.", + "readOnly": true + }, + "keyVaultId": { + "description": "Key Vault Csm resource Id.", + "type": "string" + }, + "keyVaultSecretName": { + "description": "Key Vault secret name.", + "type": "string" + }, + "keyVaultSecretStatus": { + "description": "Status of the Key Vault secret.", + "enum": [ + "Initialized", + "WaitingOnCertificateOrder", + "Succeeded", + "CertificateOrderFailed", + "OperationNotPermittedOnKeyVault", + "AzureServiceUnauthorizedToAccessKeyVault", + "KeyVaultDoesNotExist", + "KeyVaultSecretDoesNotExist", + "UnknownError", + "ExternalPrivateKey", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KeyVaultSecretStatus", + "modelAsString": false + } + }, + "serverFarmId": { + "description": "Resource ID of the associated App Service plan, formatted as: \"/subscriptions/{subscriptionID}/resourceGroups/{groupName}/providers/Microsoft.Web/serverfarms/{appServicePlanName}\".", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Your Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).", + "required": true, + "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/CreateOrUpdateCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/CreateOrUpdateCertificate.json new file mode 100644 index 000000000000..ed39b60acdb8 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/CreateOrUpdateCertificate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2018-02-01", + "certificateEnvelope": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/DeleteCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/DeleteCertificate.json new file mode 100644 index 000000000000..169358dcf88d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/DeleteCertificate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2018-02-01" + }, + "responses": { + "200": { }, + "204": { } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/GetCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/GetCertificate.json new file mode 100644 index 000000000000..b4b7e23152ea --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/GetCertificate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2018-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificates.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificates.json new file mode 100644 index 000000000000..42971748ee2d --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificates.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2018-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc4912", + "name": "testc4912", + "type": "Microsoft.Web/certificates", + "location": "West US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert2", + "hostNames": [ + "ServerCert2" + ], + "issuer": "CACert", + "issueDate": "2015-12-12T23:40:25+00:00", + "expirationDate": "2040-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B0490D5886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificatesByResourceGroup.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificatesByResourceGroup.json new file mode 100644 index 000000000000..3c890a111948 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/ListCertificatesByResourceGroup.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "api-version": "2018-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc4912", + "name": "testc4912", + "type": "Microsoft.Web/certificates", + "location": "West US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert2", + "hostNames": [ + "ServerCert2" + ], + "issuer": "CACert", + "issueDate": "2015-12-12T23:40:25+00:00", + "expirationDate": "2040-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B0490D5886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/PatchCertificate.json b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/PatchCertificate.json new file mode 100644 index 000000000000..e416ef6824b1 --- /dev/null +++ b/specification/web/resource-manager/Microsoft.Web/stable/2018-11-01/examples/PatchCertificate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "name": "testc6282", + "api-version": "2018-02-01", + "certificateEnvelope": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "properties": { + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/certificates/testc6282", + "name": "testc6282", + "type": "Microsoft.Web/certificates", + "location": "East US", + "properties": { + "friendlyName": "", + "subjectName": "ServerCert", + "hostNames": [ + "ServerCert" + ], + "issuer": "CACert", + "issueDate": "2015-11-12T23:40:25+00:00", + "expirationDate": "2039-12-31T23:59:59+00:00", + "thumbprint": "FE703D7411A44163B6D32B3AD9B03E175886EBFE", + "password": "SWsSsd__233$Sdsds#%Sd!" + } + } + } + } +} \ No newline at end of file diff --git a/specification/web/resource-manager/readme.md b/specification/web/resource-manager/readme.md index a955cbb2bea0..5e5c9e787795 100644 --- a/specification/web/resource-manager/readme.md +++ b/specification/web/resource-manager/readme.md @@ -34,9 +34,40 @@ These are the global settings for the Web API. title: WebSiteManagementClient description: WebSite Management Client openapi-type: arm -tag: package-2018-02 +tag: package-2018-11 ``` +### Tag: package-2018-11 + +These settings apply only when `--tag=package-2018-11` is specified on the command line. + +``` yaml $(tag) == 'package-2018-11' +input-file: +- Microsoft.CertificateRegistration/stable/2018-02-01/AppServiceCertificateOrders.json +- Microsoft.CertificateRegistration/stable/2018-02-01/CertificateRegistrationProvider.json +- Microsoft.DomainRegistration/stable/2018-02-01/Domains.json +- Microsoft.DomainRegistration/stable/2018-02-01/TopLevelDomains.json +- Microsoft.DomainRegistration/stable/2018-02-01/DomainRegistrationProvider.json +- Microsoft.Web/stable/2018-11-01/Certificates.json +- Microsoft.Web/stable/2018-02-01/CommonDefinitions.json +- Microsoft.Web/stable/2018-02-01/DeletedWebApps.json +- Microsoft.Web/stable/2018-02-01/Diagnostics.json +- Microsoft.Web/stable/2018-02-01/Provider.json +- Microsoft.Web/stable/2018-02-01/Recommendations.json +- Microsoft.Web/stable/2018-02-01/ResourceProvider.json +- Microsoft.Web/stable/2018-02-01/WebApps.json +- Microsoft.Web/stable/2018-02-01/AppServiceEnvironments.json +- Microsoft.Web/stable/2018-02-01/AppServicePlans.json +- Microsoft.Web/stable/2018-02-01/ResourceHealthMetadata.json +directive: + # suppress each RPC 3019 error +- where: $.definitions.Identifier.properties + suppress: R3019 + reason: It's an old API, will resolve in next API version + approved-by: "@ravbhatnagar" +``` + + ### Tag: package-2018-02 These settings apply only when `--tag=package-2018-02` is specified on the command line. @@ -67,7 +98,6 @@ directive: approved-by: "@ravbhatnagar" ``` - ### Tag: package-2016-09 These settings apply only when `--tag=package-2016-09` is specified on the command line.