From dc0352d250148e16e43761dac39ed62d3f2ba857 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Tue, 25 Jul 2017 17:02:14 -0700 Subject: [PATCH 01/10] Add public certificates, Functions Admin Token and MSDeploy APIs --- .../Microsoft.Web/2016-08-01/WebApps.json | 2216 +++++++++++++---- 1 file changed, 1782 insertions(+), 434 deletions(-) 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 0e0e29a57d14..ebc4c78a4f5d 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 @@ -2362,6 +2362,189 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_GetMSDeployStatus", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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/MSDeployStatus" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_CreateMSDeployOperation", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of web app", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy Log web app extension as pass-through API", + "description": "Invoke the MSDeploy Log web app extension as pass-through API", + "operationId": "WebApps_GetMSDeployLog", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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/MSDeployLog" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/functions/admin/token": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Fetch a short lived token that can be exchanged for a master key.", + "description": "Fetch a short lived token that can be exchanged for a master key.", + "operationId": "WebApps_GetFunctionsAdminToken", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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": { + "type": "string" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/hostNameBindings": { "get": { "tags": [ @@ -3413,14 +3596,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy": { + "get": { "tags": [ "WebApps" ], - "summary": "Shows whether an app can be cloned to another resource group or subscription.", - "description": "Shows whether an app can be cloned to another resource group or subscription.", - "operationId": "WebApps_IsCloneable", + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_GetInstanceMsDeployStatus", "produces": [ "application/json", "text/json", @@ -3434,7 +3617,14 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", "required": true, "type": "string" }, @@ -3449,23 +3639,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SiteCloneability" + "$ref": "#/definitions/MSDeployStatus" } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions": { - "get": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Gets all metric definitions of an app (or deployment slot, if specified).", - "description": "Gets all metric definitions of an app (or deployment slot, if specified).", - "operationId": "WebApps_ListMetricDefinitions", + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_CreateInstanceMSDeployOperation", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], "produces": [ "application/json", - "text/json" + "text/json", + "application/xml", + "text/xml" ], "parameters": [ { @@ -3474,10 +3669,26 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", "required": true, "type": "string" }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, { "$ref": "#/parameters/subscriptionIdParameter" }, @@ -3486,29 +3697,31 @@ } ], "responses": { - "200": { - "description": "OK", + "201": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/ResourceMetricDefinitionCollection" + "$ref": "#/definitions/MSDeployStatus" } + }, + "409": { + "description": "Another deployment is in progress" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log": { "get": { "tags": [ "WebApps" ], - "summary": "Gets performance metrics of an app (or deployment slot, if specified).", - "description": "Gets performance metrics of an app (or deployment slot, if specified).", - "operationId": "WebApps_ListMetrics", + "summary": "Invoke the MSDeploy Log web app extension as pass-through API", + "description": "Invoke the MSDeploy Log web app extension as pass-through API", + "operationId": "WebApps_GetInstanceMSDeployLog", "produces": [ "application/json", - "text/json" + "text/json", + "application/xml", + "text/xml" ], "parameters": [ { @@ -3517,21 +3730,15 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", "required": true, "type": "string" }, { - "name": "details", - "in": "query", - "description": "Specify \"true\" to include metric details in the response. It is \"false\" by default.", - "type": "boolean" - }, - { - "name": "$filter", - "in": "query", - "description": "Return only metrics specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'.", - "x-ms-skip-url-encoding": true, + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", + "required": true, "type": "string" }, { @@ -3545,28 +3752,166 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ResourceMetricCollection" + "$ref": "#/definitions/MSDeployLog" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/iscloneable": { + "post": { "tags": [ "WebApps" ], - "summary": "Restores a web app.", - "description": "Restores a web app.", - "operationId": "WebApps_MigrateStorage", - "consumes": [ - "application/json", - "text/json", - "application/x-www-form-urlencoded" - ], + "summary": "Shows whether an app can be cloned to another resource group or subscription.", + "description": "Shows whether an app can be cloned to another resource group or subscription.", + "operationId": "WebApps_IsCloneable", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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/SiteCloneability" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metricdefinitions": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets all metric definitions of an app (or deployment slot, if specified).", + "description": "Gets all metric definitions of an app (or deployment slot, if specified).", + "operationId": "WebApps_ListMetricDefinitions", + "produces": [ + "application/json", + "text/json" + ], + "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/ResourceMetricDefinitionCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/metrics": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets performance metrics of an app (or deployment slot, if specified).", + "description": "Gets performance metrics of an app (or deployment slot, if specified).", + "operationId": "WebApps_ListMetrics", + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "details", + "in": "query", + "description": "Specify \"true\" to include metric details in the response. It is \"false\" by default.", + "type": "boolean" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only metrics specified in the filter (using OData syntax). For example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2') and startTime eq '2014-01-01T00:00:00Z' and endTime eq '2014-12-31T23:59:59Z' and timeGrain eq duration'[Hour|Minute|Day]'.", + "x-ms-skip-url-encoding": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceMetricCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/migrate": { + "put": { + "tags": [ + "WebApps" + ], + "summary": "Restores a web app.", + "description": "Restores a web app.", + "operationId": "WebApps_MigrateStorage", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], "produces": [ "application/json", "text/json", @@ -4188,21 +4533,57 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates": { + "get": { "tags": [ "WebApps" ], - "summary": "Gets the publishing profile for an app (or deployment slot, if specified).", - "description": "Gets the publishing profile for an app (or deployment slot, if specified).", - "operationId": "WebApps_ListPublishingProfileXmlWithSecrets", - "consumes": [ + "summary": "Get public certificates for an app or a deployment slot.", + "description": "Get public certificates for an app or a deployment slot.", + "operationId": "WebApps_ListPublicCertificates", + "produces": [ "application/json", - "text/json", - "application/xml", - "text/xml", - "application/x-www-form-urlencoded" + "text/json" + ], + "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/PublicCertificateCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publicCertificates/{publicCertificateName}": { + "get": { + "tags": [ + "WebApps" ], + "summary": "Get the named public certificate for an app (or deployment slot, if specified).", + "description": "Get the named public certificate for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetPublicCertificate", "produces": [ "application/json", "text/json", @@ -4221,13 +4602,11 @@ "type": "string" }, { - "name": "publishingProfileOptions", - "in": "body", - "description": "Specifies publishingProfileOptions for publishing profile. For example, use {\"format\": \"FileZilla3\"} to get a FileZilla publishing profile.", + "name": "publicCertificateName", + "in": "path", + "description": "Public CertificateName", "required": true, - "schema": { - "$ref": "#/definitions/CsmPublishingProfileOptions" - } + "type": "string" }, { "$ref": "#/parameters/subscriptionIdParameter" @@ -4240,25 +4619,21 @@ "200": { "description": "OK", "schema": { - "type": "file" + "$ref": "#/definitions/PublicCertificate" } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover": { - "post": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Recovers a deleted web app.", - "description": "Recovers a deleted web app.", - "operationId": "WebApps_Recover", + "summary": "Creates a hostname binding for an app.", + "description": "Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdatePublicCertificate", "consumes": [ "application/json", "text/json", - "application/xml", - "text/xml", "application/x-www-form-urlencoded" ], "produces": [ @@ -4274,17 +4649,24 @@ { "name": "name", "in": "path", - "description": "Name of web app", + "description": "Name of the app.", "required": true, "type": "string" }, { - "name": "recoveryEntity", + "name": "publicCertificateName", + "in": "path", + "description": "Public certificate name.", + "required": true, + "type": "string" + }, + { + "name": "publicCertificate", "in": "body", - "description": "Snapshot data used for web app recovery. Snapshot information can be obtained by calling GetDeletedSites or GetSiteSnapshots API.", + "description": "Public certificate details. This is the JSON representation of a PublicCertificate object.", "required": true, "schema": { - "$ref": "#/definitions/CsmSiteRecoveryEntity" + "$ref": "#/definitions/PublicCertificate" } }, { @@ -4298,21 +4680,18 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoverResponse" + "$ref": "#/definitions/PublicCertificate" } } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig": { - "post": { + } + }, + "delete": { "tags": [ "WebApps" ], - "summary": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", - "description": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", - "operationId": "WebApps_ResetProductionSlotConfig", + "summary": "Deletes a hostname binding for an app.", + "description": "Deletes a hostname binding for an app.", + "operationId": "WebApps_DeletePublicCertificate", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -4324,6 +4703,13 @@ "required": true, "type": "string" }, + { + "name": "publicCertificateName", + "in": "path", + "description": "Public Certificate Name.", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/subscriptionIdParameter" }, @@ -4333,23 +4719,89 @@ ], "responses": { "200": { - "description": "OK" + "description": "Succesfully deleted hostname binding" + }, + "204": { + "description": "Hostname binding does not exist" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resourceHealthMetadata": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/publishxml": { + "post": { "tags": [ "WebApps" ], - "summary": "Gets the category of ResourceHealthMetadata to use for the given site", - "description": "Gets the category of ResourceHealthMetadata to use for the given site", - "operationId": "WebApps_GetResourceHealthMetadata", - "produces": [ - "application/json", - "text/json", - "application/xml", + "summary": "Gets the publishing profile for an app (or deployment slot, if specified).", + "description": "Gets the publishing profile for an app (or deployment slot, if specified).", + "operationId": "WebApps_ListPublishingProfileXmlWithSecrets", + "consumes": [ + "application/json", + "text/json", + "application/xml", + "text/xml", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "publishingProfileOptions", + "in": "body", + "description": "Specifies publishingProfileOptions for publishing profile. For example, use {\"format\": \"FileZilla3\"} to get a FileZilla publishing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/CsmPublishingProfileOptions" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "file" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/recover": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Recovers a deleted web app.", + "description": "Recovers a deleted web app.", + "operationId": "WebApps_Recover", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", "text/xml" ], "parameters": [ @@ -4363,6 +4815,15 @@ "required": true, "type": "string" }, + { + "name": "recoveryEntity", + "in": "body", + "description": "Snapshot data used for web app recovery. Snapshot information can be obtained by calling GetDeletedSites or GetSiteSnapshots API.", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotRecoveryRequest" + } + }, { "$ref": "#/parameters/subscriptionIdParameter" }, @@ -4374,9 +4835,43 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ResourceHealthMetadata" + "$ref": "#/definitions/RecoverResponse" } } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/resetSlotConfig": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "description": "Resets the configuration settings of the current slot if they were previously modified by calling the API with POST.", + "operationId": "WebApps_ResetProductionSlotConfig", + "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" + } } } }, @@ -6958,17 +7453,19 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy": { "get": { "tags": [ "WebApps" ], - "summary": "Get hostname bindings for an app or a deployment slot.", - "description": "Get hostname bindings for an app or a deployment slot.", - "operationId": "WebApps_ListHostNameBindingsSlot", + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_GetMSDeployStatusSlot", "produces": [ "application/json", - "text/json" + "text/json", + "application/xml", + "text/xml" ], "parameters": [ { @@ -6977,14 +7474,14 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot.", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, @@ -6999,23 +7496,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HostNameBindingCollection" + "$ref": "#/definitions/MSDeployStatus" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}": { - "get": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Get the named hostname binding for an app (or deployment slot, if specified).", - "description": "Get the named hostname binding for an app (or deployment slot, if specified).", - "operationId": "WebApps_GetHostNameBindingSlot", + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_CreateMSDeployOperationSlot", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], "produces": [ "application/json", "text/json", @@ -7029,23 +7526,25 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API the named binding for the production slot.", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, { - "name": "hostName", - "in": "path", - "description": "Hostname in the hostname binding.", + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/MSDeploy" + } }, { "$ref": "#/parameters/subscriptionIdParameter" @@ -7055,26 +7554,26 @@ } ], "responses": { - "200": { - "description": "OK", + "201": { + "description": "Accepted", "schema": { - "$ref": "#/definitions/HostNameBinding" + "$ref": "#/definitions/MSDeployStatus" } + }, + "409": { + "description": "Another deployment is in progress" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log": { + "get": { "tags": [ "WebApps" ], - "summary": "Creates a hostname binding for an app.", - "description": "Creates a hostname binding for an app.", - "operationId": "WebApps_CreateOrUpdateHostNameBindingSlot", - "consumes": [ - "application/json", - "text/json", - "application/x-www-form-urlencoded" - ], + "summary": "Invoke the MSDeploy Log web app extension as pass-through API", + "description": "Invoke the MSDeploy Log web app extension as pass-through API", + "operationId": "WebApps_GetMSDeployLogSlot", "produces": [ "application/json", "text/json", @@ -7088,30 +7587,14 @@ { "name": "name", "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "hostName", - "in": "path", - "description": "Hostname in the hostname binding.", + "description": "Name of web app", "required": true, "type": "string" }, - { - "name": "hostNameBinding", - "in": "body", - "description": "Binding details. This is the JSON representation of a HostNameBinding object.", - "required": true, - "schema": { - "$ref": "#/definitions/HostNameBinding" - } - }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will create a binding for the production slot.", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, @@ -7126,18 +7609,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/HostNameBinding" + "$ref": "#/definitions/MSDeployLog" } } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/functions/admin/token": { + "get": { "tags": [ "WebApps" ], - "summary": "Deletes a hostname binding for an app.", - "description": "Deletes a hostname binding for an app.", - "operationId": "WebApps_DeleteHostNameBindingSlot", + "summary": "Fetch a short lived token that can be exchanged for a master key.", + "description": "Fetch a short lived token that can be exchanged for a master key.", + "operationId": "WebApps_GetFunctionsAdminTokenSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -7145,21 +7636,14 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web 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 binding for the production slot.", - "required": true, - "type": "string" - }, - { - "name": "hostName", - "in": "path", - "description": "Hostname in the hostname binding.", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, @@ -7172,27 +7656,25 @@ ], "responses": { "200": { - "description": "Succesfully deleted hostname binding" - }, - "204": { - "description": "Hostname binding does not exist" + "description": "OK", + "schema": { + "type": "string" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings": { "get": { "tags": [ "WebApps" ], - "summary": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", - "description": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", - "operationId": "WebApps_GetHybridConnectionSlot", + "summary": "Get hostname bindings for an app or a deployment slot.", + "description": "Get hostname bindings for an app or a deployment slot.", + "operationId": "WebApps_ListHostNameBindingsSlot", "produces": [ "application/json", - "text/json", - "application/xml", - "text/xml" + "text/json" ], "parameters": [ { @@ -7201,28 +7683,252 @@ { "name": "name", "in": "path", - "description": "The name of the web app", - "required": true, - "type": "string" - }, - { - "name": "namespaceName", - "in": "path", - "description": "The namespace for this hybrid connection", - "required": true, - "type": "string" - }, - { - "name": "relayName", - "in": "path", - "description": "The relay name for this hybrid connection", + "description": "Name of the app.", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "The name of the slot for the web app.", + "description": "Name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBindingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hostNameBindings/{hostName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Get the named hostname binding for an app (or deployment slot, if specified).", + "description": "Get the named hostname binding for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetHostNameBindingSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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 the named binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Creates a hostname binding for an app.", + "description": "Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdateHostNameBindingSlot", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "name": "hostNameBinding", + "in": "body", + "description": "Binding details. This is the JSON representation of a HostNameBinding object.", + "required": true, + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will create a binding for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HostNameBinding" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Deletes a hostname binding for an app.", + "description": "Deletes a hostname binding for an app.", + "operationId": "WebApps_DeleteHostNameBindingSlot", + "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 binding for the production slot.", + "required": true, + "type": "string" + }, + { + "name": "hostName", + "in": "path", + "description": "Hostname in the hostname binding.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Succesfully deleted hostname binding" + }, + "204": { + "description": "Hostname binding does not exist" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/hybridConnectionNamespaces/{namespaceName}/relays/{relayName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "description": "Retrieves a specific Service Bus Hybrid Connection used by this Web App.", + "operationId": "WebApps_GetHybridConnectionSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "The name of the web app", + "required": true, + "type": "string" + }, + { + "name": "namespaceName", + "in": "path", + "description": "The namespace for this hybrid connection", + "required": true, + "type": "string" + }, + { + "name": "relayName", + "in": "path", + "description": "The relay name for this hybrid connection", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "The name of the slot for the web app.", "required": true, "type": "string" }, @@ -8149,14 +8855,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy": { + "get": { "tags": [ "WebApps" ], - "summary": "Shows whether an app can be cloned to another resource group or subscription.", - "description": "Shows whether an app can be cloned to another resource group or subscription.", - "operationId": "WebApps_IsCloneableSlot", + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_GetInstanceMsDeployStatusSlot", "produces": [ "application/json", "text/json", @@ -8170,14 +8876,21 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. By default, this API returns information on the production slot.", + "description": "Name of web app slot. If not specified then will default to production slot.", + "required": true, + "type": "string" + }, + { + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", "required": true, "type": "string" }, @@ -8192,11 +8905,187 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SiteCloneability" + "$ref": "#/definitions/MSDeployStatus" } } } - } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy web app extension as pass-through API", + "description": "Invoke the MSDeploy web app extension as pass-through API", + "operationId": "WebApps_CreateInstanceMSDeployOperationSlot", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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" + }, + { + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", + "required": true, + "type": "string" + }, + { + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", + "required": true, + "schema": { + "$ref": "#/definitions/MSDeploy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Invoke the MSDeploy Log web app extension as pass-through API", + "description": "Invoke the MSDeploy Log web app extension as pass-through API", + "operationId": "WebApps_GetInstanceMSDeployLogSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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" + }, + { + "name": "instanceId", + "in": "path", + "description": "Id of web app instance", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MSDeployLog" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable": { + "post": { + "tags": [ + "WebApps" + ], + "summary": "Shows whether an app can be cloned to another resource group or subscription.", + "description": "Shows whether an app can be cloned to another resource group or subscription.", + "operationId": "WebApps_IsCloneableSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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. By default, this API returns information on the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SiteCloneability" + } + } + } + } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/metricdefinitions": { "get": { @@ -8603,7 +9492,7 @@ { "name": "slot", "in": "path", - "description": "Name of web app slot. If not specified then will default to production slot. **** CURRENTLY UNUSED *****", + "description": "Name of web app slot. If not specified then will default to production slot.", "required": true, "type": "string" }, @@ -8655,14 +9544,235 @@ { "name": "name", "in": "path", - "description": "Name of web app", + "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": "#/definitions/SitePhpErrorLogFlag" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets the premier add-ons of an app.", + "description": "Gets the premier add-ons of an app.", + "operationId": "WebApps_ListPremierAddOnsSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "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 the premier add-ons for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}": { + "get": { + "tags": [ + "WebApps" + ], + "summary": "Gets a named add-on of an app.", + "description": "Gets a named add-on of an app.", + "operationId": "WebApps_GetPremierAddOnSlot", + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will get the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + } + } + }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Updates a named add-on of an app.", + "description": "Updates a named add-on of an app.", + "operationId": "WebApps_AddPremierAddOnSlot", + "consumes": [ + "application/json", + "text/json", + "application/x-www-form-urlencoded" + ], + "produces": [ + "application/json", + "text/json", + "application/xml", + "text/xml" + ], + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOn", + "in": "body", + "description": "A JSON representation of the edited premier add-on.", + "required": true, + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will update the named add-on for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PremierAddOn" + } + } + } + }, + "delete": { + "tags": [ + "WebApps" + ], + "summary": "Delete a premier add-on from an app.", + "description": "Delete a premier add-on from an app.", + "operationId": "WebApps_DeletePremierAddOnSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "premierAddOnName", + "in": "path", + "description": "Add-on name.", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of web app slot. If not specified then will default to production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the named add-on for the production slot.", "required": true, "type": "string" }, @@ -8675,27 +9785,22 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SitePhpErrorLogFlag" - } + "description": "Succesfully deleted premier add-on." } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates": { "get": { "tags": [ "WebApps" ], - "summary": "Gets the premier add-ons of an app.", - "description": "Gets the premier add-ons of an app.", - "operationId": "WebApps_ListPremierAddOnsSlot", + "summary": "Get public certificates for an app or a deployment slot.", + "description": "Get public certificates for an app or a deployment slot.", + "operationId": "WebApps_ListPublicCertificatesSlot", "produces": [ "application/json", - "text/json", - "application/xml", - "text/xml" + "text/json" ], "parameters": [ { @@ -8711,7 +9816,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will get the premier add-ons for the production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API gets hostname bindings for the production slot.", "required": true, "type": "string" }, @@ -8726,20 +9831,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PremierAddOn" + "$ref": "#/definitions/PublicCertificateCollection" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/premieraddons/{premierAddOnName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/publicCertificates/{publicCertificateName}": { "get": { "tags": [ "WebApps" ], - "summary": "Gets a named add-on of an app.", - "description": "Gets a named add-on of an app.", - "operationId": "WebApps_GetPremierAddOnSlot", + "summary": "Get the named public certificate for an app (or deployment slot, if specified).", + "description": "Get the named public certificate for an app (or deployment slot, if specified).", + "operationId": "WebApps_GetPublicCertificateSlot", "produces": [ "application/json", "text/json", @@ -8758,16 +9866,16 @@ "type": "string" }, { - "name": "premierAddOnName", + "name": "slot", "in": "path", - "description": "Add-on name.", + "description": "Name of the deployment slot. If a slot is not specified, the API the named binding for the production slot.", "required": true, "type": "string" }, { - "name": "slot", + "name": "publicCertificateName", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will get the named add-on for the production slot.", + "description": "Public CertificateName", "required": true, "type": "string" }, @@ -8782,7 +9890,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PremierAddOn" + "$ref": "#/definitions/PublicCertificate" } } } @@ -8791,9 +9899,9 @@ "tags": [ "WebApps" ], - "summary": "Updates a named add-on of an app.", - "description": "Updates a named add-on of an app.", - "operationId": "WebApps_AddPremierAddOnSlot", + "summary": "Creates a hostname binding for an app.", + "description": "Creates a hostname binding for an app.", + "operationId": "WebApps_CreateOrUpdatePublicCertificateSlot", "consumes": [ "application/json", "text/json", @@ -8817,25 +9925,25 @@ "type": "string" }, { - "name": "premierAddOnName", + "name": "publicCertificateName", "in": "path", - "description": "Add-on name.", + "description": "Public certificate name.", "required": true, "type": "string" }, { - "name": "premierAddOn", + "name": "publicCertificate", "in": "body", - "description": "A JSON representation of the edited premier add-on.", + "description": "Public certificate details. This is the JSON representation of a PublicCertificate object.", "required": true, "schema": { - "$ref": "#/definitions/PremierAddOn" + "$ref": "#/definitions/PublicCertificate" } }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will update the named add-on for the production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API will create a binding for the production slot.", "required": true, "type": "string" }, @@ -8850,7 +9958,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PremierAddOn" + "$ref": "#/definitions/PublicCertificate" } } } @@ -8859,9 +9967,9 @@ "tags": [ "WebApps" ], - "summary": "Delete a premier add-on from an app.", - "description": "Delete a premier add-on from an app.", - "operationId": "WebApps_DeletePremierAddOnSlot", + "summary": "Deletes a hostname binding for an app.", + "description": "Deletes a hostname binding for an app.", + "operationId": "WebApps_DeletePublicCertificateSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -8874,16 +9982,16 @@ "type": "string" }, { - "name": "premierAddOnName", + "name": "slot", "in": "path", - "description": "Add-on name.", + "description": "Name of the deployment slot. If a slot is not specified, the API will delete the binding for the production slot.", "required": true, "type": "string" }, { - "name": "slot", + "name": "publicCertificateName", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will delete the named add-on for the production slot.", + "description": "Public Certificate Name.", "required": true, "type": "string" }, @@ -8896,7 +10004,10 @@ ], "responses": { "200": { - "description": "Succesfully deleted premier add-on." + "description": "Succesfully deleted hostname binding" + }, + "204": { + "description": "Hostname binding does not exist" } } } @@ -8977,8 +10088,6 @@ "consumes": [ "application/json", "text/json", - "application/xml", - "text/xml", "application/x-www-form-urlencoded" ], "produces": [ @@ -9004,7 +10113,7 @@ "description": "Snapshot data used for web app recovery. Snapshot information can be obtained by calling GetDeletedSites or GetSiteSnapshots API.", "required": true, "schema": { - "$ref": "#/definitions/CsmSiteRecoveryEntity" + "$ref": "#/definitions/SnapshotRecoveryRequest" } }, { @@ -9072,55 +10181,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/resourceHealthMetadata": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Gets the category of ResourceHealthMetadata to use for the given site", - "description": "Gets the category of ResourceHealthMetadata to use for the given site", - "operationId": "WebApps_GetResourceHealthMetadataSlot", - "produces": [ - "application/json", - "text/json", - "application/xml", - "text/xml" - ], - "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": "#/definitions/ResourceHealthMetadata" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/restart": { "post": { "tags": [ @@ -9624,8 +10684,8 @@ } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "Successfully sync sourcecontrol." } } } @@ -10623,8 +11683,8 @@ } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "Successfully sync sourcecontrol." } } } @@ -11530,7 +12590,8 @@ "enum": [ "Default", "Clone", - "Relocation" + "Relocation", + "Snapshot" ], "type": "string", "x-ms-enum": { @@ -11773,25 +12834,6 @@ } } }, - "CsmSiteRecoveryEntity": { - "description": "Details about app recovery operation.", - "type": "object", - "properties": { - "snapshotTime": { - "format": "date-time", - "description": "Point in time in which the app recovery should be attempted.", - "type": "string" - }, - "siteName": { - "description": "[Optional] Destination app name into which app should be recovered. This is case when new app should be created instead.", - "type": "string" - }, - "slotName": { - "description": "[Optional] Destination app slot name into which app should be recovered.", - "type": "string" - } - } - }, "CsmSlotEntity": { "description": "Deployment slot parameters.", "required": [ @@ -12086,6 +13128,14 @@ "description": "Body of the error response returned from the API.", "type": "object", "properties": { + "code": { + "description": "Basic error code.", + "type": "string" + }, + "message": { + "description": "Any details of the error.", + "type": "string" + }, "extendedCode": { "description": "Type of error.", "type": "string" @@ -12107,14 +13157,6 @@ "items": { "$ref": "#/definitions/ErrorEntity" } - }, - "code": { - "description": "Basic error code.", - "type": "string" - }, - "message": { - "description": "Any details of the error.", - "type": "string" } } }, @@ -12474,6 +13516,10 @@ "sendKeyValue": { "description": "The value of the Service Bus key. This is used to authenticate to Service Bus. In ARM this key will not be returned\n normally, use the POST /listKeys API instead.", "type": "string" + }, + "serviceBusSuffix": { + "description": "The suffix for the service bus endpoint. By default this is .servicebus.windows.net", + "type": "string" } }, "x-ms-client-flatten": true @@ -12507,75 +13553,259 @@ } } }, - "Identifier": { - "description": "Identifier.", + "Identifier": { + "description": "Identifier.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Identifier resource specific properties", + "properties": { + "id": { + "description": "ID.", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "IdentifierCollection": { + "description": "Collection of identifiers.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Identifier" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string" + } + } + }, + "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" + } + } + }, + "LocalizableString": { + "description": "Localizable string object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "Non-localized name.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name.", + "type": "string" + } + } + }, + "MSDeploy": { + "description": "MSDeploy ARM PUT information", + "type": "object", + "properties": { + "addOnPackages": { + "description": "List of Add-On packages. Add-On packages implicitly enable the Do Not Delete MSDeploy rule.", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployCore" + } + }, + "packageUri": { + "description": "Package URI", + "type": "string" + }, + "connectionString": { + "description": "SQL Connection String", + "type": "string" + }, + "dbType": { + "description": "Database Type", + "type": "string" + }, + "setParametersXmlFileUri": { + "description": "URI of MSDeploy Parameters file. Must not be set if SetParameters is used.", + "type": "string" + }, + "setParameters": { + "description": "MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used.", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployParameterEntry" + } + }, + "skipAppData": { + "description": "Controls whether the MSDeploy operation skips the AppData directory. If set to true, the existing AppData directory on the destination will not be deleted and overwritten.", + "type": "boolean" + }, + "appOffline": { + "description": "Sets the AppOffline rule while the MSDeploy operation executes.", + "type": "boolean" + } + } + }, + "MSDeployCore": { + "description": "MSDeploy ARM PUT core information", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { - "properties": { - "description": "Identifier resource specific properties", - "properties": { - "id": { - "description": "ID.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "packageUri": { + "description": "Package URI", + "type": "string" + }, + "connectionString": { + "description": "SQL Connection String", + "type": "string" + }, + "dbType": { + "description": "Database Type", + "type": "string" + }, + "setParametersXmlFileUri": { + "description": "URI of MSDeploy Parameters file. Must not be set if SetParameters is used.", + "type": "string" + }, + "setParameters": { + "description": "MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used.", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployParameterEntry" + } + }, + "skipAppData": { + "description": "Controls whether the MSDeploy operation skips the AppData directory. If set to true, the existing AppData directory on the destination will not be deleted and overwritten.", + "type": "boolean" + }, + "appOffline": { + "description": "Sets the AppOffline rule while the MSDeploy operation executes.", + "type": "boolean" } } }, - "IdentifierCollection": { - "description": "Collection of identifiers.", - "required": [ - "value" - ], + "MSDeployLog": { + "description": "MSDeploy log", "type": "object", "properties": { - "value": { - "description": "Collection of resources.", + "entries": { + "description": "List of log entry messages", "type": "array", "items": { - "$ref": "#/definitions/Identifier" + "$ref": "#/definitions/MSDeployLogEntry" + }, + "readOnly": true + } + } + }, + "MSDeployLogEntry": { + "description": "MSDeploy log entry", + "type": "object", + "properties": { + "time": { + "format": "date-time", + "description": "Timestamp of log entry", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Log entry type", + "enum": [ + "Message", + "Warning", + "Error" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MSDeployLogEntryType", + "modelAsString": false } }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string" + "message": { + "description": "Log entry message", + "type": "string", + "readOnly": true } } }, - "IpSecurityRestriction": { - "description": "IP security restriction on an app.", - "required": [ - "ipAddress" - ], + "MSDeployParameterEntry": { + "description": "MSDeploy ARM PUT core information", "type": "object", "properties": { - "ipAddress": { - "description": "IP address the security restriction is valid for.", + "name": { + "description": "Parameter name", "type": "string" }, - "subnetMask": { - "description": "Subnet mask for the range of IP addresses the restriction is valid for.", + "value": { + "description": "Parameter value", "type": "string" } } }, - "LocalizableString": { - "description": "Localizable string object containing the name and a localized value.", + "MSDeployStatus": { + "description": "MSDeploy ARM response", "type": "object", "properties": { - "value": { - "description": "Non-localized name.", - "type": "string" + "deployer": { + "description": "Username of deployer", + "type": "string", + "readOnly": true }, - "localizedValue": { - "description": "Localized name.", - "type": "string" + "provisioningState": { + "description": "Provisioning state", + "enum": [ + "accepted", + "running", + "succeeded", + "failed", + "canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MSDeployProvisioningState", + "modelAsString": false + } + }, + "startTime": { + "format": "date-time", + "description": "Start time of deploy operation", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "End time of deploy operation", + "type": "string", + "readOnly": true + }, + "complete": { + "description": "Whether the deployment operation has completed", + "type": "boolean", + "readOnly": true } } }, @@ -12591,12 +13821,25 @@ "properties": { "description": "MigrateMySqlRequest resource specific properties", "required": [ - "connectionString" + "connectionString", + "migrationType" ], "properties": { "connectionString": { - "description": "Connection string to the remote MySQL database to which data should be migrated.", + "description": "Connection string to the remote MySQL database.", "type": "string" + }, + "migrationType": { + "description": "The type of migration operation to be done", + "enum": [ + "LocalToRemote", + "RemoteToLocal" + ], + "type": "string", + "x-ms-enum": { + "name": "MySqlMigrationType", + "modelAsString": false + } } }, "x-ms-client-flatten": true @@ -12813,6 +14056,11 @@ "format": "double", "description": "Value of counter at a certain time.", "type": "number" + }, + "coreCount": { + "format": "int32", + "description": "Core Count of worker. Not a data member", + "type": "integer" } } }, @@ -12900,6 +14148,65 @@ } } }, + "PublicCertificate": { + "description": "Public certificate object", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "PublicCertificate resource specific properties", + "properties": { + "blob": { + "description": "Public Certificate byte array", + "type": "string" + }, + "publicCertificateLocation": { + "description": "Public Certificate Location", + "enum": [ + "CurrentUserMy", + "LocalMachineMy", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicCertificateLocation", + "modelAsString": false + } + }, + "thumbprint": { + "description": "Certificate Thumbprint", + "type": "string", + "readOnly": true + } + }, + "x-ms-client-flatten": true + } + } + }, + "PublicCertificateCollection": { + "description": "Collection of public certificates", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PublicCertificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string" + } + } + }, "PushSettings": { "description": "Push settings for the App.", "required": [ @@ -13077,38 +14384,39 @@ "additionalProperties": { "type": "string" } - } - }, - "x-ms-azure-resource": true - }, - "ResourceHealthMetadata": { - "description": "Used for getting ResourceHealthCheck settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "description": "ResourceHealthMetadata resource specific properties", + }, + "identity": { + "description": "Managed service identity.", + "type": "object", "properties": { - "id": { - "description": "ARM Resource Id", - "type": "string" + "type": { + "description": "Type of managed service identity.", + "enum": [ + "SystemAssigned" + ], + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } }, - "category": { - "description": "The category that the resource matches in the RHC Policy File", - "type": "string" + "tenantId": { + "description": "Tenant of managed service identity.", + "type": "string", + "x-ms-mutability": [ + "read" + ] }, - "signalAvailability": { - "description": "Is there a health signal for the resource", - "type": "boolean" + "principalId": { + "description": "Principal Id of managed service identity.", + "type": "string", + "x-ms-mutability": [ + "read" + ] } - }, - "x-ms-client-flatten": true + } } - } + }, + "x-ms-azure-resource": true }, "ResourceMetric": { "description": "Object representing a metric for any resource .", @@ -13406,13 +14714,19 @@ "default": false, "type": "boolean" }, + "ignoreDatabases": { + "description": "Ignore the databases and only restore the site content", + "default": false, + "type": "boolean" + }, "operationType": { "description": "Operation type.", "default": "Default", "enum": [ "Default", "Clone", - "Relocation" + "Relocation", + "Snapshot" ], "type": "string", "x-ms-enum": { @@ -13562,11 +14876,6 @@ }, "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, @@ -13585,23 +14894,6 @@ "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" @@ -13615,7 +14907,12 @@ "type": "boolean" }, "outboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Read-only.", + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.", + "type": "string", + "readOnly": true + }, + "possibleOutboundIpAddresses": { + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only.", "type": "string", "readOnly": true }, @@ -14561,6 +15858,57 @@ } } }, + "SnapshotRecoveryRequest": { + "description": "Details about app recovery operation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "SnapshotRecoveryRequest resource specific properties", + "required": [ + "overwrite" + ], + "properties": { + "snapshotTime": { + "format": "date-time", + "description": "Point in time in which the app recovery should be attempted.", + "type": "string" + }, + "recoveryTarget": { + "$ref": "#/definitions/SnapshotRecoveryTarget", + "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.", + "type": "boolean" + }, + "recoverConfiguration": { + "description": "Site configuration, in addition to content, will be reverted if this is true.", + "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", @@ -14971,4 +16319,4 @@ ] } ] -} +} \ No newline at end of file From 549a9de920ccc1712564b206c25caeef471fe72e Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Wed, 26 Jul 2017 11:09:34 -0700 Subject: [PATCH 02/10] Revert resource definition changes and description change for site properties --- .../Microsoft.Web/2016-08-01/WebApps.json | 40 +------------------ 1 file changed, 2 insertions(+), 38 deletions(-) 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 ebc4c78a4f5d..1b60cf8fb6a5 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 @@ -14384,39 +14384,8 @@ "additionalProperties": { "type": "string" } - }, - "identity": { - "description": "Managed service identity.", - "type": "object", - "properties": { - "type": { - "description": "Type of managed service identity.", - "enum": [ - "SystemAssigned" - ], - "x-ms-enum": { - "name": "ManagedServiceIdentityType", - "modelAsString": true - } - }, - "tenantId": { - "description": "Tenant of managed service identity.", - "type": "string", - "x-ms-mutability": [ - "read" - ] - }, - "principalId": { - "description": "Principal Id of managed service identity.", - "type": "string", - "x-ms-mutability": [ - "read" - ] - } - } } - }, - "x-ms-azure-resource": true + } }, "ResourceMetric": { "description": "Object representing a metric for any resource .", @@ -14907,12 +14876,7 @@ "type": "boolean" }, "outboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from tenants that site can be hosted with current settings. Read-only.", - "type": "string", - "readOnly": true - }, - "possibleOutboundIpAddresses": { - "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Includes VIPs from all tenants. Read-only.", + "description": "List of IP addresses that the app uses for outbound connections (e.g. database access). Read-only.", "type": "string", "readOnly": true }, From ba5ad4f616b9707df83d3c6c880bedf6186ab084 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Fri, 28 Jul 2017 11:29:42 -0700 Subject: [PATCH 03/10] Make type and name readonly properties. Add ARM envelope to MSDeployStatus object --- .../2016-03-01/Certificates.json | 6 +- .../2016-03-01/DeletedWebApps.json | 6 +- .../2016-03-01/ResourceProvider.json | 6 +- .../Microsoft.Web/2016-08-01/WebApps.json | 91 +++++++++++-------- .../2016-09-01/AppServiceEnvironments.json | 6 +- .../2016-09-01/AppServicePlans.json | 6 +- 6 files changed, 72 insertions(+), 49 deletions(-) diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json index 1393e3cc306d..fdcd383d3d1e 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json @@ -462,7 +462,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -474,7 +475,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", 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 fdec627cdef5..791aae74bc72 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 @@ -744,7 +744,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -756,7 +757,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json index adffaa9e633d..66f315d478e6 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json @@ -662,7 +662,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -674,7 +675,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string, + "readOnly": true }, "tags": { "description": "Resource tags.", 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 1b60cf8fb6a5..00fca00164ad 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 @@ -13768,44 +13768,55 @@ "MSDeployStatus": { "description": "MSDeploy ARM response", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "deployer": { - "description": "Username of deployer", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "Provisioning state", - "enum": [ - "accepted", - "running", - "succeeded", - "failed", - "canceled" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "MSDeployProvisioningState", - "modelAsString": false - } - }, - "startTime": { - "format": "date-time", - "description": "Start time of deploy operation", - "type": "string", - "readOnly": true - }, - "endTime": { - "format": "date-time", - "description": "End time of deploy operation", - "type": "string", - "readOnly": true - }, - "complete": { - "description": "Whether the deployment operation has completed", - "type": "boolean", - "readOnly": true + "properties": { + "description": "MSDeployStatus resource specific properties", + "properties": { + "deployer": { + "description": "Username of deployer", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state", + "enum": [ + "accepted", + "running", + "succeeded", + "failed", + "canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MSDeployProvisioningState", + "modelAsString": false + } + }, + "startTime": { + "format": "date-time", + "description": "Start time of deploy operation", + "type": "string", + "readOnly": true + }, + "endTime": { + "format": "date-time", + "description": "End time of deploy operation", + "type": "string", + "readOnly": true + }, + "complete": { + "description": "Whether the deployment operation has completed", + "type": "boolean", + "readOnly": true + } + }, + "x-ms-client-flatten": true } } }, @@ -14364,7 +14375,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -14376,7 +14388,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", 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 3aeba06f6886..7e97521e5654 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 @@ -2943,7 +2943,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -2955,7 +2956,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", 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 417f1c1e8f46..cc9990895ed2 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 @@ -2049,7 +2049,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -2061,7 +2062,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", From a82a87c2c45d2cad7e069d23d4a031f721c7baaa Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Fri, 28 Jul 2017 11:45:24 -0700 Subject: [PATCH 04/10] Fix missing quotation issue. --- .../Microsoft.Web/2016-03-01/ResourceProvider.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json index 66f315d478e6..2382b1b69851 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json @@ -675,7 +675,7 @@ }, "type": { "description": "Resource type.", - "type": "string, + "type": "string", "readOnly": true }, "tags": { From e0fd751642b9a751070cd646dc7570f72a41dda1 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Fri, 28 Jul 2017 16:30:33 -0700 Subject: [PATCH 05/10] Add long running operation to MS deploy --- .../Microsoft.Web/2016-08-01/WebApps.json | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) 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 00fca00164ad..70a81e865d99 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 @@ -2450,7 +2450,7 @@ ], "responses": { "201": { - "description": "Accepted", + "description": "Deployment is scheduled", "schema": { "$ref": "#/definitions/MSDeployStatus" } @@ -2458,7 +2458,8 @@ "409": { "description": "Another deployment is in progress" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/extensions/MSDeploy/log": { @@ -3698,7 +3699,7 @@ ], "responses": { "201": { - "description": "Accepted", + "description": "Deployment is scheduled", "schema": { "$ref": "#/definitions/MSDeployStatus" } @@ -3706,7 +3707,8 @@ "409": { "description": "Another deployment is in progress" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log": { @@ -7555,7 +7557,7 @@ ], "responses": { "201": { - "description": "Accepted", + "description": "Deployment is scheduled", "schema": { "$ref": "#/definitions/MSDeployStatus" } @@ -7563,7 +7565,8 @@ "409": { "description": "Another deployment is in progress" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/extensions/MSDeploy/log": { @@ -8971,7 +8974,7 @@ ], "responses": { "201": { - "description": "Accepted", + "description": "Deployment is scheduled", "schema": { "$ref": "#/definitions/MSDeployStatus" } @@ -8979,7 +8982,8 @@ "409": { "description": "Another deployment is in progress" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy/log": { From 4dab1f8d9b3b276d9cf5ba0bfd1250951b53ecbe Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Mon, 7 Aug 2017 11:55:50 -0700 Subject: [PATCH 06/10] Make MsDeploy and MsDeployLog Azure resources --- .../Microsoft.Web/2016-08-01/WebApps.json | 77 ++++++++----------- 1 file changed, 34 insertions(+), 43 deletions(-) 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 70a81e865d99..c296fa02abb5 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 @@ -13632,44 +13632,24 @@ "MSDeploy": { "description": "MSDeploy ARM PUT information", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "addOnPackages": { - "description": "List of Add-On packages. Add-On packages implicitly enable the Do Not Delete MSDeploy rule.", - "type": "array", - "items": { - "$ref": "#/definitions/MSDeployCore" - } - }, - "packageUri": { - "description": "Package URI", - "type": "string" - }, - "connectionString": { - "description": "SQL Connection String", - "type": "string" - }, - "dbType": { - "description": "Database Type", - "type": "string" - }, - "setParametersXmlFileUri": { - "description": "URI of MSDeploy Parameters file. Must not be set if SetParameters is used.", - "type": "string" - }, - "setParameters": { - "description": "MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used.", - "type": "array", - "items": { - "$ref": "#/definitions/MSDeployParameterEntry" - } - }, - "skipAppData": { - "description": "Controls whether the MSDeploy operation skips the AppData directory. If set to true, the existing AppData directory on the destination will not be deleted and overwritten.", - "type": "boolean" - }, - "appOffline": { - "description": "Sets the AppOffline rule while the MSDeploy operation executes.", - "type": "boolean" + "properties": { + "$ref": "#/definitions/MSDeployCore", + "properties": { + "addOnPackages": { + "description": "List of Add-On packages. Add-On packages implicitly enable the Do Not Delete MSDeploy rule.", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployCore" + } + } + }, + "x-ms-client-flatten": true } } }, @@ -13713,14 +13693,25 @@ "MSDeployLog": { "description": "MSDeploy log", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "entries": { - "description": "List of log entry messages", - "type": "array", - "items": { - "$ref": "#/definitions/MSDeployLogEntry" + "properties": { + "description": "MSDeployLog resource specific properties", + "properties": { + "entries": { + "description": "List of log entry messages", + "type": "array", + "items": { + "$ref": "#/definitions/MSDeployLogEntry" + }, + "readOnly": true + } }, - "readOnly": true + "x-ms-client-flatten": true } } }, From d4abb2fda133457c43c0bfc3c89517a50bf3eb66 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Mon, 7 Aug 2017 18:50:22 -0700 Subject: [PATCH 07/10] Fix some AutoRest validation issues. Use dictionary for msdeploy.setparameters --- .../Microsoft.Web/2016-08-01/WebApps.json | 259 ++++++++++-------- 1 file changed, 145 insertions(+), 114 deletions(-) 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 c296fa02abb5..de2febd66ccc 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 @@ -12383,7 +12383,7 @@ "type": "integer" }, "enabled": { - "description": "Enabled.", + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", "type": "boolean" } } @@ -12421,7 +12421,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -12554,7 +12554,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -12792,7 +12792,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -12910,7 +12910,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13035,7 +13035,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13043,7 +13043,7 @@ "description": "Deployment resource specific properties", "properties": { "id": { - "description": "ID.", + "description": "Identifier for deployment.", "type": "string", "x-ms-mutability": [ "create", @@ -13052,19 +13052,19 @@ }, "status": { "format": "int32", - "description": "Status.", + "description": "Deployment status.", "type": "integer" }, "message": { - "description": "Message.", + "description": "Details about deployment status.", "type": "string" }, "author": { - "description": "Author.", + "description": "Who authored the deployment.", "type": "string" }, "deployer": { - "description": "Deployer.", + "description": "Who performed the deployment.", "type": "string" }, "authorEmail": { @@ -13086,11 +13086,11 @@ "type": "string" }, "active": { - "description": "Active.", + "description": "True if deployment is currently active, false if completed and null if not started.", "type": "boolean" }, "details": { - "description": "Detail.", + "description": "Details on deployment.", "type": "string" } }, @@ -13123,7 +13123,7 @@ "type": "object", "properties": { "enabled": { - "description": "Enabled.", + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", "type": "boolean" } } @@ -13216,7 +13216,7 @@ "type": "integer" }, "enabled": { - "description": "Enabled.", + "description": "True if configuration is enabled, false if it is disabled and null if configuration is not set.", "type": "boolean" } } @@ -13244,7 +13244,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13362,9 +13362,7 @@ "virtualIP": { "description": "Virtual IP address assigned to the hostname if IP based SSL is enabled.", "type": "string", - "x-ms-mutability": [ - "read" - ] + "readOnly": true } }, "x-ms-client-flatten": true @@ -13477,7 +13475,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13535,7 +13533,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13562,7 +13560,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13570,7 +13568,7 @@ "description": "Identifier resource specific properties", "properties": { "id": { - "description": "ID.", + "description": "String representation of the identity.", "type": "string" } }, @@ -13634,7 +13632,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13675,9 +13673,9 @@ }, "setParameters": { "description": "MSDeploy Parameters. Must not be set if SetParametersXmlFileUri is used.", - "type": "array", - "items": { - "$ref": "#/definitions/MSDeployParameterEntry" + "type": "object", + "additionalProperties": { + "type": "string" } }, "skipAppData": { @@ -13695,7 +13693,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13746,26 +13744,12 @@ } } }, - "MSDeployParameterEntry": { - "description": "MSDeploy ARM PUT core information", - "type": "object", - "properties": { - "name": { - "description": "Parameter name", - "type": "string" - }, - "value": { - "description": "Parameter value", - "type": "string" - } - } - }, "MSDeployStatus": { "description": "MSDeploy ARM response", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13820,7 +13804,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13857,7 +13841,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -13914,7 +13898,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14154,12 +14138,37 @@ } } }, + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Kind of resource.", + "type": "string" + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, "PublicCertificate": { "description": "Public certificate object", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14215,26 +14224,37 @@ }, "PushSettings": { "description": "Push settings for the App.", - "required": [ - "isPushEnabled" - ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], "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" + "properties": { + "description": "PushSettings resource specific properties", + "required": [ + "isPushEnabled" + ], + "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" + } + }, + "x-ms-client-flatten": true } } }, @@ -14308,7 +14328,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14495,7 +14515,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14652,7 +14672,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14729,7 +14749,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -14947,7 +14967,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15392,7 +15412,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15427,7 +15447,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15456,7 +15476,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15499,7 +15519,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15554,7 +15574,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15587,7 +15607,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15664,7 +15684,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15679,7 +15699,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15792,7 +15812,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15835,7 +15855,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15916,7 +15936,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15967,7 +15987,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -15989,7 +16009,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -16008,7 +16028,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -16091,7 +16111,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -16125,36 +16145,47 @@ "VnetInfo": { "description": "Virtual Network information contract.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], "properties": { - "vnetResourceId": { - "description": "The Virtual Network's resource ID.", - "type": "string" - }, - "certThumbprint": { - "description": "The client certificate thumbprint.", - "type": "string", - "readOnly": true - }, - "certBlob": { - "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \n Point-To-Site VPN connection.", - "type": "string" - }, - "routes": { - "description": "The routes that this Virtual Network connection uses.", - "type": "array", - "items": { - "$ref": "#/definitions/VnetRoute" + "properties": { + "description": "VnetInfo resource specific properties", + "properties": { + "vnetResourceId": { + "description": "The Virtual Network's resource ID.", + "type": "string" + }, + "certThumbprint": { + "description": "The client certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "certBlob": { + "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \n Point-To-Site VPN connection.", + "type": "string" + }, + "routes": { + "description": "The routes that this Virtual Network connection uses.", + "type": "array", + "items": { + "$ref": "#/definitions/VnetRoute" + }, + "readOnly": true + }, + "resyncRequired": { + "description": "true if a resync is required; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "dnsServers": { + "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", + "type": "string" + } }, - "readOnly": true - }, - "resyncRequired": { - "description": "true if a resync is required; otherwise, false.", - "type": "boolean", - "readOnly": true - }, - "dnsServers": { - "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", - "type": "string" + "x-ms-client-flatten": true } } }, @@ -16163,7 +16194,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { From b47c0d52423577a7dfd9132362dbb3ffec98cba1 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Mon, 7 Aug 2017 19:20:19 -0700 Subject: [PATCH 08/10] Ensure models are same across all schemas in Microsoft.Web --- .../web/resource-manager/Microsoft.Web/2016-08-01/WebApps.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 de2febd66ccc..b42d5817bc58 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 @@ -14378,7 +14378,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], From 26c40f9a3c9a73255f4054f984024debddff9b3e Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Mon, 7 Aug 2017 19:30:28 -0700 Subject: [PATCH 09/10] Fix azure resource type across all models --- .../AppServiceCertificateOrders.json | 35 ++- .../2015-04-01/Domains.json | 8 +- .../2015-04-01/TopLevelDomains.json | 26 +-- .../2016-03-01/Certificates.json | 2 +- .../2016-03-01/DeletedWebApps.json | 2 +- .../Microsoft.Web/2016-03-01/Provider.json | 216 ++++++++++++++++++ .../2016-03-01/ResourceProvider.json | 26 +-- .../2016-09-01/AppServiceEnvironments.json | 80 +++++-- .../2016-09-01/AppServicePlans.json | 151 +++++++----- 9 files changed, 424 insertions(+), 122 deletions(-) diff --git a/specification/web/resource-manager/Microsoft.CertificateRegistration/2015-08-01/AppServiceCertificateOrders.json b/specification/web/resource-manager/Microsoft.CertificateRegistration/2015-08-01/AppServiceCertificateOrders.json index 990bcc5ff39f..8cf78faf1edc 100644 --- a/specification/web/resource-manager/Microsoft.CertificateRegistration/2015-08-01/AppServiceCertificateOrders.json +++ b/specification/web/resource-manager/Microsoft.CertificateRegistration/2015-08-01/AppServiceCertificateOrders.json @@ -1152,7 +1152,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -1229,6 +1229,31 @@ } } }, + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", + "properties": { + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "Kind of resource.", + "type": "string" + }, + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, "ReissueCertificateOrderRequest": { "description": "Class representing certificate reissue request.", "type": "object", @@ -1295,7 +1320,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], @@ -1307,7 +1332,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -1319,7 +1345,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/Domains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/Domains.json index 1661c24ac9fd..c2bdfeea7da9 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/Domains.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/Domains.json @@ -1129,7 +1129,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], @@ -1141,7 +1141,8 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", @@ -1153,7 +1154,8 @@ }, "type": { "description": "Resource type.", - "type": "string" + "type": "string", + "readOnly": true }, "tags": { "description": "Resource tags.", diff --git a/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/TopLevelDomains.json b/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/TopLevelDomains.json index c256e40f01e3..55ac48d6e6c4 100644 --- a/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/TopLevelDomains.json +++ b/specification/web/resource-manager/Microsoft.DomainRegistration/2015-04-01/TopLevelDomains.json @@ -139,11 +139,8 @@ } }, "definitions": { - "Resource": { - "description": "Azure resource.", - "required": [ - "location" - ], + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", "properties": { "id": { "description": "Resource Id.", @@ -152,26 +149,17 @@ }, "name": { "description": "Resource Name.", - "type": "string" + "type": "string", + "readOnly": true }, "kind": { "description": "Kind of resource.", "type": "string" }, - "location": { - "description": "Resource Location.", - "type": "string" - }, "type": { "description": "Resource type.", - "type": "string" - }, - "tags": { - "description": "Resource tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } + "type": "string", + "readOnly": true } }, "x-ms-azure-resource": true @@ -228,7 +216,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json index fdcd383d3d1e..796275822261 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Certificates.json @@ -450,7 +450,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], 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 791aae74bc72..a2a771b0b5f6 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 @@ -732,7 +732,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json index 08b23473d243..91688daffe12 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json @@ -38,6 +38,34 @@ } } }, + "/providers/Microsoft.Web/operations": { + "get": { + "tags": [ + "Provider" + ], + "operationId": "Provider_ListOperations", + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmOperationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Web/availableStacks": { "get": { "tags": [ @@ -69,12 +97,200 @@ } } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Web/operations": { + "get": { + "tags": [ + "Provider" + ], + "operationId": "Provider_ListOperations", + "produces": [ + "application/json", + "text/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CsmOperationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { + "CsmOperationCollection": { + "description": "Collection of Azure resource manager operation metadata.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/CsmOperationDescription" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string" + } + } + }, + "CsmOperationDescription": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "display": { + "$ref": "#/definitions/CsmOperationDisplay" + }, + "origin": { + "type": "string" + }, + "properties": { + "$ref": "#/definitions/CsmOperationDescriptionProperties" + } + } + }, + "CsmOperationDescriptionProperties": { + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "CsmOperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "Dimension": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "internalName": { + "type": "string" + }, + "toBeExportedForShoebox": { + "type": "boolean" + } + } + }, + "MetricAvailability": { + "type": "object", + "properties": { + "timeGrain": { + "type": "string" + }, + "blobDuration": { + "type": "string" + } + } + }, + "MetricSpecification": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "displayDescription": { + "type": "string" + }, + "unit": { + "type": "string" + }, + "aggregationType": { + "type": "string" + }, + "supportsInstanceLevelAggregation": { + "type": "boolean" + }, + "enableRegionalMdmAccount": { + "type": "boolean" + }, + "sourceMdmAccount": { + "type": "string" + }, + "sourceMdmNamespace": { + "type": "string" + }, + "metricFilterPattern": { + "type": "string" + }, + "fillGapWithZero": { + "type": "boolean" + }, + "isInternal": { + "type": "boolean" + }, + "dimensions": { + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "category": { + "type": "string" + }, + "availabilities": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + } + } + } + }, "Object": { "type": "object", "properties": {} + }, + "ServiceSpecification": { + "type": "object", + "properties": { + "metricSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } } }, "parameters": { diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json index 2382b1b69851..b83279672898 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/ResourceProvider.json @@ -476,7 +476,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -560,7 +560,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -649,11 +649,8 @@ } } }, - "Resource": { - "description": "Azure resource.", - "required": [ - "location" - ], + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", "properties": { "id": { "description": "Resource Id.", @@ -669,21 +666,10 @@ "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 @@ -792,7 +778,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -850,7 +836,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { 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 7e97521e5654..c24107d6da69 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 @@ -2707,7 +2707,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -2847,28 +2847,64 @@ } } }, - "PushSettings": { - "description": "Push settings for the App.", - "required": [ - "isPushEnabled" - ], - "type": "object", + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", "properties": { - "isPushEnabled": { - "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", - "type": "boolean" + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true }, - "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" + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true }, - "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.", + "kind": { + "description": "Kind of resource.", "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" + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PushSettings": { + "description": "Push settings for the App.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PushSettings resource specific properties", + "required": [ + "isPushEnabled" + ], + "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" + } + }, + "x-ms-client-flatten": true } } }, @@ -2931,7 +2967,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], @@ -3069,7 +3105,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -3998,7 +4034,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -4260,7 +4296,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { 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 cc9990895ed2..bcec1ee56a75 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 @@ -1797,7 +1797,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -1871,7 +1871,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -1898,7 +1898,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -1953,28 +1953,64 @@ } } }, - "PushSettings": { - "description": "Push settings for the App.", - "required": [ - "isPushEnabled" - ], - "type": "object", + "ProxyOnlyResource": { + "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", "properties": { - "isPushEnabled": { - "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", - "type": "boolean" + "id": { + "description": "Resource Id.", + "type": "string", + "readOnly": true }, - "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" + "name": { + "description": "Resource Name.", + "type": "string", + "readOnly": true }, - "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.", + "kind": { + "description": "Kind of resource.", "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" + "type": { + "description": "Resource type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PushSettings": { + "description": "Push settings for the App.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "PushSettings resource specific properties", + "required": [ + "isPushEnabled" + ], + "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" + } + }, + "x-ms-client-flatten": true } } }, @@ -2037,7 +2073,7 @@ } }, "Resource": { - "description": "Azure resource.", + "description": "Azure resource. This resource is tracked in Azure Resource Manager", "required": [ "location" ], @@ -2195,7 +2231,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -3037,7 +3073,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { @@ -3071,36 +3107,47 @@ "VnetInfo": { "description": "Virtual Network information contract.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyOnlyResource" + } + ], "properties": { - "vnetResourceId": { - "description": "The Virtual Network's resource ID.", - "type": "string" - }, - "certThumbprint": { - "description": "The client certificate thumbprint.", - "type": "string", - "readOnly": true - }, - "certBlob": { - "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \n Point-To-Site VPN connection.", - "type": "string" - }, - "routes": { - "description": "The routes that this Virtual Network connection uses.", - "type": "array", - "items": { - "$ref": "#/definitions/VnetRoute" + "properties": { + "description": "VnetInfo resource specific properties", + "properties": { + "vnetResourceId": { + "description": "The Virtual Network's resource ID.", + "type": "string" + }, + "certThumbprint": { + "description": "The client certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "certBlob": { + "description": "A certificate file (.cer) blob containing the public key of the private key used to authenticate a \n Point-To-Site VPN connection.", + "type": "string" + }, + "routes": { + "description": "The routes that this Virtual Network connection uses.", + "type": "array", + "items": { + "$ref": "#/definitions/VnetRoute" + }, + "readOnly": true + }, + "resyncRequired": { + "description": "true if a resync is required; otherwise, false.", + "type": "boolean", + "readOnly": true + }, + "dnsServers": { + "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", + "type": "string" + } }, - "readOnly": true - }, - "resyncRequired": { - "description": "true if a resync is required; otherwise, false.", - "type": "boolean", - "readOnly": true - }, - "dnsServers": { - "description": "DNS servers to be used by this Virtual Network. This should be a comma-separated list of IP addresses.", - "type": "string" + "x-ms-client-flatten": true } } }, @@ -3109,7 +3156,7 @@ "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ProxyOnlyResource" } ], "properties": { From 49b19679d8929e80fc07737bf4bee06646c3f410 Mon Sep 17 00:00:00 2001 From: Navy Aziz Date: Tue, 8 Aug 2017 11:20:54 -0700 Subject: [PATCH 10/10] Remove conflicting ListOperations. It is not used for public Azure. --- .../Microsoft.Web/2016-03-01/Provider.json | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json index 91688daffe12..53d02bfbe046 100644 --- a/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json +++ b/specification/web/resource-manager/Microsoft.Web/2016-03-01/Provider.json @@ -97,37 +97,6 @@ } } } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/operations": { - "get": { - "tags": [ - "Provider" - ], - "operationId": "Provider_ListOperations", - "produces": [ - "application/json", - "text/json" - ], - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/CsmOperationCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } } }, "definitions": {