From 85a62b3eec7b579df03d90fc1fda00c9912fe453 Mon Sep 17 00:00:00 2001 From: kheiakiyama Date: Tue, 26 Oct 2021 00:29:17 +0000 Subject: [PATCH] Swaggers updated - Microsoft.Advisor to 2020-01-01 - advisor.json - Microsoft.AnalysisServices to 2017-08-01 - analysisservices.json - Microsoft.ApiManagement to 2021-08-01 - apimanagement.json - apimapis.json - apimauthorizationservers.json - apimbackends.json - apimcertificates.json - apimdeployment.json - apimdiagnostics.json - apimgroups.json - apimidentityprovider.json - apimissues.json - apimloggers.json - apimnetworkstatus.json - apimnotifications.json - apimopenidconnectproviders.json - apimportalsettings.json - apimproducts.json - apimquotas.json - apimreports.json - apimsubscriptions.json - apimtagresources.json - apimtags.json - apimtenant.json - apimusers.json - Microsoft.ApiManagement to 2019-01-01 - apimproperties.json - Microsoft.Authorization to 2020-05-01 - locks.json - Microsoft.Automation to 2021-06-22 - account.json - hybridRunbookWorkerGroup.json - Microsoft.Automation to 2019-06-01 - certificate.json - connection.json - connectionType.json - credential.json - dscCompilationJob.json - dscConfiguration.json - dscNode.json - dscNodeConfiguration.json - job.json - jobSchedule.json - module.json - runbook.json - schedule.json - variable.json - Microsoft.Batch to 2021-06-01 - BatchManagement.json - Microsoft.Billing to 2020-05-01 - billing.json - Microsoft.BotService to 2021-03-01 - botservice.json - Microsoft.Cache to 2020-12-01 - redis.json - Microsoft.Capacity to 2021-07-01 - reservations.json - Microsoft.CognitiveServices to 2021-04-30 - cognitiveservices.json - Microsoft.Compute to 2021-07-01 - compute.json - runCommands.json - Microsoft.Compute to 2021-04-01 - disk.json - Microsoft.Consumption to 2021-10-01 - consumption.json - Microsoft.ContainerInstance to 2021-09-01 - containerInstance.json - Microsoft.ContainerService to 2021-09-01 - managedClusters.json - Microsoft.DBforMySQL to 2021-05-01 - mysql.json - Microsoft.DBforPostgreSQL to 2021-06-01 - postgresql.json - Microsoft.Devices to 2021-07-01 - iothub.json - Microsoft.DevTestLab to 2018-09-15 - DTL.json - Microsoft.EventGrid to 2021-12-01 - EventGrid.json - Microsoft.Features to 2021-07-01 - features.json - Microsoft.GuestConfiguration to 2021-01-25 - guestconfiguration.json - Microsoft.HDInsight to 2021-06-01 - applications.json - cluster.json - configurations.json - extensions.json - operations.json - scriptActions.json - Microsoft.ImportExport to 2020-08-01 - storageimportexport.json - Microsoft.Insights to 2021-09-01 - actionGroups_API.json - Microsoft.Insights to 2020-10-01 - activityLogAlerts_API.json - Microsoft.Insights to 2020-02-02 - components_API.json - Microsoft.KeyVault to 2019-09-01 - keyvault.json - Microsoft.Kusto to 2021-08-27 - kusto.json - Microsoft.Logic to 2019-05-01 - logic.json - Microsoft.Media to 2021-06-01 - AccountFilters.json - Accounts.json - AssetsAndAssetFilters.json - ContentKeyPolicies.json - Encoding.json - StreamingPoliciesAndStreamingLocators.json - streamingservice.json - Microsoft.Media to 2020-05-01 - Common.json - Microsoft.Network to 2021-05-01 - applicationGateway.json - applicationSecurityGroup.json - azureFirewall.json - bastionHost.json - checkDnsAvailability.json - ddosProtectionPlan.json - endpointService.json - expressRouteCircuit.json - expressRouteCrossConnection.json - loadBalancer.json - natGateway.json - network.json - networkInterface.json - networkProfile.json - networkSecurityGroup.json - networkWatcher.json - operation.json - privateEndpoint.json - privateLinkService.json - publicIpAddress.json - publicIpPrefix.json - routeFilter.json - routeTable.json - serviceCommunity.json - serviceEndpointPolicy.json - usage.json - virtualNetwork.json - virtualNetworkGateway.json - virtualNetworkTap.json - virtualWan.json - vmssNetworkInterface.json - vmssPublicIpAddress.json - webapplicationfirewall.json - Microsoft.RecoveryServices to 2021-08-01 - registeredidentities.json - replicationusages.json - service.json - vaults.json - vaultusages.json - Microsoft.Relay to 2017-04-01 - relay.json - Microsoft.ResourceHealth to 2017-07-01 - resourcehealth.json - Microsoft.Resources to 2020-10-01 - deploymentScripts.json - Microsoft.Resources to 2021-04-01 - resources.json - Microsoft.Search to 2020-08-01 - search.json - Microsoft.ServiceFabric to 2021-06-01 - application.json - cluster.json - Microsoft.Solutions to 2019-07-01 - managedapplications.json - Microsoft.Sql to 2015-05-01 - usages.json - Microsoft.Storage to 2021-06-01 - storage.json - Microsoft.StreamAnalytics to 2020-03-01 - functions.json - inputs.json - outputs.json - streamingjobs.json - subscriptions.json - transformations.json - Microsoft.TimeSeriesInsights to 2020-05-15 - timeseriesinsights.json - Microsoft.Web to 2021-02-01 - AppServiceEnvironments.json - AppServicePlans.json - Certificates.json - CommonDefinitions.json - DeletedWebApps.json - Diagnostics.json - Global.json - KubeEnvironments.json - Provider.json - Recommendations.json - ResourceHealthMetadata.json - ResourceProvider.json - StaticSites.json - WebApps.json --- .../Microsoft.Advisor/advisor.json | 2012 +- .../analysisservices.json | 1089 +- .../apimanagement.json | 1142 +- .../Microsoft.ApiManagement/apimapis.json | 3417 +-- .../apimauthorizationservers.json | 439 +- .../Microsoft.ApiManagement/apimbackends.json | 444 +- .../apimcertificates.json | 206 +- .../apimdeployment.json | 822 +- .../apimdiagnostics.json | 357 +- .../Microsoft.ApiManagement/apimgroups.json | 293 +- .../apimidentityprovider.json | 326 +- .../Microsoft.ApiManagement/apimissues.json | 69 +- .../Microsoft.ApiManagement/apimloggers.json | 234 +- .../apimnetworkstatus.json | 30 +- .../apimnotifications.json | 309 +- .../apimopenidconnectproviders.json | 248 +- .../apimportalsettings.json | 268 +- .../Microsoft.ApiManagement/apimproducts.json | 611 +- .../apimproperties.json | 184 +- .../Microsoft.ApiManagement/apimquotas.json | 161 +- .../Microsoft.ApiManagement/apimreports.json | 402 +- .../apimsubscriptions.json | 399 +- .../apimtagresources.json | 205 +- .../Microsoft.ApiManagement/apimtags.json | 1384 +- .../Microsoft.ApiManagement/apimtenant.json | 472 +- .../Microsoft.ApiManagement/apimusers.json | 571 +- .../Microsoft.Authorization/locks.json | 361 +- .../Microsoft.Automation/account.json | 722 +- .../Microsoft.Automation/certificate.json | 260 +- .../Microsoft.Automation/connection.json | 275 +- .../Microsoft.Automation/connectionType.json | 256 +- .../Microsoft.Automation/credential.json | 251 +- .../dscCompilationJob.json | 465 +- .../dscConfiguration.json | 480 +- .../Microsoft.Automation/dscNode.json | 691 +- .../dscNodeConfiguration.json | 327 +- .../hybridRunbookWorkerGroup.json | 280 +- .../Microsoft.Automation/job.json | 727 +- .../Microsoft.Automation/jobSchedule.json | 236 +- .../Microsoft.Automation/module.json | 643 +- .../Microsoft.Automation/runbook.json | 1179 +- .../Microsoft.Automation/schedule.json | 419 +- .../Microsoft.Automation/variable.json | 247 +- .../Microsoft.Batch/BatchManagement.json | 2314 +- .../Microsoft.Billing/billing.json | 6859 ++++- .../Microsoft.BotService/botservice.json | 780 +- .../SwaggerSpecs/Microsoft.Cache/redis.json | 1831 +- .../Microsoft.Capacity/reservations.json | 3859 ++- .../cognitiveservices.json | 2084 +- .../Microsoft.Compute/compute.json | 11087 +++++-- .../SwaggerSpecs/Microsoft.Compute/disk.json | 3158 +- .../Microsoft.Compute/runCommands.json | 1081 +- .../Microsoft.Consumption/consumption.json | 5655 +++- .../containerInstance.json | 391 +- .../managedClusters.json | 5340 +++- .../Microsoft.DBforMySQL/mysql.json | 2209 +- .../Microsoft.DBforPostgreSQL/postgresql.json | 2278 +- .../Microsoft.DevTestLab/DTL.json | 21049 +++++++------ .../Microsoft.Devices/iothub.json | 4141 ++- .../Microsoft.EventGrid/EventGrid.json | 3319 +- .../Microsoft.Features/features.json | 221 +- .../guestconfiguration.json | 2767 +- .../Microsoft.HDInsight/applications.json | 946 +- .../Microsoft.HDInsight/cluster.json | 3282 +- .../Microsoft.HDInsight/configurations.json | 568 +- .../Microsoft.HDInsight/extensions.json | 880 +- .../Microsoft.HDInsight/operations.json | 233 +- .../Microsoft.HDInsight/scriptActions.json | 896 +- .../storageimportexport.json | 1198 +- .../Microsoft.Insights/actionGroups_API.json | 1669 +- .../activityLogAlerts_API.json | 1006 +- .../Microsoft.Insights/components_API.json | 438 +- .../Microsoft.KeyVault/keyvault.json | 1508 +- .../SwaggerSpecs/Microsoft.Kusto/kusto.json | 2766 +- .../SwaggerSpecs/Microsoft.Logic/logic.json | 12778 +++++--- .../Microsoft.Media/AccountFilters.json | 75 +- .../Microsoft.Media/Accounts.json | 946 +- .../AssetsAndAssetFilters.json | 124 +- .../SwaggerSpecs/Microsoft.Media/Common.json | 72 +- .../Microsoft.Media/ContentKeyPolicies.json | 147 +- .../Microsoft.Media/Encoding.json | 1255 +- ...StreamingPoliciesAndStreamingLocators.json | 132 +- .../Microsoft.Media/streamingservice.json | 726 +- .../Microsoft.Network/applicationGateway.json | 147 +- .../applicationSecurityGroup.json | 2 +- .../Microsoft.Network/azureFirewall.json | 5 +- .../Microsoft.Network/bastionHost.json | 90 +- .../checkDnsAvailability.json | 2 +- .../Microsoft.Network/ddosProtectionPlan.json | 2 +- .../Microsoft.Network/endpointService.json | 2 +- .../expressRouteCircuit.json | 2 +- .../expressRouteCrossConnection.json | 2 +- .../Microsoft.Network/loadBalancer.json | 208 +- .../Microsoft.Network/natGateway.json | 2 +- .../Microsoft.Network/network.json | 2 +- .../Microsoft.Network/networkInterface.json | 7 +- .../Microsoft.Network/networkProfile.json | 2 +- .../networkSecurityGroup.json | 2 +- .../Microsoft.Network/networkWatcher.json | 2 +- .../Microsoft.Network/operation.json | 2 +- .../Microsoft.Network/privateEndpoint.json | 69 +- .../Microsoft.Network/privateLinkService.json | 2 +- .../Microsoft.Network/publicIpAddress.json | 2 +- .../Microsoft.Network/publicIpPrefix.json | 2 +- .../Microsoft.Network/routeFilter.json | 2 +- .../Microsoft.Network/routeTable.json | 2 +- .../Microsoft.Network/serviceCommunity.json | 2 +- .../serviceEndpointPolicy.json | 17 +- .../SwaggerSpecs/Microsoft.Network/usage.json | 2 +- .../Microsoft.Network/virtualNetwork.json | 50 +- .../virtualNetworkGateway.json | 6 +- .../Microsoft.Network/virtualNetworkTap.json | 2 +- .../Microsoft.Network/virtualWan.json | 354 +- .../webapplicationfirewall.json | 77 +- .../registeredidentities.json | 78 +- .../replicationusages.json | 46 +- .../Microsoft.RecoveryServices/service.json | 25015 +++++++++++----- .../Microsoft.RecoveryServices/vaults.json | 1205 +- .../vaultusages.json | 44 +- .../SwaggerSpecs/Microsoft.Relay/relay.json | 844 +- .../resourcehealth.json | 453 +- .../deploymentScripts.json | 144 +- .../Microsoft.Resources/resources.json | 5539 +++- .../SwaggerSpecs/Microsoft.Search/search.json | 1724 +- .../Microsoft.ServiceFabric/application.json | 291 +- .../Microsoft.ServiceFabric/cluster.json | 530 +- .../managedapplications.json | 1878 +- .../SwaggerSpecs/Microsoft.Sql/usages.json | 275 +- .../Microsoft.Storage/storage.json | 5089 +++- .../Microsoft.StreamAnalytics/functions.json | 220 +- .../Microsoft.StreamAnalytics/inputs.json | 404 +- .../Microsoft.StreamAnalytics/outputs.json | 511 +- .../streamingjobs.json | 392 +- .../subscriptions.json | 38 +- .../transformations.json | 104 +- .../timeseriesinsights.json | 1105 +- .../Microsoft.Web/AppServiceEnvironments.json | 326 +- .../Microsoft.Web/AppServicePlans.json | 64 +- .../Microsoft.Web/Certificates.json | 47 +- .../Microsoft.Web/CommonDefinitions.json | 272 +- .../Microsoft.Web/DeletedWebApps.json | 4 +- .../Microsoft.Web/Diagnostics.json | 68 +- .../SwaggerSpecs/Microsoft.Web/Global.json | 150 +- .../Microsoft.Web/KubeEnvironments.json | 383 +- .../SwaggerSpecs/Microsoft.Web/Provider.json | 375 +- .../Microsoft.Web/Recommendations.json | 179 +- .../Microsoft.Web/ResourceHealthMetadata.json | 5 +- .../Microsoft.Web/ResourceProvider.json | 158 +- .../Microsoft.Web/StaticSites.json | 249 +- .../SwaggerSpecs/Microsoft.Web/WebApps.json | 4242 +-- 150 files changed, 134737 insertions(+), 54765 deletions(-) diff --git a/App_Data/SwaggerSpecs/Microsoft.Advisor/advisor.json b/App_Data/SwaggerSpecs/Microsoft.Advisor/advisor.json index 9270f984..789f65d2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Advisor/advisor.json +++ b/App_Data/SwaggerSpecs/Microsoft.Advisor/advisor.json @@ -1,626 +1,1390 @@ { - "swagger": "2.0", - "info": { - "version": "2017-04-19", - "title": "AdvisorManagementClient", - "description": "REST APIs for Azure Advisor" - }, - "host": "management.azure.com", - "schemes": ["https"], - "consumes": ["application/json"], - "produces": ["application/json"], - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations": { - "post": { - "tags": ["GenerateRecommendations"], - "description": "Initiates the recommendation generation or computation process for a subscription. This operation is asynchronous. The generated recommendations are stored in a cache in the Advisor service.", - "operationId": "Recommendations_Generate", - "parameters": [{ - "$ref": "#/parameters/subscriptionIdParameter" - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Accepted. Recommendation generation has been accepted.", - "headers": { - "Location": { - "description": "The URL where the status of the asynchronous operation can be checked.", - "type": "string" - }, - "Retry-After": { - "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", - "type": "string" - } - } - } - }, - "deprecated": false, - "x-ms-examples": { - "GenerateRecommendations": { - "$ref": "../examples/GenerateRecommendations.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}": { - "get": { - "tags": ["GenerateRecommendations"], - "description": "Retrieves the status of the recommendation computation or generation process. Invoke this API after calling the generation recommendation. The URI of this API is returned in the Location field of the response header.", - "operationId": "Recommendations_GetGenerateStatus", - "parameters": [{ - "$ref": "#/parameters/subscriptionIdParameter" - }, { - "name": "operationId", - "in": "path", - "description": "The operation ID, which can be found from the Location field in the generate recommendation response header.", - "required": true, - "type": "string", - "format": "uuid" - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "202": { - "description": "Accepted. Recommendation generation is in progress." - }, - "204": { - "description": "NoContent. Recommendation generation has been completed." - } - }, - "deprecated": false - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations": { - "get": { - "tags": ["GetRecommendations"], - "description": "Obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking generateRecommendations.", - "operationId": "Recommendations_List", - "parameters": [{ - "$ref": "#/parameters/subscriptionIdParameter" - }, { - "$ref": "#/parameters/apiVersionParameter" - }, { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the recommendations.", - "required": false, - "type": "string" - }, { - "name": "$top", - "in": "query", - "description": "The number of recommendations per page if a paged version of this API is being used.", - "required": false, - "type": "integer" - }, { - "name": "$skipToken", - "in": "query", - "description": "The page-continuation token to use with a paged version of this API.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK. Successfully obtained cached recommendations.", - "schema": { - "$ref": "#/definitions/ResourceRecommendationBaseListResult" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "ListRecommendations": { - "$ref": "../examples/ListRecommendations.json" - } - } - } - }, - "/providers/Microsoft.Advisor/operations": { - "get": { - "tags": ["Operations"], - "description": "Lists all the available Advisor REST API operations.", - "operationId": "Operations_List", - "parameters": [{ - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. Successfully retrieved operation list.", - "schema": { - "$ref": "#/definitions/OperationEntityListResult" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}": { - "get": { - "tags": ["Suppressions"], - "description": "Obtains the details of a suppression.", - "operationId": "Suppressions_Get", - "parameters": [{ - "name": "resourceUri", - "in": "path", - "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", - "required": true, - "type": "string" - }, { - "name": "recommendationId", - "in": "path", - "description": "The recommendation ID.", - "required": true, - "type": "string" - }, { - "name": "name", - "in": "path", - "description": "The name of the suppression.", - "required": true, - "type": "string" - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. Successfully got suppression detail.", - "schema": { - "$ref": "#/definitions/SuppressionContract" - } - } - }, - "deprecated": false, - "x-ms-examples": { - "GetSuppressionDetail": { - "$ref": "../examples/GetSuppressionDetail.json" - } - } - }, - "put": { - "tags": ["Suppressions"], - "description": "Enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation.", - "operationId": "Suppressions_Create", - "parameters": [{ - "name": "resourceUri", - "in": "path", - "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", - "required": true, - "type": "string" - }, { - "name": "recommendationId", - "in": "path", - "description": "The recommendation ID.", - "required": true, - "type": "string" - }, { - "name": "name", - "in": "path", - "description": "The name of the suppression.", - "required": true, - "type": "string" - }, { - "name": "suppressionContract", - "in": "body", - "description": "The snoozed or dismissed attribute; for example, the snooze duration.", - "required": true, - "schema": { - "$ref": "#/definitions/SuppressionContract" - } - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. Successfully created suppression.", - "schema": { - "$ref": "#/definitions/SuppressionContract" - } - } - }, - "deprecated": false, - "x-ms-examples": { - "CreateSuppression": { - "$ref": "../examples/CreateSuppression.json" - } - } - }, - "delete": { - "tags": ["Suppressions"], - "description": "Enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.", - "operationId": "Suppressions_Delete", - "parameters": [{ - "name": "resourceUri", - "in": "path", - "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", - "required": true, - "type": "string" - }, { - "name": "recommendationId", - "in": "path", - "description": "The recommendation ID.", - "required": true, - "type": "string" - }, { - "name": "name", - "in": "path", - "description": "The name of the suppression.", - "required": true, - "type": "string" - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "NoContent. The recommendation has been activated." - } - }, - "deprecated": false, - "x-ms-examples": { - "DeleteSuppression": { - "$ref": "../examples/DeleteSuppression.json" - } - } - } - }, - "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}": { - "get": { - "tags": ["GetRecommendations"], - "description": "Obtains details of a cached recommendation.", - "operationId": "Recommendations_Get", - "parameters": [{ - "name": "resourceUri", - "in": "path", - "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", - "required": true, - "type": "string" - }, { - "name": "recommendationId", - "in": "path", - "description": "The recommendation ID.", - "required": true, - "type": "string" - }, { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. Successfully got recommendation detail.", - "schema": { - "$ref": "#/definitions/ResourceRecommendationBase" - } - } - }, - "deprecated": false, - "x-ms-examples": { - "GetRecommendationDetail": { - "$ref": "../examples/GetRecommendationDetail.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions": { - "get": { - "tags": ["Suppressions"], - "description": "Retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.", - "operationId": "Suppressions_List", - "parameters": [{ - "$ref": "#/parameters/subscriptionIdParameter" - }, { - "$ref": "#/parameters/apiVersionParameter" - }, { - "name": "$top", - "in": "query", - "description": "The number of suppressions per page if a paged version of this API is being used.", - "required": false, - "type": "integer", - "format": "int32" - }, { - "name": "$skipToken", - "in": "query", - "description": "The page-continuation token to use with a paged version of this API.", - "required": false, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK. Successfully got all suppressions in a subscription.", - "schema": { - "$ref": "#/definitions/SuppressionContractListResult" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "ListSuppressions": { - "$ref": "../examples/ListSuppressions.json" - } - } - } - } - }, - "definitions": { - "ResourceRecommendationBaseListResult": { - "description": "The list of Advisor recommendations.", - "type": "object", - "properties": { - "nextLink": { - "description": "The link used to get the next page of recommendations.", - "type": "string" - }, - "value": { - "description": "The list of recommendations.", - "type": "array", - "items": { - "$ref": "#/definitions/ResourceRecommendationBase" - } - } - } - }, - "ResourceRecommendationBase": { - "description": "Advisor Recommendation.", - "type": "object", - "allOf": [{ - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/RecommendationProperties", - "description": "The properties of the recommendation.", - "x-ms-client-flatten": true - } - } - }, - "RecommendationProperties": { - "description": "The properties of the recommendation.", - "type": "object", - "properties": { - "category": { - "description": "The category of the recommendation.", - "enum": ["HighAvailability", "Security", "Performance", "Cost"], - "type": "string", - "x-ms-enum": { - "name": "category", - "modelAsString": true - } - }, - "impact": { - "description": "The business impact of the recommendation.", - "enum": ["High", "Medium", "Low"], - "type": "string", - "x-ms-enum": { - "name": "impact", - "modelAsString": true - } - }, - "impactedField": { - "description": "The resource type identified by Advisor.", - "type": "string" - }, - "impactedValue": { - "description": "The resource identified by Advisor.", - "type": "string" - }, - "lastUpdated": { - "format": "date-time", - "description": "The most recent time that Advisor checked the validity of the recommendation.", - "type": "string" - }, - "metadata": { - "description": "The recommendation metadata.", - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "recommendationTypeId": { - "description": "The recommendation-type GUID.", - "type": "string" - }, - "risk": { - "description": "The potential risk of not implementing the recommendation.", - "enum": ["Error", "Warning", "None"], - "type": "string", - "x-ms-enum": { - "name": "risk", - "modelAsString": true - } - }, - "shortDescription": { - "$ref": "#/definitions/ShortDescription", - "description": "A summary of the recommendation." - }, - "suppressionIds": { - "description": "The list of snoozed and dismissed rules for the recommendation.", - "type": "array", - "items": { - "format": "uuid", - "type": "string" - } - } - } - }, - "Resource": { - "description": "An Azure resource.", - "properties": { - "id": { - "description": "The resource ID.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The type of the resource.", - "type": "string", - "readOnly": true - } - }, - "x-ms-azure-resource": true - }, - "ShortDescription": { - "description": "A summary of the recommendation.", - "type": "object", - "properties": { - "problem": { - "description": "The issue or opportunity identified by the recommendation.", - "type": "string" - }, - "solution": { - "description": "The remediation action suggested by the recommendation.", - "type": "string" - } - } - }, - "OperationEntityListResult": { - "description": "The list of Advisor operations.", - "type": "object", - "properties": { - "nextLink": { - "description": "The link used to get the next page of operations.", - "type": "string" - }, - "value": { - "description": "The list of operations.", - "type": "array", - "items": { - "$ref": "#/definitions/OperationEntity" - } - } - } - }, - "OperationEntity": { - "description": "The operation supported by Advisor.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", - "type": "string" - }, - "display": { - "$ref": "#/definitions/OperationDisplayInfo", - "description": "The operation supported by Advisor." - } - } - }, - "OperationDisplayInfo": { - "description": "The operation supported by Advisor.", - "type": "object", - "properties": { - "description": { - "description": "The description of the operation.", - "type": "string" - }, - "operation": { - "description": "The action that users can perform, based on their permission level.", - "type": "string" - }, - "provider": { - "description": "Service provider: Microsoft Advisor.", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed.", - "type": "string" - } - } - }, - "SuppressionContract": { - "description": "The details of the snoozed or dismissed rule; for example, the duration, name, and GUID associated with the rule.", - "type": "object", - "allOf": [{ - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/SuppressionProperties", - "description": "The properties of the suppression.", - "x-ms-client-flatten": true - } - } - }, - "SuppressionProperties": { - "description": "The properties of the suppression.", - "type": "object", - "properties": { - "suppressionId": { - "description": "The GUID of the suppression.", - "type": "string" - }, - "ttl": { - "description": "The duration for which the suppression is valid.", - "type": "string" - } - } - }, - "SuppressionContractListResult": { - "description": "The list of Advisor suppressions.", - "type": "object", - "properties": { - "nextLink": { - "description": "The link used to get the next page of suppressions.", - "type": "string" - }, - "value": { - "description": "The list of suppressions.", - "type": "array", - "items": { - "$ref": "#/definitions/SuppressionContract" - } - } - } - } - }, - "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "description": "The Azure subscription ID.", - "required": true, - "type": "string" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "The version of the API to be used with the client request.", - "required": true, - "type": "string" - } - }, - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow.", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "security": [{ - "azure_auth": ["user_impersonation"] - } - ] + "swagger": "2.0", + "info": { + "version": "2020-01-01", + "title": "AdvisorManagementClient", + "description": "REST APIs for Azure Advisor" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Advisor/metadata/{name}": { + "get": { + "tags": [ + "Metadata" + ], + "summary": "Gets the metadata entity.", + "operationId": "RecommendationMetadata_Get", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of metadata entity.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved metadata entities", + "schema": { + "$ref": "#/definitions/MetadataEntity" + } + }, + "404": { + "description": "Client sent unknown metadata name", + "schema": { + "$ref": "#/definitions/ARMErrorResponseBody" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "x-ms-examples": { + "GetMetadata": { + "$ref": "./examples/GetRecommendationMetadataEntity.json" + } + } + } + }, + "/providers/Microsoft.Advisor/metadata": { + "get": { + "tags": [ + "Metadata" + ], + "summary": "Gets the list of metadata entities.", + "operationId": "RecommendationMetadata_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved metadata entities", + "schema": { + "$ref": "#/definitions/MetadataEntityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "x-ms-examples": { + "GetMetadata": { + "$ref": "./examples/ListRecommendationMetadata.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "summary": "Retrieve Azure Advisor configurations.", + "description": "Retrieve Azure Advisor configurations and also retrieve configurations of contained resource groups.", + "operationId": "Configurations_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved zero or more configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/ListConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/configurations/{configurationName}": { + "put": { + "tags": [ + "Configurations" + ], + "summary": "Create/Overwrite Azure Advisor configuration.", + "description": "Create/Overwrite Azure Advisor configuration and also delete all configurations of contained resource groups.", + "operationId": "Configurations_CreateInSubscription", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "configContract", + "in": "body", + "description": "The Azure Advisor configuration data structure.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigData" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "configurationName", + "in": "path", + "description": "Advisor configuration name. Value must be 'default'", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ConfigurationName", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Successfully created/overwrote configuration.", + "schema": { + "$ref": "#/definitions/ConfigData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "PutConfigurations": { + "$ref": "./examples/CreateConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "summary": "Retrieve Azure Advisor configurations.", + "operationId": "Configurations_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "resourceGroup", + "in": "path", + "description": "The name of the Azure resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved zero or more configurations.", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "GetConfigurations": { + "$ref": "./examples/ListConfigurations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Advisor/configurations/{configurationName}": { + "put": { + "tags": [ + "Configurations" + ], + "summary": "Create/Overwrite Azure Advisor configuration.", + "operationId": "Configurations_CreateInResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "configContract", + "in": "body", + "description": "The Azure Advisor configuration data structure.", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigData" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "configurationName", + "in": "path", + "description": "Advisor configuration name. Value must be 'default'", + "required": true, + "type": "string", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ConfigurationName", + "modelAsString": true + } + }, + { + "name": "resourceGroup", + "in": "path", + "description": "The name of the Azure resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Successfully created/overwrote configuration.", + "schema": { + "$ref": "#/definitions/ConfigData" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "PutConfigurations": { + "$ref": "./examples/CreateConfiguration.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations": { + "post": { + "tags": [ + "GenerateRecommendations" + ], + "description": "Initiates the recommendation generation or computation process for a subscription. This operation is asynchronous. The generated recommendations are stored in a cache in the Advisor service.", + "operationId": "Recommendations_Generate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Recommendation generation has been accepted.", + "headers": { + "Location": { + "description": "The URL where the status of the asynchronous operation can be checked.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "GenerateRecommendations": { + "$ref": "./examples/GenerateRecommendations.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/generateRecommendations/{operationId}": { + "get": { + "tags": [ + "GenerateRecommendations" + ], + "description": "Retrieves the status of the recommendation computation or generation process. Invoke this API after calling the generation recommendation. The URI of this API is returned in the Location field of the response header.", + "operationId": "Recommendations_GetGenerateStatus", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "operationId", + "in": "path", + "description": "The operation ID, which can be found from the Location field in the generate recommendation response header.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. Recommendation generation is in progress." + }, + "204": { + "description": "NoContent. Recommendation generation has been completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "GetGenerateStatus": { + "$ref": "./examples/EmptyResponse.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/recommendations": { + "get": { + "tags": [ + "GetRecommendations" + ], + "description": "Obtains cached recommendations for a subscription. The recommendations are generated or computed by invoking generateRecommendations.", + "operationId": "Recommendations_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the recommendations.
Filter can be applied to properties ['ResourceId', 'ResourceGroup', 'RecommendationTypeGuid', '[Category](#category)'] with operators ['eq', 'and', 'or'].
Example:
- $filter=Category eq 'Cost' and ResourceGroup eq 'MyResourceGroup'", + "required": false, + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The number of recommendations per page if a paged version of this API is being used.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$skipToken", + "in": "query", + "description": "The page-continuation token to use with a paged version of this API.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. Successfully obtained cached recommendations.", + "schema": { + "$ref": "#/definitions/ResourceRecommendationBaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListRecommendations": { + "$ref": "./examples/ListRecommendations.json" + } + } + } + }, + "/providers/Microsoft.Advisor/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all the available Advisor REST API operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully retrieved operation list.", + "schema": { + "$ref": "#/definitions/OperationEntityListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}": { + "get": { + "tags": [ + "GetRecommendations" + ], + "description": "Obtains details of a cached recommendation.", + "operationId": "Recommendations_Get", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", + "required": true, + "type": "string" + }, + { + "name": "recommendationId", + "in": "path", + "description": "The recommendation ID.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully got recommendation detail.", + "schema": { + "$ref": "#/definitions/ResourceRecommendationBase" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "GetRecommendationDetail": { + "$ref": "./examples/GetRecommendationDetail.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.Advisor/recommendations/{recommendationId}/suppressions/{name}": { + "get": { + "tags": [ + "Suppressions" + ], + "description": "Obtains the details of a suppression.", + "operationId": "Suppressions_Get", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", + "required": true, + "type": "string" + }, + { + "name": "recommendationId", + "in": "path", + "description": "The recommendation ID.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the suppression.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully got suppression detail.", + "schema": { + "$ref": "#/definitions/SuppressionContract" + } + }, + "404": { + "description": "Suppression name is not specified or Suppression Id not found.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "GetSuppressionDetail": { + "$ref": "./examples/GetSuppressionDetail.json" + } + } + }, + "put": { + "tags": [ + "Suppressions" + ], + "description": "Enables the snoozed or dismissed attribute of a recommendation. The snoozed or dismissed attribute is referred to as a suppression. Use this API to create or update the snoozed or dismissed status of a recommendation.", + "operationId": "Suppressions_Create", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", + "required": true, + "type": "string" + }, + { + "name": "recommendationId", + "in": "path", + "description": "The recommendation ID.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the suppression.", + "required": true, + "type": "string" + }, + { + "name": "suppressionContract", + "in": "body", + "description": "The snoozed or dismissed attribute; for example, the snooze duration.", + "required": true, + "schema": { + "$ref": "#/definitions/SuppressionContract" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. Successfully created suppression.", + "schema": { + "$ref": "#/definitions/SuppressionContract" + } + }, + "404": { + "description": "Recommendation to be suppressed is not found.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "CreateSuppression": { + "$ref": "./examples/CreateSuppression.json" + } + } + }, + "delete": { + "tags": [ + "Suppressions" + ], + "description": "Enables the activation of a snoozed or dismissed recommendation. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.", + "operationId": "Suppressions_Delete", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource Manager identifier of the resource to which the recommendation applies.", + "required": true, + "type": "string" + }, + { + "name": "recommendationId", + "in": "path", + "description": "The recommendation ID.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the suppression.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "NoContent. The recommendation has been activated." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "DeleteSuppression": { + "$ref": "./examples/DeleteSuppression.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/suppressions": { + "get": { + "tags": [ + "Suppressions" + ], + "description": "Retrieves the list of snoozed or dismissed suppressions for a subscription. The snoozed or dismissed attribute of a recommendation is referred to as a suppression.", + "operationId": "Suppressions_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$top", + "in": "query", + "description": "The number of suppressions per page if a paged version of this API is being used.", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$skipToken", + "in": "query", + "description": "The page-continuation token to use with a paged version of this API.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. Successfully got all suppressions in a subscription.", + "schema": { + "$ref": "#/definitions/SuppressionContractListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ArmErrorResponse" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ListSuppressions": { + "$ref": "./examples/ListSuppressions.json" + } + } + } + } + }, + "definitions": { + "MetadataEntityListResult": { + "description": "The list of metadata entities", + "type": "object", + "properties": { + "value": { + "description": "The list of metadata entities.", + "type": "array", + "items": { + "$ref": "#/definitions/MetadataEntity" + } + }, + "nextLink": { + "description": "The link used to get the next page of metadata.", + "type": "string" + } + } + }, + "MetadataEntity": { + "description": "The metadata entity contract.", + "type": "object", + "properties": { + "id": { + "description": "The resource Id of the metadata entity.", + "type": "string" + }, + "type": { + "description": "The type of the metadata entity.", + "type": "string" + }, + "name": { + "description": "The name of the metadata entity.", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/MetadataEntityProperties", + "description": "The metadata entity properties.", + "x-ms-client-flatten": true + } + } + }, + "MetadataEntityProperties": { + "description": "The metadata entity properties", + "type": "object", + "properties": { + "displayName": { + "description": "The display name.", + "type": "string" + }, + "dependsOn": { + "description": "The list of keys on which this entity depends on.", + "type": "array", + "items": { + "type": "string" + } + }, + "applicableScenarios": { + "description": "The list of scenarios applicable to this metadata entity.", + "type": "array", + "items": { + "enum": [ + "Alerts" + ], + "type": "string", + "x-ms-enum": { + "name": "Scenario", + "modelAsString": true + } + } + }, + "supportedValues": { + "description": "The list of supported values.", + "type": "array", + "items": { + "$ref": "#/definitions/MetadataSupportedValueDetail" + } + } + } + }, + "MetadataSupportedValueDetail": { + "description": "The metadata supported value detail.", + "type": "object", + "properties": { + "id": { + "description": "The id.", + "type": "string" + }, + "displayName": { + "description": "The display name.", + "type": "string" + } + } + }, + "ConfigurationListResult": { + "description": "The list of Advisor configurations.", + "type": "object", + "properties": { + "value": { + "description": "The list of configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ConfigData" + } + }, + "nextLink": { + "description": "The link used to get the next page of configurations.", + "type": "string" + } + } + }, + "ConfigData": { + "description": "The Advisor configuration data structure.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ConfigDataProperties", + "description": "The Advisor configuration data structure.", + "x-ms-client-flatten": true + } + } + }, + "ConfigDataProperties": { + "description": "Configuration data properties", + "type": "object", + "properties": { + "exclude": { + "description": "Exclude the resource from Advisor evaluations. Valid values: False (default) or True.", + "type": "boolean" + }, + "lowCpuThreshold": { + "description": "Minimum percentage threshold for Advisor low CPU utilization evaluation. Valid only for subscriptions. Valid values: 5 (default), 10, 15 or 20.", + "enum": [ + "5", + "10", + "15", + "20" + ], + "type": "string", + "x-ms-enum": { + "name": "CpuThreshold", + "modelAsString": true + } + }, + "digests": { + "description": "Advisor digest configuration. Valid only for subscriptions", + "type": "array", + "items": { + "$ref": "#/definitions/DigestConfig" + } + } + } + }, + "DigestConfig": { + "description": "Advisor Digest configuration entity", + "type": "object", + "properties": { + "name": { + "description": "Name of digest configuration. Value is case-insensitive and must be unique within a subscription.", + "type": "string" + }, + "actionGroupResourceId": { + "description": "Action group resource id used by digest.", + "type": "string" + }, + "frequency": { + "format": "int32", + "description": "Frequency that digest will be triggered, in days. Value must be between 7 and 30 days inclusive.", + "type": "integer" + }, + "categories": { + "description": "Categories to send digest for. If categories are not provided, then digest will be sent for all categories.", + "type": "array", + "items": { + "enum": [ + "HighAvailability", + "Security", + "Performance", + "Cost", + "OperationalExcellence" + ], + "type": "string", + "x-ms-enum": { + "name": "Category", + "modelAsString": true + } + } + }, + "language": { + "description": "Language for digest content body. Value must be ISO 639-1 code for one of Azure portal supported languages. Otherwise, it will be converted into one. Default value is English (en).", + "type": "string" + }, + "state": { + "description": "State of digest configuration.", + "enum": [ + "Active", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DigestConfigState", + "modelAsString": true + } + } + } + }, + "ArmErrorResponse": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ARMErrorResponseBody" + } + } + }, + "ARMErrorResponseBody": { + "description": "ARM error response body.", + "type": "object", + "properties": { + "message": { + "description": "Gets or sets the string that describes the error in detail and provides debugging information.", + "type": "string" + }, + "code": { + "description": "Gets or sets the string that can be used to programmatically identify the error.", + "type": "string" + } + } + }, + "ResourceRecommendationBaseListResult": { + "description": "The list of Advisor recommendations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of recommendations.", + "type": "string" + }, + "value": { + "description": "The list of recommendations.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceRecommendationBase" + } + } + } + }, + "ResourceRecommendationBase": { + "description": "Advisor Recommendation.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecommendationProperties", + "description": "The properties of the recommendation.", + "x-ms-client-flatten": true + } + } + }, + "RecommendationProperties": { + "description": "The properties of the recommendation.", + "type": "object", + "properties": { + "category": { + "description": "The category of the recommendation.", + "enum": [ + "HighAvailability", + "Security", + "Performance", + "Cost", + "OperationalExcellence" + ], + "type": "string", + "x-ms-enum": { + "name": "category", + "modelAsString": true + } + }, + "impact": { + "description": "The business impact of the recommendation.", + "enum": [ + "High", + "Medium", + "Low" + ], + "type": "string", + "x-ms-enum": { + "name": "impact", + "modelAsString": true + } + }, + "impactedField": { + "description": "The resource type identified by Advisor.", + "type": "string" + }, + "impactedValue": { + "description": "The resource identified by Advisor.", + "type": "string" + }, + "lastUpdated": { + "format": "date-time", + "description": "The most recent time that Advisor checked the validity of the recommendation.", + "type": "string" + }, + "metadata": { + "description": "The recommendation metadata.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "recommendationTypeId": { + "description": "The recommendation-type GUID.", + "type": "string" + }, + "risk": { + "description": "The potential risk of not implementing the recommendation.", + "enum": [ + "Error", + "Warning", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "risk", + "modelAsString": true + } + }, + "shortDescription": { + "$ref": "#/definitions/ShortDescription", + "description": "A summary of the recommendation." + }, + "suppressionIds": { + "description": "The list of snoozed and dismissed rules for the recommendation.", + "type": "array", + "items": { + "format": "uuid", + "type": "string" + } + }, + "extendedProperties": { + "description": "Extended properties", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "resourceMetadata": { + "$ref": "#/definitions/ResourceMetadata", + "description": "Metadata of resource that was assessed" + }, + "description": { + "description": "The detailed description of recommendation.", + "type": "string" + }, + "label": { + "description": "The label of recommendation.", + "type": "string" + }, + "learnMoreLink": { + "description": "The link to learn more about recommendation and generation logic.", + "type": "string" + }, + "potentialBenefits": { + "description": "The potential benefit of implementing recommendation.", + "type": "string" + }, + "actions": { + "description": "The list of recommended actions to implement recommendation.", + "type": "array", + "items": { + "type": "object", + "additionalProperties": { + "type": "object" + } + } + }, + "remediation": { + "description": "The automated way to apply recommendation.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "exposedMetadataProperties": { + "description": "The recommendation metadata properties exposed to customer to provide additional information.", + "type": "object", + "additionalProperties": { + "type": "object" + } + } + } + }, + "Resource": { + "description": "An Azure resource.", + "properties": { + "id": { + "description": "The resource ID.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "ShortDescription": { + "description": "A summary of the recommendation.", + "type": "object", + "properties": { + "problem": { + "description": "The issue or opportunity identified by the recommendation.", + "type": "string" + }, + "solution": { + "description": "The remediation action suggested by the recommendation.", + "type": "string" + } + } + }, + "ResourceMetadata": { + "description": "Recommendation resource metadata", + "type": "object", + "properties": { + "resourceId": { + "description": "Azure resource Id of the assessed resource", + "type": "string" + }, + "source": { + "description": "Source from which recommendation is generated", + "type": "string" + }, + "action": { + "description": "The action to view resource.", + "type": "object", + "additionalProperties": { + "type": "object" + } + }, + "singular": { + "description": "The singular user friendly name of resource type. eg: virtual machine", + "type": "string" + }, + "plural": { + "description": "The plural user friendly name of resource type. eg: virtual machines", + "type": "string" + } + } + }, + "OperationEntityListResult": { + "description": "The list of Advisor operations.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + }, + "value": { + "description": "The list of operations.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationEntity" + } + } + } + }, + "OperationEntity": { + "description": "The operation supported by Advisor.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationDisplayInfo", + "description": "The operation supported by Advisor." + } + } + }, + "OperationDisplayInfo": { + "description": "The operation supported by Advisor.", + "type": "object", + "properties": { + "description": { + "description": "The description of the operation.", + "type": "string" + }, + "operation": { + "description": "The action that users can perform, based on their permission level.", + "type": "string" + }, + "provider": { + "description": "Service provider: Microsoft Advisor.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + } + } + }, + "SuppressionContract": { + "description": "The details of the snoozed or dismissed rule; for example, the duration, name, and GUID associated with the rule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SuppressionProperties", + "description": "The properties of the suppression.", + "x-ms-client-flatten": true + } + } + }, + "SuppressionProperties": { + "description": "The properties of the suppression.", + "type": "object", + "properties": { + "suppressionId": { + "description": "The GUID of the suppression.", + "type": "string" + }, + "ttl": { + "description": "The duration for which the suppression is valid.", + "type": "string" + }, + "expirationTimeStamp": { + "readOnly": true, + "format": "date-time", + "description": "Gets or sets the expiration time stamp.", + "type": "string" + } + } + }, + "SuppressionContractListResult": { + "description": "The list of Advisor suppressions.", + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of suppressions.", + "type": "string" + }, + "value": { + "description": "The list of suppressions.", + "type": "array", + "items": { + "$ref": "#/definitions/SuppressionContract" + } + } + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "The Azure subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The version of the API to be used with the client request.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] } diff --git a/App_Data/SwaggerSpecs/Microsoft.AnalysisServices/analysisservices.json b/App_Data/SwaggerSpecs/Microsoft.AnalysisServices/analysisservices.json index f1c9cf14..7cf304e7 100644 --- a/App_Data/SwaggerSpecs/Microsoft.AnalysisServices/analysisservices.json +++ b/App_Data/SwaggerSpecs/Microsoft.AnalysisServices/analysisservices.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-05-16", + "version": "2017-08-01", "title": "AzureAnalysisServices", "description": "The Azure Analysis Services Web API provides a RESTful set of web services that enables users to create, retrieve, update, and delete Analysis Services servers", "x-ms-code-generation-settings": { @@ -9,7 +9,9 @@ } }, "host": "management.azure.com", - "schemes": [ "https" ], + "schemes": [ + "https" + ], "consumes": [ "application/json" ], @@ -38,7 +40,14 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}": { "get": { "description": "Gets details about the specified Analysis Services server.", - "tags": [ "Servers" ], + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/getServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_GetDetails", "parameters": [ { @@ -64,13 +73,28 @@ "responses": { "200": { "description": "OK. The operation was successful.", - "schema": { "$ref": "#/definitions/AnalysisServicesServer" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, "put": { "description": "Provisions the specified Analysis Services server based on the configuration specified in the request.", - "tags": [ "Servers" ], + "x-ms-examples": { + "Create a server.": { + "$ref": "./examples/createServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_Create", "parameters": [ { @@ -90,7 +114,9 @@ "name": "serverParameters", "in": "body", "required": true, - "schema": { "$ref": "#/definitions/AnalysisServicesServer" }, + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + }, "description": "Contains the information used to provision the Analysis Services server." }, { @@ -103,18 +129,41 @@ "responses": { "200": { "description": "OK. The operation completed successfully.", - "schema": { "$ref": "#/definitions/AnalysisServicesServer" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } }, "201": { "description": "InProgress. The operation is still completing.", - "schema": { "$ref": "#/definitions/AnalysisServicesServer" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } + }, + "202": { + "description": "Preparing. The operation is still completing.", + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true }, "delete": { "description": "Deletes the specified Analysis Services server.", - "tags": [ "Servers" ], + "x-ms-examples": { + "Delete a server.": { + "$ref": "./examples/deleteServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_Delete", "parameters": [ { @@ -146,13 +195,26 @@ }, "202": { "description": "Accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true }, "patch": { "description": "Updates the current state of the specified Analysis Services server.", - "tags": [ "Servers" ], + "x-ms-examples": { + "Update a server.": { + "$ref": "./examples/updateServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_Update", "parameters": [ { @@ -172,7 +234,9 @@ "name": "serverUpdateParameters", "in": "body", "required": true, - "schema": { "$ref": "#/definitions/AnalysisServicesServerUpdateParameters" }, + "schema": { + "$ref": "#/definitions/AnalysisServicesServerUpdateParameters" + }, "description": "Request object that contains the updated information for the server." }, { @@ -185,11 +249,21 @@ "responses": { "200": { "description": "OK", - "schema": { "$ref": "#/definitions/AnalysisServicesServer" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } }, "202": { "description": "Accepted", - "schema": { "$ref": "#/definitions/AnalysisServicesServer" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true @@ -197,8 +271,15 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/suspend": { "post": { - "description": "Supends operation of the specified Analysis Services server instance.", - "tags": [ "Servers" ], + "description": "Suspends operation of the specified Analysis Services server instance.", + "x-ms-examples": { + "Suspend a server.": { + "$ref": "./examples/suspendServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_Suspend", "parameters": [ { @@ -227,6 +308,12 @@ }, "202": { "description": "Accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true @@ -235,7 +322,14 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume": { "post": { "description": "Resumes operation of the specified Analysis Services server instance.", - "tags": [ "Servers" ], + "x-ms-examples": { + "Resume a server.": { + "$ref": "./examples/resumeServer.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_Resume", "parameters": [ { @@ -264,6 +358,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true @@ -272,7 +372,14 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers": { "get": { "description": "Gets all the Analysis Services servers for the given resource group.", - "tags": [ "Servers" ], + "x-ms-examples": { + "List existing servers in the resource group.": { + "$ref": "./examples/listServersInResourceGroup.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_ListByResourceGroup", "parameters": [ { @@ -288,7 +395,15 @@ "responses": { "200": { "description": "OK", - "schema": { "$ref": "#/definitions/AnalysisServicesServers" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -299,7 +414,14 @@ "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/servers": { "get": { "description": "Lists all the Analysis Services servers for the given subscription.", - "tags": [ "Servers" ], + "x-ms-examples": { + "List existing servers under the subscription.": { + "$ref": "./examples/listServers.json" + } + }, + "tags": [ + "Servers" + ], "operationId": "Servers_List", "parameters": [ { @@ -312,16 +434,551 @@ "responses": { "200": { "description": "OK", - "schema": { "$ref": "#/definitions/AnalysisServicesServers" } + "schema": { + "$ref": "#/definitions/AnalysisServicesServers" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { "nextLinkName": null } } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/skus": { + "get": { + "description": "Lists eligible SKUs for Analysis Services resource provider.", + "x-ms-examples": { + "List eligible SKUs for a new server": { + "$ref": "./examples/listSkusForNew.json" + } + }, + "operationId": "Servers_ListSkusForNew", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SkuEnumerationForNewResourceResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/skus": { + "get": { + "description": "Lists eligible SKUs for an Analysis Services resource.", + "x-ms-examples": { + "List eligible SKUs for an existing server": { + "$ref": "./examples/listSkusForExisting.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_ListSkusForExisting", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SkuEnumerationForExistingResourceResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/listGatewayStatus": { + "post": { + "description": "Return the gateway status of the specified Analysis Services server instance.", + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/listGatewayStatus.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_ListGatewayStatus", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "description": "The name of the Analysis Services server." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/GatewayListStatusLive" + } + }, + "default": { + "description": "Default response as an error", + "schema": { + "$ref": "#/definitions/GatewayListStatusError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/dissociateGateway": { + "post": { + "description": "Dissociates a Unified Gateway associated with the server.", + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/dissociateGateway.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_DissociateGateway", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "serverName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "description": "The name of the Analysis Services server. It must be at least 3 characters in length, and no more than 63." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/checkNameAvailability": { + "post": { + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/checkNameAvailability.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_CheckNameAvailability", + "description": "Check the name availability in the target location.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name which the operation will lookup into." + }, + { + "name": "serverParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckServerNameAvailabilityParameters" + }, + "description": "Contains the information used to provision the Analysis Services server." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckServerNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationresults/{operationId}": { + "get": { + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/operationResults.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_ListOperationResults", + "description": "List the result of the specified operation.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name which the operation will lookup into." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The target operation Id." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed." + }, + "202": { + "description": "Accepted. The operation is ongoing." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.AnalysisServices/locations/{location}/operationstatuses/{operationId}": { + "get": { + "x-ms-examples": { + "Get details of a server": { + "$ref": "./examples/operationStatuses.json" + } + }, + "tags": [ + "Servers" + ], + "operationId": "Servers_ListOperationStatuses", + "description": "List the status of operation.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The region name which the operation will lookup into." + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The target operation Id." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The operation completed.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "Accepted. The operation is ongoing.", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.AnalysisServices/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { + "Operation": { + "description": "A Consumption REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Consumption.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: UsageDetail, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the operation object.", + "type": "string", + "readOnly": true + } + } + }, + "origin": { + "description": "The origin", + "type": "string", + "readOnly": true + }, + "properties": { + "description": "Additional properties to expose performance metrics to shoebox.", + "properties": { + "serviceSpecification": { + "description": "Performance metrics to shoebox.", + "properties": { + "metricSpecifications": { + "description": "The metric specifications.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricSpecifications" + } + }, + "logSpecifications": { + "description": "The log specifications.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/LogSpecifications" + } + } + } + } + } + } + } + }, + "MetricSpecifications": { + "description": "Available operation metric specification for exposing performance metrics to shoebox.", + "type": "object", + "properties": { + "name": { + "description": "The name of metric.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The displayed name of metric.", + "type": "string", + "readOnly": true + }, + "displayDescription": { + "description": "The displayed description of metric.", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "The unit of the metric.", + "type": "string", + "readOnly": true + }, + "aggregationType": { + "description": "The aggregation type of metric.", + "type": "string", + "readOnly": true + }, + "dimensions": { + "description": "The dimensions of metric.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/MetricDimensions" + } + } + } + }, + "LogSpecifications": { + "description": "The log metric specification for exposing performance metrics to shoebox.", + "type": "object", + "properties": { + "name": { + "description": "The name of metric.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The displayed name of log.", + "type": "string", + "readOnly": true + }, + "blobDuration": { + "description": "The blob duration for the log.", + "type": "string", + "readOnly": true + } + } + }, + "MetricDimensions": { + "description": "Metric dimension.", + "type": "object", + "properties": { + "name": { + "description": "Dimension name.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "Dimension display name.", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of analysis services operations supported by the Microsoft.AnalysisServices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, "Resource": { "description": "Represents an instance of an Analysis Services resource.", "type": "object", @@ -343,7 +1000,11 @@ }, "location": { "type": "string", - "description": "Location of the Analysis Services resource." + "description": "Location of the Analysis Services resource.", + "x-ms-mutability": [ + "create", + "read" + ] }, "sku": { "$ref": "#/definitions/ResourceSku", @@ -351,7 +1012,9 @@ }, "tags": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Key-value pairs of additional resource provisioning properties." } }, @@ -383,7 +1046,9 @@ "properties": { "value": { "type": "array", - "items": { "$ref": "#/definitions/AnalysisServicesServer" }, + "items": { + "$ref": "#/definitions/AnalysisServicesServer" + }, "description": "An array of Analysis Services resources." } }, @@ -401,7 +1066,9 @@ }, "tags": { "type": "object", - "additionalProperties": { "type": "string" }, + "additionalProperties": { + "type": "string" + }, "description": "Key-value pairs of additional provisioning properties." }, "properties": { @@ -417,7 +1084,7 @@ "properties": { "state": { "type": "string", - "enum": [ + "enum": [ "Deleting", "Succeeded", "Failed", @@ -440,7 +1107,7 @@ }, "provisioningState": { "type": "string", - "enum": [ + "enum": [ "Deleting", "Succeeded", "Failed", @@ -465,6 +1132,10 @@ "type": "string", "readOnly": true, "description": "The full name of the Analysis Services resource." + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The SKU of the Analysis Services resource." } }, "allOf": [ @@ -479,20 +1150,7 @@ "properties": { "name": { "type": "string", - "enum": [ - "B1", - "B2", - "S0", - "S1", - "S2", - "S4", - "D1" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": true - }, - "description": "Name of the SKU level for the server being provisioned." + "description": "Name of the SKU level." }, "tier": { "type": "string", @@ -506,6 +1164,14 @@ "modelAsString": true }, "description": "The name of the Azure pricing tier to which the SKU applies." + }, + "capacity": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 8, + "default": 1, + "description": "The number of instances in the read only query pool." } }, "required": [ @@ -517,15 +1183,66 @@ "type": "object", "properties": { "asAdministrators": { - "$ref": "#/definitions/ServerAdministrators" + "$ref": "#/definitions/ServerAdministrators", + "description": "A collection of AS server administrators" }, - "backupConfiguration": { - "$ref": "#/definitions/BackupConfiguration" + "backupBlobContainerUri": { + "type": "string", + "description": "The SAS container URI to the backup container." + }, + "gatewayDetails": { + "$ref": "#/definitions/GatewayDetails", + "description": "The gateway details configured for the AS server." + }, + "ipV4FirewallSettings": { + "$ref": "#/definitions/IPv4FirewallSettings", + "description": "The firewall settings for the AS server." + }, + "querypoolConnectionMode": { + "type": "string", + "description": "How the read-write server's participation in the query pool is controlled.
It can have the following values: Specifying readOnly when capacity is 1 results in error.", + "enum": [ + "All", + "ReadOnly" + ], + "x-ms-enum": { + "modelAsString": false, + "name": "ConnectionMode" + }, + "default": "All" + }, + "managedMode": { + "type": "integer", + "format": "int32", + "enum": [ + 0, + 1 + ], + "x-ms-enum": { + "modelAsString": false, + "name": "ManagedMode" + }, + "default": 1, + "description": "The managed mode of the server (0 = not managed, 1 = managed)." + }, + "serverMonitorMode": { + "type": "integer", + "format": "int32", + "enum": [ + 0, + 1 + ], + "x-ms-enum": { + "modelAsString": false, + "name": "ServerMonitorMode" + }, + "default": 1, + "description": "The server monitor mode for AS server" } } }, "ServerAdministrators": { - "description": "An array of administrator user identities", + "description": "An array of administrator user identities.", "type": "object", "properties": { "members": { @@ -538,27 +1255,279 @@ } } }, - "BackupConfiguration": { - "description": "An object that represents backup configurations", + "IPv4FirewallSettings": { + "description": "An array of firewall rules.", + "type": "object", + "properties": { + "firewallRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IPv4FirewallRule", + "description": "The content of firewall rule." + }, + "description": "An array of firewall rules." + }, + "enablePowerBIService": { + "type": "boolean", + "description": "The indicator of enabling PBI service." + } + } + }, + "IPv4FirewallRule": { + "description": "The detail of firewall rule.", + "type": "object", + "properties": { + "firewallRuleName": { + "type": "string", + "description": "The rule name." + }, + "rangeStart": { + "type": "string", + "description": "The start range of IPv4." + }, + "rangeEnd": { + "type": "string", + "description": "The end range of IPv4." + } + } + }, + "GatewayDetails": { + "description": "The gateway details.", + "type": "object", + "properties": { + "gatewayResourceId": { + "type": "string", + "description": "Gateway resource to be associated with the server." + }, + "gatewayObjectId": { + "type": "string", + "readOnly": true, + "description": "Gateway object id from in the DMTS cluster for the gateway resource." + }, + "dmtsClusterUri": { + "type": "string", + "readOnly": true, + "description": "Uri of the DMTS cluster." + } + } + }, + "GatewayListStatusLive": { + "description": "Status of gateway is live.", + "type": "object", + "properties": { + "status": { + "type": "integer", + "format": "int32", + "enum": [ + 0 + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": false + }, + "description": "Live message of list gateway. Status: 0 - Live" + } + } + }, + "GatewayListStatusError": { + "description": "Status of gateway is error.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/GatewayError", + "description": "Error of the list gateway status." + } + } + }, + "GatewayError": { + "description": "Detail of gateway errors.", + "type": "object", + "$ref": "#/definitions/ErrorDetail" + }, + "CheckServerNameAvailabilityParameters": { + "description": "Details of server name request body.", + "type": "object", + "properties": { + "name": { + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63, + "description": "Name for checking availability." + }, + "type": { + "type": "string", + "default": "Microsoft.AnalysisServices/servers", + "description": "The resource type of azure analysis services." + } + } + }, + "CheckServerNameAvailabilityResult": { + "description": "The checking result of server name availability.", + "type": "object", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "Indicator of available of the server name." + }, + "reason": { + "type": "string", + "description": "The reason of unavailability." + }, + "message": { + "type": "string", + "description": "The detailed message of the request unavailability." + } + } + }, + "OperationStatus": { + "description": "The status of operation.", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The operation Id." + }, + "name": { + "type": "string", + "description": "The operation name." + }, + "startTime": { + "type": "string", + "description": "The start time of the operation." + }, + "endTime": { + "type": "string", + "description": "The end time of the operation." + }, + "status": { + "type": "string", + "description": "The status of the operation." + }, + "error": { + "type": "object", + "description": "The error detail of the operation if any.", + "$ref": "#/definitions/ErrorDetail" + } + } + }, + "SkuEnumerationForNewResourceResult": { + "description": "An object that represents enumerating SKUs for new resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSku" + }, + "description": "The collection of available SKUs for new resources." + } + } + }, + "SkuEnumerationForExistingResourceResult": { + "description": "An object that represents enumerating SKUs for existing resources.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuDetailsForExistingResource" + }, + "description": "The collection of available SKUs for existing resources." + } + } + }, + "SkuDetailsForExistingResource": { + "description": "An object that represents SKU details for existing resources.", "type": "object", "properties": { - "storageAccount": { + "sku": { + "$ref": "#/definitions/ResourceSku", + "description": "The SKU in SKU details for existing resources." + }, + "resourceType": { + "type": "string", + "description": "The resource type." + } + } + }, + "ErrorDetail": { + "description": "The error detail.", + "properties": { + "code": { + "readOnly": true, "type": "string", - "description": "Storage account full resource id for backup configuration" + "description": "The error code." }, - "blobContainer": { + "message": { + "readOnly": true, "type": "string", - "description": "The name of blob container for backup configuration" + "description": "The error message." }, - "accessKey": { + "target": { + "readOnly": true, "type": "string", - "description": "The access key of storage account used for backup configuration" + "description": "The error target." + }, + "subCode": { + "readOnly": true, + "description": "The error sub code", + "type": "integer", + "format": "int32" + }, + "httpStatusCode": { + "readOnly": true, + "description": "The http status code", + "type": "integer", + "format": "int32" + }, + "timeStamp": { + "readOnly": true, + "description": "the timestamp for the error.", + "type": "string" + }, + "details": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + }, + "description": "The error details." + }, + "additionalInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "description": "The error additional info." + } + } + }, + "ErrorAdditionalInfo": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The additional info type." + }, + "info": { + "readOnly": true, + "type": "object", + "description": "The additional info." } }, - "required": [ - "storageAccount", - "blobContainer" - ] + "description": "The resource management error additional info." + }, + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "error": { + "description": "The error object", + "$ref": "#/definitions/ErrorDetail" + } + } } }, "parameters": { @@ -581,11 +1550,11 @@ "in": "path", "required": true, "type": "string", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 , + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, "x-ms-parameter-location": "method", "description": "The name of the Azure Resource group of which a given Analysis Services server is part. This name must be at least 1 character in length, and no more than 90." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimanagement.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimanagement.json index 516b9bea..2903909d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimanagement.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimanagement.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on entities like API, Product, and Subscription associated with your Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -33,356 +33,7 @@ } } }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies": { - "get": { - "tags": [ - "Policy" - ], - "operationId": "Policy_ListByService", - "description": "Lists all the Global Policy definitions of the Api Management service.", - "x-ms-examples": { - "ApiManagementListPolicies": { - "$ref": "./examples/ApiManagementListPolicies.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "scope", - "in": "query", - "required": false, - "type": "string", - "description": "Policy scope.", - "enum": [ - "Tenant", - "Product", - "Api", - "Operation", - "All" - ], - "x-ms-enum": { - "name": "PolicyScopeContract", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Returns an array of Policy Contracts.", - "schema": { - "$ref": "#/definitions/PolicyCollection" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policies/{policyId}": { - "head": { - "tags": [ - "Policy" - ], - "operationId": "Policy_GetEntityTag", - "description": "Gets the entity state (Etag) version of the Global policy definition in the Api Management service.", - "x-ms-examples": { - "ApiManagementHeadPolicy": { - "$ref": "./examples/ApiManagementHeadPolicy.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/PolicyIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The current entity state version is present in the ETag header.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "Policy" - ], - "operationId": "Policy_Get", - "description": "Get the Global policy definition of the Api Management service.", - "x-ms-examples": { - "ApiManagementGetPolicy": { - "$ref": "./examples/ApiManagementGetPolicy.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/PolicyIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Returns the Policy Contracts.", - "schema": { - "$ref": "#/definitions/PolicyContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "Policy" - ], - "operationId": "Policy_CreateOrUpdate", - "description": "Creates or updates the global policy configuration of the Api Management service.", - "x-ms-examples": { - "ApiManagementCreatePolicy": { - "$ref": "./examples/ApiManagementCreatePolicy.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/PolicyIdParameter" - }, - { - "name": "parameters", - "in": "body", - "schema": { - "$ref": "#/definitions/PolicyContract" - }, - "required": true, - "description": "The policy contents to apply." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Global policy configuration was successfully created.", - "schema": { - "$ref": "#/definitions/PolicyContract" - } - }, - "200": { - "description": "Global policy configuration of the Api Management service was successfully updated.", - "schema": { - "$ref": "#/definitions/PolicyContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Policy" - ], - "operationId": "Policy_Delete", - "description": "Deletes the global policy configuration of the Api Management Service.", - "x-ms-examples": { - "ApiManagementDeletePolicy": { - "$ref": "./examples/ApiManagementDeletePolicy.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/PolicyIdParameter" - }, - { - "$ref": "#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted the policy configuration at the Global level." - }, - "204": { - "description": "Successfully deleted the policy configuration at the Global level." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/policySnippets": { - "get": { - "tags": [ - "PolicySnippets" - ], - "operationId": "PolicySnippets_ListByService", - "description": "Lists all policy snippets.", - "x-ms-examples": { - "ApiManagementListPolicySnippets": { - "$ref": "./examples/ApiManagementListPolicySnippets.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "name": "scope", - "in": "query", - "required": false, - "type": "string", - "description": "Policy scope.", - "enum": [ - "Tenant", - "Product", - "Api", - "Operation", - "All" - ], - "x-ms-enum": { - "name": "PolicyScopeContract", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Returns an array of Policy Contracts.", - "schema": { - "$ref": "#/definitions/PolicySnippetsCollection" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/regions": { - "get": { - "tags": [ - "Regions" - ], - "operationId": "Regions_ListByService", - "description": "Lists all azure regions in which the service exists.", - "x-ms-examples": { - "ApiManagementListRegions": { - "$ref": "./examples/ApiManagementListRegions.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Lists of Regions in which the service is deployed.", - "schema": { - "$ref": "#/definitions/RegionListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - } - }, + "paths": {}, "definitions": { "ErrorFieldContract": { "properties": { @@ -402,6 +53,16 @@ "description": "Error Field contract." }, "ErrorResponse": { + "properties": { + "error": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ErrorResponseBody", + "description": "Properties of the Error Response." + } + }, + "description": "Error Response." + }, + "ErrorResponseBody": { "properties": { "code": { "type": "string", @@ -421,119 +82,6 @@ }, "description": "Error Body contract." }, - "PolicyCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PolicyContract" - }, - "description": "Policy Contract value." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "The response of the list policy operation." - }, - "PolicyContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PolicyContractProperties", - "description": "Properties of the Policy." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Policy Contract details." - }, - "PolicyContractProperties": { - "properties": { - "policyContent": { - "type": "string", - "description": "Json escaped Xml Encoded contents of the Policy." - }, - "contentFormat": { - "type": "string", - "description": "Format of the policyContent.", - "enum": [ - "xml", - "xml-link", - "rawxml", - "rawxml-link" - ], - "x-ms-enum": { - "name": "PolicyContentFormat", - "modelAsString": true, - "values": [ - { - "value": "xml", - "description": "The contents are inline and Content type is an XML document." - }, - { - "value": "xml-link", - "description": "The policy XML document is hosted on a http endpoint accessible from the API Management service." - }, - { - "value": "rawxml", - "description": "The contents are inline and Content type is a non XML encoded policy document." - }, - { - "value": "rawxml-link", - "description": "The policy document is not Xml encoded and is hosted on a http endpoint accessible from the API Management service." - } - ] - }, - "default": "xml" - } - }, - "required": [ - "policyContent" - ], - "description": "Policy contract Properties." - }, - "PolicySnippetsCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PolicySnippetContract" - }, - "description": "Policy snippet value." - } - }, - "description": "The response of the list policy snippets operation." - }, - "PolicySnippetContract": { - "properties": { - "name": { - "type": "string", - "description": "Snippet name.", - "readOnly": true - }, - "content": { - "type": "string", - "description": "Snippet content.", - "readOnly": true - }, - "toolTip": { - "type": "string", - "description": "Snippet toolTip.", - "readOnly": true - }, - "scope": { - "type": "integer", - "description": "Binary OR value of the Snippet scope.", - "readOnly": true - } - }, - "description": "Policy snippet." - }, "RegionContract": { "properties": { "name": { @@ -572,104 +120,259 @@ } }, "description": "Lists Regions operation response details." - }, - "Resource": { - "description": "The Resource definition.", - "x-ms-azure-resource": true, - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "type": "string", - "description": "Resource name.", - "readOnly": true - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type for API Management resource." - } - } } }, "parameters": { - "ApiVersionParameter": { - "name": "api-version", - "in": "query", + "AccessParameter": { + "name": "accessName", + "in": "path", "required": true, "type": "string", - "description": "Version of the API to be used with the client request." + "enum": [ + "access", + "gitAccess" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "AccessIdName" + }, + "description": "The identifier of the Access configuration.", + "x-ms-parameter-location": "method" }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", + "SettingsParameter": { + "name": "settingsType", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group.", + "enum": [ + "public" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "settingsTypeName" + }, + "description": "The identifier of the settings.", "x-ms-parameter-location": "method" }, - "ServiceNameParameter": { - "name": "serviceName", + "ApiIdParameter": { + "name": "apiId", "in": "path", "required": true, "type": "string", - "description": "The name of the API Management service.", + "description": "API identifier. Must be unique in the current API Management service instance.", "minLength": 1, - "maxLength": 50, - "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$", - "x-ms-parameter-location": "method" - }, - "SkipQueryParameter": { - "name": "$skip", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "description": "Number of records to skip.", - "minimum": 0, + "maxLength": 80, "x-ms-parameter-location": "method" }, - "SubscriptionIdParameter": { - "name": "subscriptionId", + "ApiIdRevParameter": { + "name": "apiId", "in": "path", "required": true, "type": "string", - "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" }, - "TopQueryParameter": { - "name": "$top", + "ApiVersionParameter": { + "name": "api-version", "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "description": "Number of records to return.", - "minimum": 1, - "x-ms-parameter-location": "method" + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request." }, - "PolicyIdParameter": { - "name": "policyId", + "ApiVersionSetIdParameter": { + "name": "versionSetId", "in": "path", "required": true, "type": "string", + "description": "Api Version Set identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "AppTypeParameter": { + "name": "appType", + "in": "query", + "required": false, + "type": "string", + "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.", "enum": [ - "policy" + "portal", + "developerPortal" ], - "description": "The identifier of the Policy.", "x-ms-enum": { + "name": "AppType", "modelAsString": true, - "name": "PolicyIdName" + "values": [ + { + "value": "portal", + "description": "User create request was sent by legacy developer portal." + }, + { + "value": "developerPortal", + "description": "User create request was sent by new developer portal." + } + ] }, + "default": "portal", "x-ms-parameter-location": "method" }, - "IfMatchRequiredParameter": { - "name": "If-Match", - "in": "header", + "AttachmentIdParameter": { + "name": "attachmentId", + "in": "path", + "required": true, + "type": "string", + "description": "Attachment identifier within an Issue. Must be unique in the current Issue.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "AuthenticationServerIdParameter": { + "name": "authsid", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the authorization server.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "BackendIdParameter": { + "name": "backendId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "CacheIdParameter": { + "name": "cacheId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the Cache entity. Cache identifier (should be either 'default' or valid Azure region identifier).", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "CertificateIdParameter": { + "name": "certificateId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "CommentIdParameter": { + "name": "commentId", + "in": "path", + "required": true, + "type": "string", + "description": "Comment identifier within an Issue. Must be unique in the current Issue.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "ConfigurationParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "configuration" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "configurationIdName" + }, + "description": "The identifier of the Git Configuration Operation.", + "x-ms-parameter-location": "method" + }, + "DiagnosticIdParameter": { + "name": "diagnosticId", + "in": "path", + "required": true, + "type": "string", + "description": "Diagnostic identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "EmailParameter": { + "name": "email", + "in": "path", + "required": true, + "type": "string", + "description": "Email identifier.", + "x-ms-parameter-location": "method" + }, + "GroupIdParameter": { + "name": "groupId", + "in": "path", "required": true, - "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", "type": "string", + "description": "Group identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, + "IdentityProviderNameParameter": { + "name": "identityProviderName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "facebook", + "google", + "microsoft", + "twitter", + "aad", + "aadB2C" + ], + "x-ms-enum": { + "name": "IdentityProviderType", + "modelAsString": true, + "values": [ + { + "value": "facebook", + "description": "Facebook as Identity provider." + }, + { + "value": "google", + "description": "Google as Identity provider." + }, + { + "value": "microsoft", + "description": "Microsoft Live as Identity provider." + }, + { + "value": "twitter", + "description": "Twitter as Identity provider." + }, + { + "value": "aad", + "description": "Azure Active Directory as Identity provider." + }, + { + "value": "aadB2C", + "description": "Azure Active Directory B2C as Identity provider." + } + ] + }, + "description": "Identity Provider Type identifier.", "x-ms-parameter-location": "method" }, "IfMatchOptionalParameter": { @@ -679,6 +382,389 @@ "description": "ETag of the Entity. Not required when creating an entity, but required when updating an entity.", "type": "string", "x-ms-parameter-location": "method" + }, + "IfMatchRequiredParameter": { + "name": "If-Match", + "in": "header", + "required": true, + "description": "ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "IssueIdParameter": { + "name": "issueId", + "in": "path", + "required": true, + "type": "string", + "description": "Issue identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "LocationNameParameter": { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.", + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "LoggerIdParameter": { + "name": "loggerId", + "in": "path", + "required": true, + "type": "string", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "description": "Logger identifier. Must be unique in the API Management service instance.", + "x-ms-parameter-location": "method" + }, + "NotificationNameParameter": { + "name": "notificationName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "RequestPublisherNotificationMessage", + "PurchasePublisherNotificationMessage", + "NewApplicationNotificationMessage", + "BCC", + "NewIssuePublisherNotificationMessage", + "AccountClosedPublisher", + "QuotaLimitApproachingPublisherNotificationMessage" + ], + "x-ms-enum": { + "name": "NotificationName", + "modelAsString": true, + "values": [ + { + "value": "RequestPublisherNotificationMessage", + "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval." + }, + { + "value": "PurchasePublisherNotificationMessage", + "description": "The following email recipients and users will receive email notifications about new API product subscriptions." + }, + { + "value": "NewApplicationNotificationMessage", + "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery." + }, + { + "value": "BCC", + "description": "The following recipients will receive blind carbon copies of all emails sent to developers." + }, + { + "value": "NewIssuePublisherNotificationMessage", + "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal." + }, + { + "value": "AccountClosedPublisher", + "description": "The following email recipients and users will receive email notifications when developer closes his account." + }, + { + "value": "QuotaLimitApproachingPublisherNotificationMessage", + "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota." + } + ] + }, + "description": "Notification Name Identifier.", + "x-ms-parameter-location": "method" + }, + "NotifySubscriptionStateChangeParameter": { + "name": "notify", + "in": "query", + "required": false, + "type": "boolean", + "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ", + "x-ms-parameter-location": "method" + }, + "OpenIdConnectIdParameter": { + "name": "opid", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the OpenID Connect Provider.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "Operation identifier within an API. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "PolicyExportFormat": { + "name": "format", + "in": "query", + "required": false, + "type": "string", + "description": "Policy Export Format.", + "enum": [ + "xml", + "rawxml" + ], + "x-ms-enum": { + "name": "PolicyExportFormat", + "modelAsString": true, + "values": [ + { + "value": "xml", + "description": "The contents are inline and Content type is an XML document." + }, + { + "value": "rawxml", + "description": "The contents are inline and Content type is a non XML encoded policy document." + } + ] + }, + "default": "xml", + "x-ms-parameter-location": "method" + }, + "PolicyIdParameter": { + "name": "policyId", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "policy" + ], + "description": "The identifier of the Policy.", + "x-ms-enum": { + "modelAsString": true, + "name": "PolicyIdName" + }, + "x-ms-parameter-location": "method" + }, + "PortalRevisionIdParameter": { + "name": "portalRevisionId", + "in": "path", + "required": true, + "type": "string", + "description": "Portal revision identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, + "ProductIdParameter": { + "name": "productId", + "in": "path", + "required": true, + "type": "string", + "description": "Product identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 256, + "x-ms-parameter-location": "method" + }, + "NamedValueIdParameter": { + "name": "namedValueId", + "in": "path", + "required": true, + "type": "string", + "description": "Identifier of the NamedValue.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "QuotaCounterKeyParameter": { + "name": "quotaCounterKey", + "in": "path", + "required": true, + "type": "string", + "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key", + "x-ms-parameter-location": "method" + }, + "QuotaPeriodKeyParameter": { + "name": "quotaPeriodKey", + "in": "path", + "required": true, + "type": "string", + "description": "Quota period key identifier.", + "x-ms-parameter-location": "method" + }, + "ReleaseIdParameter": { + "name": "releaseId", + "in": "path", + "required": true, + "type": "string", + "description": "Release identifier within an API. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "SchemaIdParameter": { + "name": "schemaId", + "in": "path", + "required": true, + "type": "string", + "description": "Schema identifier within an API. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "ServiceNameParameter": { + "name": "serviceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the API Management service.", + "minLength": 1, + "maxLength": 50, + "pattern": "^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$", + "x-ms-parameter-location": "method" + }, + "SkipQueryParameter": { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to skip.", + "minimum": 0, + "x-ms-parameter-location": "method" + }, + "SubscriptionEntityIdParameter": { + "name": "sid", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.", + "maxLength": 256, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "TagIdParameter": { + "name": "tagId", + "in": "path", + "required": true, + "type": "string", + "description": "Tag identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "TagDescriptionIdParameter": { + "name": "tagDescriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Tag description identifier. Used when creating tagDescription for API/Tag association. Based on API and Tag names.", + "minLength": 1, + "maxLength": 80, + "pattern": "^[^*#&+:<>?]+$", + "x-ms-parameter-location": "method" + }, + "TemplateNameParameter": { + "name": "templateName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "applicationApprovedNotificationMessage", + "accountClosedDeveloper", + "quotaLimitApproachingDeveloperNotificationMessage", + "newDeveloperNotificationMessage", + "emailChangeIdentityDefault", + "inviteUserNotificationMessage", + "newCommentNotificationMessage", + "confirmSignUpIdentityDefault", + "newIssueNotificationMessage", + "purchaseDeveloperNotificationMessage", + "passwordResetIdentityDefault", + "passwordResetByAdminNotificationMessage", + "rejectDeveloperNotificationMessage", + "requestDeveloperNotificationMessage" + ], + "x-ms-enum": { + "name": "TemplateName", + "modelAsString": true + }, + "description": "Email Template Name Identifier.", + "x-ms-parameter-location": "method" + }, + "TopQueryParameter": { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of records to return.", + "minimum": 1, + "x-ms-parameter-location": "method" + }, + "UserIdParameter": { + "name": "userId", + "in": "path", + "required": true, + "type": "string", + "description": "User identifier. Must be unique in the current API Management service instance.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "GatewayIdParameter": { + "name": "gatewayId", + "in": "path", + "required": true, + "type": "string", + "description": "Gateway entity identifier. Must be unique in the current API Management service instance. Must not have value 'managed'", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "GatewayHostnameConfigurationIdParameter": { + "name": "hcId", + "in": "path", + "required": true, + "type": "string", + "description": "Gateway hostname configuration identifier. Must be unique in the scope of parent Gateway entity.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "ContentTypeIdParameter": { + "name": "contentTypeId", + "in": "path", + "required": true, + "type": "string", + "description": "Content type identifier.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" + }, + "ContentItemIdParameter": { + "name": "contentItemId", + "in": "path", + "required": true, + "type": "string", + "description": "Content item identifier.", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimapis.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimapis.json index fcc1ee02..3e20bc1d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimapis.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimapis.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on API entity and their Operations associated with your Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis": { "get": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_ListByService", "description": "Lists all APIs of the API Management service instance.", @@ -61,7 +61,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| isCurrent | filter | eq, ne | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -70,25 +70,31 @@ "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "Include tags in the response." }, { "name": "expandApiVersionSet", "in": "query", - "type": "boolean", "required": false, - "default": false, + "type": "boolean", "description": "Include full ApiVersionSet resource in response" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Paged Result response of Apis.", "schema": { - "$ref": "#/definitions/ApiCollection" + "$ref": "./definitions.json#/definitions/ApiCollection" } }, "default": { @@ -101,13 +107,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ApiContract" + "x-ms-odata": "./definitions.json#/definitions/ApiContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}": { "head": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_GetEntityTag", "description": "Gets the entity state (Etag) version of the API specified by its identifier.", @@ -124,7 +130,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -153,20 +159,20 @@ }, "get": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_Get", "description": "Gets the details of the API specified by its identifier.", "x-ms-examples": { "ApiManagementGetApiContract": { "$ref": "./examples/ApiManagementGetApiContract.json" + }, + "ApiManagementGetApiRevisionContract": { + "$ref": "./examples/ApiManagementGetApiRevision.json" } }, "produces": [ - "application/json", - "application/vnd.sun.wadl+xml", - "application/vnd.swagger.doc+json", - "application/wsdl+xml" + "application/json" ], "parameters": [ { @@ -176,7 +182,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -189,7 +195,7 @@ "200": { "description": "The response body contains the specified API entity.", "schema": { - "$ref": "#/definitions/ApiContract" + "$ref": "./definitions.json#/definitions/ApiContract" }, "headers": { "ETag": { @@ -208,11 +214,14 @@ }, "put": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_CreateOrUpdate", "description": "Creates new or updates existing specified API of the API Management service instance.", "x-ms-examples": { + "ApiManagementCreateApiUsingOai3Import": { + "$ref": "./examples/ApiManagementCreateApiUsingOai3Import.json" + }, "ApiManagementCreateApiUsingSwaggerImport": { "$ref": "./examples/ApiManagementCreateApiUsingSwaggerImport.json" }, @@ -228,16 +237,28 @@ "ApiManagementCreateApi": { "$ref": "./examples/ApiManagementCreateApi.json" }, - "ApiManagementCreateApiRevision": { - "$ref": "./examples/ApiManagementCreateApiRevision.json" + "ApiManagementCreateWebSocketApi": { + "$ref": "./examples/ApiManagementCreateWebsocketApi.json" + }, + "ApiManagementCreateApiRevisionFromExistingApi": { + "$ref": "./examples/ApiManagementCreateApiRevisionFromExistingApi.json" + }, + "ApiManagementCreateApiNewVersionUsingExistingApi": { + "$ref": "./examples/ApiManagementCreateApiNewVersionUsingExistingApi.json" + }, + "ApiManagementCreateApiClone": { + "$ref": "./examples/ApiManagementCreateApiClone.json" + }, + "ApiManagementCreateApiWithOpenIdConnect": { + "$ref": "./examples/ApiManagementCreateApiWithOpenIdConnect.json" + }, + "ApiManagementCreateApiUsingImportOverrideServiceUrl": { + "$ref": "./examples/ApiManagementCreateApiUsingImportOverrideServiceUrl.json" + }, + "ApiManagementCreateGraphQLApi": { + "$ref": "./examples/ApiManagementCreateGraphQLApi.json" } }, - "consumes": [ - "application/json", - "application/vnd.sun.wadl+xml", - "application/vnd.swagger.doc+json", - "application/wsdl+xml" - ], "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" @@ -246,14 +267,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApiCreateOrUpdateParameter" + "$ref": "./definitions.json#/definitions/ApiCreateOrUpdateParameter" }, "description": "Create or update parameters." }, @@ -271,7 +292,7 @@ "201": { "description": "API was successfully created.", "schema": { - "$ref": "#/definitions/ApiContract" + "$ref": "./definitions.json#/definitions/ApiContract" }, "headers": { "ETag": { @@ -280,10 +301,13 @@ } } }, + "202": { + "description": "Request to create or update API was accepted. Location header contains the URL where the status of the long running operation can be checked." + }, "200": { "description": "API was successfully updated.", "schema": { - "$ref": "#/definitions/ApiContract" + "$ref": "./definitions.json#/definitions/ApiContract" }, "headers": { "ETag": { @@ -298,16 +322,20 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } }, "patch": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_Update", "description": "Updates the specified API of the API Management service instance.", "x-ms-examples": { - "ApiManagementUpdateApi.json": { + "ApiManagementUpdateApi": { "$ref": "./examples/ApiManagementUpdateApi.json" } }, @@ -319,14 +347,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApiUpdateContract" + "$ref": "./definitions.json#/definitions/ApiUpdateContract" }, "description": "API Update Contract parameters." }, @@ -341,8 +369,17 @@ } ], "responses": { - "204": { - "description": "The API was successfully updated." + "200": { + "description": "API was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -354,12 +391,12 @@ }, "delete": { "tags": [ - "Apis" + "Api" ], "operationId": "Api_Delete", "description": "Deletes the specified API of the API Management service instance.", "x-ms-examples": { - "ApiManagementDeleteApi.json": { + "ApiManagementDeleteApi": { "$ref": "./examples/ApiManagementDeleteApi.json" } }, @@ -371,7 +408,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "name": "deleteRevisions", @@ -409,9 +446,9 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/revisions": { "get": { "tags": [ - "Revisions" + "ApiRevision" ], - "operationId": "ApiRevisions_List", + "operationId": "ApiRevision_ListByService", "description": "Lists all revisions of an API.", "x-ms-examples": { "ApiManagementListApiRevisions": { @@ -426,33 +463,33 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n\r\n|apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith|\n" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The operation returns a list of revision details.", "schema": { - "$ref": "#/definitions/ApiRevisionCollection" + "$ref": "./definitions.json#/definitions/ApiRevisionCollection" } }, "default": { @@ -465,15 +502,15 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ApiRevisionContract" + "x-ms-odata": "./definitions.json#/definitions/ApiRevisionContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases": { "get": { "tags": [ - "Releases" + "ApiRelease" ], - "operationId": "ApiRelease_List", + "operationId": "ApiRelease_ListByService", "description": "Lists all releases of an API. An API release is created when making an API Revision current. Releases are also used to rollback to previous revisions. Results will be paged and can be constrained by the $top and $skip parameters.", "x-ms-examples": { "ApiManagementListApiReleases": { @@ -488,33 +525,33 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n|notes|ge le eq ne gt lt|substringof contains startswith endswith|" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| notes | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The operation returns a list of API Releases.", "schema": { - "$ref": "#/definitions/ApiReleaseCollection" + "$ref": "./definitions.json#/definitions/ApiReleaseCollection" } }, "default": { @@ -527,13 +564,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ApiReleaseContract" + "x-ms-odata": "./definitions.json#/definitions/ApiReleaseContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/releases/{releaseId}": { "head": { "tags": [ - "Releases" + "ApiRelease" ], "operationId": "ApiRelease_GetEntityTag", "description": "Returns the etag of an API release.", @@ -550,21 +587,21 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ReleaseIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The operation returns the details of an API Release.", + "description": "Gets the entity state (Etag) version of the api release as specified by its identifier.", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -582,7 +619,7 @@ }, "get": { "tags": [ - "Releases" + "ApiRelease" ], "operationId": "ApiRelease_Get", "description": "Returns the details of an API release.", @@ -599,23 +636,29 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ReleaseIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The operation returns the details of an API Release.", "schema": { - "$ref": "#/definitions/ApiReleaseContract" + "$ref": "./definitions.json#/definitions/ApiReleaseContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -628,9 +671,9 @@ }, "put": { "tags": [ - "Releases" + "ApiRelease" ], - "operationId": "ApiRelease_Create", + "operationId": "ApiRelease_CreateOrUpdate", "description": "Creates a new Release for the API.", "x-ms-examples": { "ApiManagementCreateApiRelease": { @@ -645,42 +688,57 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/ReleaseIdParameter" + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApiReleaseContract" + "$ref": "./definitions.json#/definitions/ApiReleaseContract" }, "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "201": { "description": "Release was successfully created.", "schema": { - "$ref": "#/definitions/ApiReleaseContract" + "$ref": "./definitions.json#/definitions/ApiReleaseContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Release was successfully updated.", "schema": { - "$ref": "#/definitions/ApiReleaseContract" + "$ref": "./definitions.json#/definitions/ApiReleaseContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { - "description": "Error response describing why the release failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } @@ -689,7 +747,7 @@ }, "patch": { "tags": [ - "Releases" + "ApiRelease" ], "operationId": "ApiRelease_Update", "description": "Updates the details of the release of the API specified by its identifier.", @@ -706,33 +764,42 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "#/parameters/ReleaseIdParameter" + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApiReleaseContract" + "$ref": "./definitions.json#/definitions/ApiReleaseContract" }, "description": "API Release Update parameters." }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { - "204": { - "description": "The operation was successfully updated." + "200": { + "description": "Release was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiReleaseContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -744,7 +811,7 @@ }, "delete": { "tags": [ - "Releases" + "ApiRelease" ], "operationId": "ApiRelease_Delete", "description": "Deletes the specified release in the API.", @@ -761,27 +828,27 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ReleaseIdParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { - "$ref": "#/parameters/ReleaseIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The release was successfully deleted." + "description": "API release successfully removed" }, "204": { - "description": "The release was successfully deleted." + "description": "API release successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -795,7 +862,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations": { "get": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_ListByApi", "description": "Lists a collection of the operations for the specified API.", @@ -812,14 +879,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -827,6 +894,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "Include tags in the response." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -838,7 +912,7 @@ "200": { "description": "A collection of operation summary entities at the API level.", "schema": { - "$ref": "#/definitions/OperationCollection" + "$ref": "./definitions.json#/definitions/OperationCollection" } }, "default": { @@ -851,13 +925,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/OperationContract" + "x-ms-odata": "./definitions.json#/definitions/OperationContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}": { "head": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_GetEntityTag", "description": "Gets the entity state (Etag) version of the API operation specified by its identifier.", @@ -874,10 +948,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -906,13 +980,16 @@ }, "get": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_Get", "description": "Gets the details of the API Operation specified by its identifier.", "x-ms-examples": { "ApiManagementGetApiOperation": { "$ref": "./examples/ApiManagementGetApiOperation.json" + }, + "ApiManagementGetApiOperationPetStore": { + "$ref": "./examples/ApiManagementGetApiOperationPetStore.json" } }, "parameters": [ @@ -923,10 +1000,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -939,7 +1016,7 @@ "200": { "description": "The response body contains the specified Operation entity.", "schema": { - "$ref": "#/definitions/OperationContract" + "$ref": "./definitions.json#/definitions/OperationContract" }, "headers": { "ETag": { @@ -958,7 +1035,7 @@ }, "put": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_CreateOrUpdate", "description": "Creates a new operation in the API or updates an existing one.", @@ -975,17 +1052,17 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/OperationContract" + "$ref": "./definitions.json#/definitions/OperationContract" }, "description": "Create parameters." }, @@ -1003,13 +1080,25 @@ "201": { "description": "Operation was successfully created.", "schema": { - "$ref": "#/definitions/OperationContract" + "$ref": "./definitions.json#/definitions/OperationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Operation was successfully updated.", "schema": { - "$ref": "#/definitions/OperationContract" + "$ref": "./definitions.json#/definitions/OperationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -1022,7 +1111,7 @@ }, "patch": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_Update", "description": "Updates the details of the operation in the API specified by its identifier.", @@ -1039,17 +1128,17 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/OperationUpdateContract" + "$ref": "./definitions.json#/definitions/OperationUpdateContract" }, "description": "API Operation Update parameters." }, @@ -1064,8 +1153,17 @@ } ], "responses": { - "204": { - "description": "The operation was successfully updated." + "200": { + "description": "Operation was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/OperationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -1077,7 +1175,7 @@ }, "delete": { "tags": [ - "Operations" + "ApiOperation" ], "operationId": "ApiOperation_Delete", "description": "Deletes the specified operation in the API.", @@ -1094,10 +1192,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -1111,10 +1209,10 @@ ], "responses": { "200": { - "description": "The operation was successfully deleted." + "description": "API operation successfully removed" }, "204": { - "description": "The operation was successfully deleted." + "description": "API operation successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -1128,7 +1226,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies": { "get": { "tags": [ - "ApiOperationPolicies" + "ApiOperationPolicy" ], "operationId": "ApiOperationPolicy_ListByOperation", "description": "Get the list of policy configuration at the API Operation level.", @@ -1145,10 +1243,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1161,7 +1259,7 @@ "200": { "description": "Api Operations Policy Collection.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyCollection" + "$ref": "./definitions.json#/definitions/PolicyCollection" } }, "default": { @@ -1176,7 +1274,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/policies/{policyId}": { "head": { "tags": [ - "ApiOperationPolicies" + "ApiOperationPolicy" ], "operationId": "ApiOperationPolicy_GetEntityTag", "description": "Gets the entity state (Etag) version of the API operation policy specified by its identifier.", @@ -1193,10 +1291,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" @@ -1228,7 +1326,7 @@ }, "get": { "tags": [ - "ApiOperationPolicies" + "ApiOperationPolicy" ], "operationId": "ApiOperationPolicy_Get", "description": "Get the policy configuration at the API Operation level.", @@ -1245,10 +1343,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" }, { "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" @@ -1264,7 +1365,7 @@ "200": { "description": "Api Operation Policy information.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, "headers": { "ETag": { @@ -1283,7 +1384,7 @@ }, "put": { "tags": [ - "ApiOperationPolicies" + "ApiOperationPolicy" ], "operationId": "ApiOperationPolicy_CreateOrUpdate", "description": "Creates or updates policy configuration for the API Operation level.", @@ -1300,10 +1401,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" @@ -1311,10 +1412,10 @@ { "name": "parameters", "in": "body", + "required": true, "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, - "required": true, "description": "The policy contents to apply." }, { @@ -1331,13 +1432,25 @@ "201": { "description": "Api Operation policy configuration was successfully created.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Api Operation policy configuration of the tenant was successfully updated.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -1350,13 +1463,13 @@ }, "delete": { "tags": [ - "ApiOperationPolicies" + "ApiOperationPolicy" ], "operationId": "ApiOperationPolicy_Delete", "description": "Deletes the policy configuration at the Api Operation.", "x-ms-examples": { - "ApiManagementDeleteOperationPolicy": { - "$ref": "./examples/ApiManagementDeleteOperationPolicy.json" + "ApiManagementDeleteApiOperationPolicy": { + "$ref": "./examples/ApiManagementDeleteApiOperationPolicy.json" } }, "parameters": [ @@ -1367,16 +1480,16 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/OperationIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1387,10 +1500,10 @@ ], "responses": { "200": { - "description": "Successfully deleted the policy configuration at the API Operation level." + "description": "Policy successfully removed" }, "204": { - "description": "Successfully deleted the policy configuration at the API Operation level." + "description": "Policy successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -1401,16 +1514,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": { "get": { "tags": [ - "ApiProduct" + "ApiOperationTag" ], - "operationId": "ApiProduct_ListByApis", - "description": "Lists all Products, which the API is part of.", + "operationId": "Tag_ListByOperation", + "description": "Lists all Tags associated with the Operation.", "x-ms-examples": { - "ApiManagementGetProductsForApi": { - "$ref": "./examples/ApiManagementGetProductsForApi.json" + "ApiManagementListApiOperationTags": { + "$ref": "./examples/ApiManagementListApiOperationTags.json" } }, "parameters": [ @@ -1421,14 +1534,17 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -1445,9 +1561,9 @@ ], "responses": { "200": { - "description": "The operation returns a collection of products which have the Api entity.", + "description": "The operation returns a collection of tags associated with the Operation entity.", "schema": { - "$ref": "./apimproducts.json#/definitions/ProductCollection" + "$ref": "./definitions.json#/definitions/TagCollection" } }, "default": { @@ -1460,19 +1576,19 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimproducts.json#/definitions/ProductContract" + "x-ms-odata": "./definitions.json#/definitions/TagContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": { + "head": { "tags": [ - "ApiPolicy" + "ApiOperationTag" ], - "operationId": "ApiPolicy_ListByApi", - "description": "Get the policy configuration at the API level.", + "operationId": "Tag_GetEntityStateByOperation", + "description": "Gets the entity state version of the tag specified by its identifier.", "x-ms-examples": { - "ApiManagementListApiPolicies": { - "$ref": "./examples/ApiManagementListApiPolicies.json" + "ApiManagementHeadApiOperationTag": { + "$ref": "./examples/ApiManagementHeadApiOperationTag.json" } }, "parameters": [ @@ -1483,7 +1599,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1494,10 +1616,7 @@ ], "responses": { "200": { - "description": "Apis Policy Collection.", - "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyCollection" - }, + "description": "Empty response body, ETag header entity state version.", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -1512,18 +1631,16 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": { - "head": { + }, + "get": { "tags": [ - "ApiPolicy" + "ApiOperationTag" ], - "operationId": "ApiPolicy_GetEntityTag", - "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.", + "operationId": "Tag_GetByOperation", + "description": "Get tag associated with the Operation.", "x-ms-examples": { - "ApiManagementHeadApiPolicy": { - "$ref": "./examples/ApiManagementHeadApiPolicy.json" + "ApiManagementGetApiOperationTag": { + "$ref": "./examples/ApiManagementGetApiOperationTag.json" } }, "parameters": [ @@ -1534,10 +1651,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1548,7 +1668,10 @@ ], "responses": { "200": { - "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.", + "description": "Gets the details of the tag specified by its identifier.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + }, "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -1564,22 +1687,17 @@ } } }, - "get": { + "put": { "tags": [ - "ApiPolicy" + "ApiOperationTag" ], - "operationId": "ApiPolicy_Get", - "description": "Get the policy configuration at the API level.", + "operationId": "Tag_AssignToOperation", + "description": "Assign tag to the Operation.", "x-ms-examples": { - "ApiManagementGetApiPolicy": { - "$ref": "./examples/ApiManagementGetApiPolicy.json" + "ApiManagementCreateApiOperationTag": { + "$ref": "./examples/ApiManagementCreateApiOperationTag.json" } }, - "produces": [ - "application/json", - "application/vnd.ms-azure-apim.policy+xml", - "application/vnd.ms-azure-apim.policy.raw+xml" - ], "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" @@ -1588,10 +1706,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1601,16 +1722,16 @@ } ], "responses": { + "201": { + "description": "Tag was assigned to the Operation.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, "200": { - "description": "Api Policy information.", + "description": "Tag is already assigned to the Operation.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "$ref": "./definitions.json#/definitions/TagContract" } }, "default": { @@ -1621,25 +1742,17 @@ } } }, - "put": { + "delete": { "tags": [ - "ApiPolicy" + "ApiOperationTag" ], - "operationId": "ApiPolicy_CreateOrUpdate", - "description": "Creates or updates policy configuration for the API.", + "operationId": "Tag_DetachFromOperation", + "description": "Detach the tag from the Operation.", "x-ms-examples": { - "ApiManagementCreateApiPolicy": { - "$ref": "./examples/ApiManagementCreateApiPolicy.json" - }, - "ApiManagementCreateApiPolicyNonXmlEncoded": { - "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json" + "ApiManagementDeleteApiOperationTag": { + "$ref": "./examples/ApiManagementDeleteApiOperationTag.json" } }, - "consumes": [ - "application/json", - "application/vnd.ms-azure-apim.policy+xml", - "application/vnd.ms-azure-apim.policy.raw+xml" - ], "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" @@ -1648,22 +1761,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "name": "parameters", - "in": "body", - "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" - }, - "required": true, - "description": "The policy contents to apply." + "$ref": "./apimanagement.json#/parameters/OperationIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1673,17 +1777,11 @@ } ], "responses": { - "201": { - "description": "Api policy configuration was successfully created.", - "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" - } - }, "200": { - "description": "Api policy configuration of the tenant was successfully updated.", - "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" - } + "description": "Tag was successfully removed from Operation" + }, + "204": { + "description": "Tag successfully removed by previous request or does not exist in Operation" }, "default": { "description": "Error response describing why the operation failed.", @@ -1692,16 +1790,18 @@ } } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/products": { + "get": { "tags": [ - "ApiPolicy" + "ApiProduct" ], - "operationId": "ApiPolicy_Delete", - "description": "Deletes the policy configuration at the Api.", + "operationId": "ApiProduct_ListByApis", + "description": "Lists all Products, which the API is part of.", "x-ms-examples": { - "ApiManagementDeleteApiPolicy": { - "$ref": "./examples/ApiManagementDeleteApiPolicy.json" + "ApiManagementListApiProducts": { + "$ref": "./examples/ApiManagementListApiProducts.json" } }, "parameters": [ @@ -1712,13 +1812,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1729,10 +1836,10 @@ ], "responses": { "200": { - "description": "Successfully deleted the policy configuration at the API level." - }, - "204": { - "description": "Successfully deleted the policy configuration at the API level." + "description": "The operation returns a collection of products which have the Api entity.", + "schema": { + "$ref": "./definitions.json#/definitions/ProductCollection" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -1740,19 +1847,23 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/ProductContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies": { "get": { "tags": [ - "ApiSchema" + "ApiPolicy" ], - "operationId": "ApiSchema_ListByApi", - "description": "Get the schema configuration at the API level.", + "operationId": "ApiPolicy_ListByApi", + "description": "Get the policy configuration at the API level.", "x-ms-examples": { - "ApiManagementListApiSchemas": { - "$ref": "./examples/ApiManagementListApiSchemas.json" + "ApiManagementListApiPolicies": { + "$ref": "./examples/ApiManagementListApiPolicies.json" } }, "parameters": [ @@ -1763,7 +1874,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1774,15 +1885,9 @@ ], "responses": { "200": { - "description": "Apis Schema Collection.", + "description": "Apis Policy Collection.", "schema": { - "$ref": "#/definitions/SchemaCollection" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "$ref": "./definitions.json#/definitions/PolicyCollection" } }, "default": { @@ -1791,22 +1896,19 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/policies/{policyId}": { "head": { "tags": [ - "ApiSchema" + "ApiPolicy" ], - "operationId": "ApiSchema_GetEntityTag", - "description": "Gets the entity state (Etag) version of the schema specified by its identifier.", + "operationId": "ApiPolicy_GetEntityTag", + "description": "Gets the entity state (Etag) version of the API policy specified by its identifier.", "x-ms-examples": { - "ApiManagementHeadApiSchema": { - "$ref": "./examples/ApiManagementHeadApiSchema.json" + "ApiManagementHeadApiPolicy": { + "$ref": "./examples/ApiManagementHeadApiPolicy.json" } }, "parameters": [ @@ -1817,10 +1919,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/SchemaIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1831,7 +1933,7 @@ ], "responses": { "200": { - "description": "Specified schema entity exists and current entity state version is present in the ETag header.", + "description": "Specified API Policy entity exists and current entity state version is present in the ETag header.", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -1849,15 +1951,20 @@ }, "get": { "tags": [ - "ApiSchema" + "ApiPolicy" ], - "operationId": "ApiSchema_Get", - "description": "Get the schema configuration at the API level.", + "operationId": "ApiPolicy_Get", + "description": "Get the policy configuration at the API level.", "x-ms-examples": { - "ApiManagementGetApiSchema": { - "$ref": "./examples/ApiManagementGetApiSchema.json" + "ApiManagementGetApiPolicy": { + "$ref": "./examples/ApiManagementGetApiPolicy.json" } }, + "produces": [ + "application/json", + "application/vnd.ms-azure-apim.policy+xml", + "application/vnd.ms-azure-apim.policy.raw+xml" + ], "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" @@ -1866,10 +1973,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { - "$ref": "#/parameters/SchemaIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -1880,9 +1990,9 @@ ], "responses": { "200": { - "description": "Api Schema information.", + "description": "Api Policy information.", "schema": { - "$ref": "#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, "headers": { "ETag": { @@ -1901,13 +2011,16 @@ }, "put": { "tags": [ - "ApiSchema" + "ApiPolicy" ], - "operationId": "ApiSchema_CreateOrUpdate", - "description": "Creates or updates schema configuration for the API.", + "operationId": "ApiPolicy_CreateOrUpdate", + "description": "Creates or updates policy configuration for the API.", "x-ms-examples": { - "ApiManagementCreateApiSchema": { - "$ref": "./examples/ApiManagementCreateApiSchema.json" + "ApiManagementCreateApiPolicy": { + "$ref": "./examples/ApiManagementCreateApiPolicy.json" + }, + "ApiManagementCreateApiPolicyNonXmlEncoded": { + "$ref": "./examples/ApiManagementCreateApiPolicyNonXmlEncoded.json" } }, "parameters": [ @@ -1918,19 +2031,19 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/SchemaIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { "name": "parameters", "in": "body", + "required": true, "schema": { - "$ref": "#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, - "required": true, - "description": "The schema contents to apply." + "description": "The policy contents to apply." }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" @@ -1944,15 +2057,27 @@ ], "responses": { "201": { - "description": "Api schema configuration was successfully created.", + "description": "Api policy configuration was successfully created.", "schema": { - "$ref": "#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { - "description": "Api schema configuration of the tenant was successfully updated.", + "description": "Api policy configuration of the tenant was successfully updated.", "schema": { - "$ref": "#/definitions/SchemaContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -1965,13 +2090,13 @@ }, "delete": { "tags": [ - "ApiSchema" + "ApiPolicy" ], - "operationId": "ApiSchema_Delete", - "description": "Deletes the schema configuration at the Api.", + "operationId": "ApiPolicy_Delete", + "description": "Deletes the policy configuration at the Api.", "x-ms-examples": { - "ApiManagementDeleteApiSchema": { - "$ref": "./examples/ApiManagementDeleteApiSchema.json" + "ApiManagementDeleteApiPolicy": { + "$ref": "./examples/ApiManagementDeleteApiPolicy.json" } }, "parameters": [ @@ -1982,10 +2107,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "#/parameters/SchemaIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -1999,10 +2124,10 @@ ], "responses": { "200": { - "description": "Successfully deleted the schema configuration at the API level." + "description": "Successfully deleted the policy configuration at the API level." }, "204": { - "description": "Successfully deleted the schema configuration at the API level." + "description": "Successfully deleted the policy configuration at the API level." }, "default": { "description": "Error response describing why the operation failed.", @@ -2013,16 +2138,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apisByTags": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas": { "get": { "tags": [ - "ApisByTags" + "ApiSchema" ], - "operationId": "Api_ListByTags", - "description": "Lists a collection of apis associated with tags.", + "operationId": "ApiSchema_ListByApi", + "description": "Get the schema configuration at the API level.", "x-ms-examples": { - "ApiManagementListApisByTags": { - "$ref": "./examples/ApiManagementListApisByTags.json" + "ApiManagementListApiSchemas": { + "$ref": "./examples/ApiManagementListApiSchemas.json" } }, "parameters": [ @@ -2032,12 +2157,15 @@ { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| aid | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| isCurrent | eq | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| contentType | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -2054,28 +2182,33 @@ ], "responses": { "200": { - "description": "Lists a collection of TagResource entities.", + "description": "Apis Schema Collection.", + "schema": { + "$ref": "./definitions.json#/definitions/SchemaCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./apimtagresources.json#/definitions/TagResourceCollection" + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/schemas/{schemaId}": { + "head": { "tags": [ - "ApiDiagnostics" + "ApiSchema" ], - "operationId": "ApiDiagnostic_ListByService", - "description": "Lists all diagnostics of an API.", + "operationId": "ApiSchema_GetEntityTag", + "description": "Gets the entity state (Etag) version of the schema specified by its identifier.", "x-ms-examples": { - "ApiManagementListApiDiagnostics": { - "$ref": "./examples/ApiManagementListApiDiagnostics.json" + "ApiManagementHeadApiSchema": { + "$ref": "./examples/ApiManagementHeadApiSchema.json" } }, "parameters": [ @@ -2086,33 +2219,26 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of diagnostics for an API.", - "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticCollection" + "description": "Specified schema entity exists and current entity state version is present in the ETag header.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -2121,23 +2247,17 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimdiagnostics.json#/definitions/DiagnosticContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": { - "head": { + } + }, + "get": { "tags": [ - "ApiDiagnostics" + "ApiSchema" ], - "operationId": "ApiDiagnostic_GetEntityTag", - "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", + "operationId": "ApiSchema_Get", + "description": "Get the schema configuration at the API level.", "x-ms-examples": { - "ApiManagementHeadApiDiagnostic": { - "$ref": "./examples/ApiManagementHeadApiDiagnostic.json" + "ApiManagementGetApiSchema": { + "$ref": "./examples/ApiManagementGetApiSchema.json" } }, "parameters": [ @@ -2148,10 +2268,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2162,7 +2282,10 @@ ], "responses": { "200": { - "description": "Operation completed successfully.", + "description": "Api Schema information.", + "schema": { + "$ref": "./definitions.json#/definitions/SchemaContract" + }, "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -2178,15 +2301,15 @@ } } }, - "get": { + "put": { "tags": [ - "ApiDiagnostics" + "ApiSchema" ], - "operationId": "ApiDiagnostic_Get", - "description": "Gets the details of the Diagnostic for an API specified by its identifier.", + "operationId": "ApiSchema_CreateOrUpdate", + "description": "Creates or updates schema configuration for the API.", "x-ms-examples": { - "ApiManagementGetApiDiagnostic": { - "$ref": "./examples/ApiManagementGetApiDiagnostic.json" + "ApiManagementCreateApiSchema": { + "$ref": "./examples/ApiManagementCreateApiSchema.json" } }, "parameters": [ @@ -2197,10 +2320,22 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/SchemaContract" + }, + "description": "The schema contents to apply." }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2210,10 +2345,25 @@ } ], "responses": { + "202": { + "description": "Request to create or update Api schema was accepted." + }, + "201": { + "description": "Api schema configuration was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/SchemaContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, "200": { - "description": "The response body contains the specified Diagnostic entity.", + "description": "Api schema configuration of the tenant was successfully updated.", "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/SchemaContract" }, "headers": { "ETag": { @@ -2228,17 +2378,21 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } }, - "put": { + "delete": { "tags": [ - "ApiDiagnostics" + "ApiSchema" ], - "operationId": "ApiDiagnostic_CreateOrUpdate", - "description": "Creates a new Diagnostic for an API or updates an existing one.", + "operationId": "ApiSchema_Delete", + "description": "Deletes the schema configuration at the Api.", "x-ms-examples": { - "ApiManagementCreateApiDiagnostic": { - "$ref": "./examples/ApiManagementCreateApiDiagnostic.json" + "ApiManagementDeleteApiSchema": { + "$ref": "./examples/ApiManagementDeleteApiSchema.json" } }, "parameters": [ @@ -2249,22 +2403,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/SchemaIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract" - }, - "description": "Create parameters." + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "If true removes all references to the schema before deleting it." }, { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2274,17 +2426,11 @@ } ], "responses": { - "201": { - "description": "Diagnostic was successfully created.", - "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract" - } - }, "200": { - "description": "Diagnostic was successfully updated.", - "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract" - } + "description": "Successfully deleted the schema configuration at the API level." + }, + "204": { + "description": "Successfully deleted the schema configuration at the API level." }, "default": { "description": "Error response describing why the operation failed.", @@ -2293,16 +2439,18 @@ } } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics": { + "get": { "tags": [ - "ApiDiagnostics" + "ApiDiagnostic" ], - "operationId": "ApiDiagnostic_Update", - "description": "Updates the details of the Diagnostic for an API specified by its identifier.", + "operationId": "ApiDiagnostic_ListByService", + "description": "Lists all diagnostics of an API.", "x-ms-examples": { - "ApiManagementUpdateApiDiagnostic": { - "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" + "ApiManagementListApiDiagnostics": { + "$ref": "./examples/ApiManagementListApiDiagnostics.json" } }, "parameters": [ @@ -2313,22 +2461,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./apimdiagnostics.json#/definitions/DiagnosticContract" - }, - "description": "Diagnostic Update parameters." + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2338,8 +2484,11 @@ } ], "responses": { - "204": { - "description": "The Diagnostic was successfully updated." + "200": { + "description": "Paged Result response of diagnostics for an API.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticCollection" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2347,17 +2496,23 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - } - }, - "delete": { + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}": { + "head": { "tags": [ - "ApiDiagnostics" + "ApiDiagnostic" ], - "operationId": "ApiDiagnostic_Delete", - "description": "Deletes the specified Diagnostic from an API.", + "operationId": "ApiDiagnostic_GetEntityTag", + "description": "Gets the entity state (Etag) version of the Diagnostic for an API specified by its identifier.", "x-ms-examples": { - "ApiManagementDeleteApiDiagnostic": { - "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json" + "ApiManagementHeadApiDiagnostic": { + "$ref": "./examples/ApiManagementHeadApiDiagnostic.json" } }, "parameters": [ @@ -2368,13 +2523,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2385,10 +2537,13 @@ ], "responses": { "200": { - "description": "The Diagnostic was successfully deleted." - }, - "204": { - "description": "The Diagnostic was successfully deleted." + "description": "Operation completed successfully.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2397,18 +2552,16 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers": { + }, "get": { "tags": [ - "ApiDiagnosticLoggers" + "ApiDiagnostic" ], - "operationId": "ApiDiagnosticLogger_ListByService", - "description": "Lists all loggers assosiated with the specified Diagnostic of an API.", + "operationId": "ApiDiagnostic_Get", + "description": "Gets the details of the Diagnostic for an API specified by its identifier.", "x-ms-examples": { - "ApiManagementListApiDiagnosticLoggers": { - "$ref": "./examples/ApiManagementListApiDiagnosticLoggers.json" + "ApiManagementGetApiDiagnostic": { + "$ref": "./examples/ApiManagementGetApiDiagnostic.json" } }, "parameters": [ @@ -2419,36 +2572,29 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| type | eq | |" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of loggers assigned to the specified Diagnostic.", + "description": "The response body contains the specified Diagnostic entity.", "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerCollection" + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -2457,23 +2603,17 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimloggers.json#/definitions/LoggerContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/diagnostics/{diagnosticId}/loggers/{loggerid}": { - "head": { + } + }, + "put": { "tags": [ - "ApiDiagnosticLoggers" + "ApiDiagnostic" ], - "operationId": "ApiDiagnosticLogger_CheckEntityExists", - "description": "Checks that logger entity specified by identifier is associated with the diagnostics entity.", + "operationId": "ApiDiagnostic_CreateOrUpdate", + "description": "Creates a new Diagnostic for an API or updates an existing one.", "x-ms-examples": { - "ApiManagementHeadApiDiagnosticLogger": { - "$ref": "./examples/ApiManagementHeadApiDiagnosticLogger.json" + "ApiManagementCreateApiDiagnostic": { + "$ref": "./examples/ApiManagementCreateApiDiagnostic.json" } }, "parameters": [ @@ -2484,13 +2624,22 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Create parameters." }, { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2500,11 +2649,29 @@ } ], "responses": { - "204": { - "description": "Entity exists" + "201": { + "description": "Diagnostic was successfully created.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, - "404": { - "description": "Entity does not exists." + "200": { + "description": "Diagnostic was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -2514,15 +2681,15 @@ } } }, - "put": { + "patch": { "tags": [ - "ApiDiagnosticLoggers" + "ApiDiagnostic" ], - "operationId": "ApiDiagnosticLogger_CreateOrUpdate", - "description": "Attaches a logger to a dignostic for an API.", + "operationId": "ApiDiagnostic_Update", + "description": "Updates the details of the Diagnostic for an API specified by its identifier.", "x-ms-examples": { - "ApiManagementCreateApiDiagnosticLogger": { - "$ref": "./examples/ApiManagementCreateApiDiagnosticLogger.json" + "ApiManagementUpdateApiDiagnostic": { + "$ref": "./examples/ApiManagementUpdateApiDiagnostic.json" } }, "parameters": [ @@ -2533,13 +2700,22 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "description": "Diagnostic Update parameters." }, { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2549,16 +2725,16 @@ } ], "responses": { - "201": { - "description": "Logger was successfully attached to Diagnostic.", - "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerContract" - } - }, "200": { - "description": "Logger to Diagnostic link was successfully updated.", + "description": "Diagnostic was successfully updated.", "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -2571,13 +2747,13 @@ }, "delete": { "tags": [ - "ApiDiagnosticLoggers" + "ApiDiagnostic" ], - "operationId": "ApiDiagnosticLogger_Delete", - "description": "Deletes the specified Logger from Diagnostic for an API.", + "operationId": "ApiDiagnostic_Delete", + "description": "Deletes the specified Diagnostic from an API.", "x-ms-examples": { - "ApiManagementDeleteApiDiagnosticLogger": { - "$ref": "./examples/ApiManagementDeleteApiDiagnosticLogger.json" + "ApiManagementDeleteApiDiagnostic": { + "$ref": "./examples/ApiManagementDeleteApiDiagnostic.json" } }, "parameters": [ @@ -2588,13 +2764,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimdiagnostics.json#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2605,10 +2781,10 @@ ], "responses": { "200": { - "description": "The Logger was successfully detached from Diagnostic." + "description": "Diagnostic successfully removed" }, "204": { - "description": "The Logger was successfully detached from Diagnostic." + "description": "Diagnostic successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -2622,10 +2798,10 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues": { "get": { "tags": [ - "ApiIssues" + "ApiIssue" ], "operationId": "ApiIssue_ListByService", - "description": "Lists all issues assosiated with the specified API.", + "description": "Lists all issues associated with the specified API.", "x-ms-examples": { "ApiManagementListApiIssues": { "$ref": "./examples/ApiManagementListApiIssues.json" @@ -2639,33 +2815,40 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| state | eq | |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
" + }, + { + "name": "expandCommentsAttachments", + "in": "query", + "required": false, + "type": "boolean", + "description": "Expand the comment attachments. " }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of issues for the API.", + "description": "Paged Result response of issues for the API.", "schema": { - "$ref": "#/definitions/IssueCollection" + "$ref": "./definitions.json#/definitions/IssueCollection" } }, "default": { @@ -2678,13 +2861,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/IssueContract" + "x-ms-odata": "./definitions.json#/definitions/IssueContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}": { "head": { "tags": [ - "ApiIssues" + "ApiIssue" ], "operationId": "ApiIssue_GetEntityTag", "description": "Gets the entity state (Etag) version of the Issue for an API specified by its identifier.", @@ -2701,10 +2884,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2733,7 +2916,7 @@ }, "get": { "tags": [ - "ApiIssues" + "ApiIssue" ], "operationId": "ApiIssue_Get", "description": "Gets the details of the Issue for an API specified by its identifier.", @@ -2750,10 +2933,17 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "name": "expandCommentsAttachments", + "in": "query", + "required": false, + "type": "boolean", + "description": "Expand the comment attachments. " }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2766,7 +2956,7 @@ "200": { "description": "The response body contains the specified Issue entity.", "schema": { - "$ref": "#/definitions/IssueContract" + "$ref": "./definitions.json#/definitions/IssueContract" }, "headers": { "ETag": { @@ -2785,7 +2975,7 @@ }, "put": { "tags": [ - "ApiIssues" + "ApiIssue" ], "operationId": "ApiIssue_CreateOrUpdate", "description": "Creates a new Issue for an API or updates an existing one.", @@ -2802,26 +2992,22 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IssueContract" + "$ref": "./definitions.json#/definitions/IssueContract" }, "description": "Create parameters." }, { - "name": "If-Match", - "in": "header", - "required": false, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2832,15 +3018,91 @@ ], "responses": { "201": { - "description": "Issue was successfully created.", + "description": "New api issue successfully added", + "schema": { + "$ref": "./definitions.json#/definitions/IssueContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Api issue successfully updated", + "schema": { + "$ref": "./definitions.json#/definitions/IssueContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IssueContract" + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } + } + } + }, + "patch": { + "tags": [ + "ApiIssue" + ], + "operationId": "ApiIssue_Update", + "description": "Updates an existing issue for an API.", + "x-ms-examples": { + "ApiManagementUpdateApiIssue": { + "$ref": "./examples/ApiManagementUpdateApiIssue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/IssueUpdateContract" + }, + "description": "Update parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { "200": { - "description": "Issue was successfully updated.", + "description": "Api issue updated successfully.", "schema": { - "$ref": "#/definitions/IssueContract" + "$ref": "./definitions.json#/definitions/IssueContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -2853,7 +3115,7 @@ }, "delete": { "tags": [ - "ApiIssues" + "ApiIssue" ], "operationId": "ApiIssue_Delete", "description": "Deletes the specified Issue from an API.", @@ -2870,17 +3132,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "name": "If-Match", - "in": "header", - "required": true, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -2891,10 +3149,10 @@ ], "responses": { "200": { - "description": "The Issue was successfully deleted." + "description": "Issue successfully removed" }, "204": { - "description": "The Issue was successfully deleted." + "description": "Issue successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -2908,10 +3166,10 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments": { "get": { "tags": [ - "ApiIssueComments" + "ApiIssueComment" ], "operationId": "ApiIssueComment_ListByService", - "description": "Lists all comments for the Issue assosiated with the specified API.", + "description": "Lists all comments for the Issue associated with the specified API.", "x-ms-examples": { "ApiManagementListApiIssueComments": { "$ref": "./examples/ApiManagementListApiIssueComments.json" @@ -2925,36 +3183,36 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of issue comments for the API.", + "description": "Paged Result response of issue comments for the API.", "schema": { - "$ref": "#/definitions/IssueCommentCollection" + "$ref": "./definitions.json#/definitions/IssueCommentCollection" } }, "default": { @@ -2967,13 +3225,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/IssueCommentContract" + "x-ms-odata": "./definitions.json#/definitions/IssueCommentContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/comments/{commentId}": { "head": { "tags": [ - "ApiIssueComments" + "ApiIssueComment" ], "operationId": "ApiIssueComment_GetEntityTag", "description": "Gets the entity state (Etag) version of the issue Comment for an API specified by its identifier.", @@ -2990,13 +3248,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/CommentIdParameter" + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3025,7 +3283,7 @@ }, "get": { "tags": [ - "ApiIssueComments" + "ApiIssueComment" ], "operationId": "ApiIssueComment_Get", "description": "Gets the details of the issue Comment for an API specified by its identifier.", @@ -3042,13 +3300,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/CommentIdParameter" + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3061,7 +3319,7 @@ "200": { "description": "The response body contains the specified issue Comment entity.", "schema": { - "$ref": "#/definitions/IssueCommentContract" + "$ref": "./definitions.json#/definitions/IssueCommentContract" }, "headers": { "ETag": { @@ -3080,7 +3338,7 @@ }, "put": { "tags": [ - "ApiIssueComments" + "ApiIssueComment" ], "operationId": "ApiIssueComment_CreateOrUpdate", "description": "Creates a new Comment for the Issue in an API or updates an existing one.", @@ -3097,29 +3355,25 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/CommentIdParameter" + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IssueCommentContract" + "$ref": "./definitions.json#/definitions/IssueCommentContract" }, "description": "Create parameters." }, { - "name": "If-Match", - "in": "header", - "required": false, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3130,15 +3384,27 @@ ], "responses": { "201": { - "description": "Issue Comment was successfully created.", + "description": "New api issue comment successfully added", "schema": { - "$ref": "#/definitions/IssueCommentContract" + "$ref": "./definitions.json#/definitions/IssueCommentContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { - "description": "Issue Comment was successfully updated.", + "description": "Api issue comment successfully updated", "schema": { - "$ref": "#/definitions/IssueCommentContract" + "$ref": "./definitions.json#/definitions/IssueCommentContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -3151,7 +3417,7 @@ }, "delete": { "tags": [ - "ApiIssueComments" + "ApiIssueComment" ], "operationId": "ApiIssueComment_Delete", "description": "Deletes the specified comment from an Issue.", @@ -3168,20 +3434,16 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/CommentIdParameter" + "$ref": "./apimanagement.json#/parameters/CommentIdParameter" }, { - "name": "If-Match", - "in": "header", - "required": true, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3192,10 +3454,10 @@ ], "responses": { "200": { - "description": "The issue Comment was successfully deleted." + "description": "Comment successfully removed" }, "204": { - "description": "The issue Comment was successfully deleted." + "description": "Comment successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -3209,10 +3471,10 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments": { "get": { "tags": [ - "ApiIssueAttachments" + "ApiIssueAttachment" ], "operationId": "ApiIssueAttachment_ListByService", - "description": "Lists all comments for the Issue assosiated with the specified API.", + "description": "Lists all attachments for the Issue associated with the specified API.", "x-ms-examples": { "ApiManagementListApiIssueAttachments": { "$ref": "./examples/ApiManagementListApiIssueAttachments.json" @@ -3226,36 +3488,36 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of issue comments for the API.", + "description": "Paged Result response of issue attachments for the API.", "schema": { - "$ref": "#/definitions/IssueAttachmentCollection" + "$ref": "./definitions.json#/definitions/IssueAttachmentCollection" } }, "default": { @@ -3268,13 +3530,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/IssueAttachmentContract" + "x-ms-odata": "./definitions.json#/definitions/IssueAttachmentContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/issues/{issueId}/attachments/{attachmentId}": { "head": { "tags": [ - "ApiIssueAttachments" + "ApiIssueAttachment" ], "operationId": "ApiIssueAttachment_GetEntityTag", "description": "Gets the entity state (Etag) version of the issue Attachment for an API specified by its identifier.", @@ -3291,13 +3553,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/AttachmentIdParameter" + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3326,7 +3588,7 @@ }, "get": { "tags": [ - "ApiIssueAttachments" + "ApiIssueAttachment" ], "operationId": "ApiIssueAttachment_Get", "description": "Gets the details of the issue Attachment for an API specified by its identifier.", @@ -3343,13 +3605,13 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/AttachmentIdParameter" + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3362,7 +3624,7 @@ "200": { "description": "The response body contains the specified issue Attachment entity.", "schema": { - "$ref": "#/definitions/IssueAttachmentContract" + "$ref": "./definitions.json#/definitions/IssueAttachmentContract" }, "headers": { "ETag": { @@ -3381,7 +3643,7 @@ }, "put": { "tags": [ - "ApiIssueAttachments" + "ApiIssueAttachment" ], "operationId": "ApiIssueAttachment_CreateOrUpdate", "description": "Creates a new Attachment for the Issue in an API or updates an existing one.", @@ -3398,29 +3660,25 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/AttachmentIdParameter" + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IssueAttachmentContract" + "$ref": "./definitions.json#/definitions/IssueAttachmentContract" }, "description": "Create parameters." }, { - "name": "If-Match", - "in": "header", - "required": false, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3431,15 +3689,27 @@ ], "responses": { "201": { - "description": "Issue Attachment was successfully created.", + "description": "New api issue attachment successfully added", "schema": { - "$ref": "#/definitions/IssueAttachmentContract" + "$ref": "./definitions.json#/definitions/IssueAttachmentContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { - "description": "Issue Attachment was successfully updated.", + "description": "Api issue attachment successfully updated", "schema": { - "$ref": "#/definitions/IssueAttachmentContract" + "$ref": "./definitions.json#/definitions/IssueAttachmentContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -3452,7 +3722,7 @@ }, "delete": { "tags": [ - "ApiIssueAttachments" + "ApiIssueAttachment" ], "operationId": "ApiIssueAttachment_Delete", "description": "Deletes the specified comment from an Issue.", @@ -3469,20 +3739,16 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdParameter" }, { - "$ref": "#/parameters/IssueIdParameter" + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" }, { - "$ref": "#/parameters/AttachmentIdParameter" + "$ref": "./apimanagement.json#/parameters/AttachmentIdParameter" }, { - "name": "If-Match", - "in": "header", - "required": true, - "description": "ETag of the Issue Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.", - "type": "string" + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3493,10 +3759,10 @@ ], "responses": { "200": { - "description": "The issue Attachment was successfully deleted." + "description": "Attachment successfully removed" }, "204": { - "description": "The issue Attachment was successfully deleted." + "description": "Attachment successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -3506,19 +3772,17 @@ } } } - } - }, - "x-ms-paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": { + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": { "get": { "tags": [ - "Apis" + "ApiTagDescription" ], - "operationId": "ApiExport_Get", - "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.", + "operationId": "ApiTagDescription_ListByService", + "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations", "x-ms-examples": { - "ApiManagementGetApiExportInOpenApi2dot0": { - "$ref": "./examples/ApiManagementGetApiExportInOpenApi2dot0.json" + "ApiManagementListApiTagDescriptions": { + "$ref": "./examples/ApiManagementListApiTagDescriptions.json" } }, "parameters": [ @@ -3529,54 +3793,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ApiIdRevParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { - "name": "format", + "name": "$filter", "in": "query", - "required": true, + "required": false, "type": "string", - "enum": [ - "swagger-link", - "wadl-link", - "wsdl-link" - ], - "x-ms-enum": { - "name": "ExportFormat", - "modelAsString": true, - "values": [ - { - "value": "swagger-link", - "description": "Export the Api Definition in OpenApi Specification 2.0 format to the Storage Blob.", - "name": "Swagger" - }, - { - "value": "wsdl-link", - "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`", - "name": "Wsdl" - }, - { - "value": "wadl-link", - "description": "Export the Api Definition in WADL Schema to Storage Blob.", - "name": "Wadl" - } - ] - }, - "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { - "name": "export", - "in": "query", - "required": true, - "type": "string", - "enum": [ - "true" - ], - "x-ms-enum": { - "modelAsString": true, - "name": "ExportApi" - }, - "description": "Query parameter required to export the API details." + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -3587,9 +3817,9 @@ ], "responses": { "200": { - "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.", + "description": "The operation returns a collection of tagDescriptions associated with the Api entity.", "schema": { - "$ref": "#/definitions/ApiExportResult" + "$ref": "./definitions.json#/definitions/TagDescriptionCollection" } }, "default": { @@ -3598,1162 +3828,695 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } - } - } - } - }, - "definitions": { - "ApiExportResult": { - "properties": { - "link": { - "type": "string", - "description": "Link to the Storage Blob containing the result of the export operation. The Blob Uri is only valid for 5 minutes." - } - }, - "description": "API Export result Blob Uri." - }, - "ApiCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ApiContract" - }, - "description": "Page values.", - "readOnly": true }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Api list representation." - }, - "ApiContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApiContractProperties", - "description": "Api entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "API details." - }, - "ApiCreateOrUpdateParameter": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApiCreateOrUpdateProperties", - "description": "Api entity create of update properties." - } - }, - "description": "API Create or Update Parameters." - }, - "ApiCreateOrUpdateProperties": { - "properties": { - "contentValue": { - "type": "string", - "description": "Content value when Importing an API." + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "contentFormat": { - "type": "string", - "description": "Format of the Content in which the API is getting imported.", - "enum": [ - "wadl-xml", - "wadl-link-json", - "swagger-json", - "swagger-link-json", - "wsdl", - "wsdl-link" - ], - "x-ms-enum": { - "name": "ContentFormat", - "modelAsString": true, - "values": [ - { - "value": "wadl-xml", - "description": "The contents are inline and Content type is a WADL document." - }, - { - "value": "wadl-link-json", - "description": "The WADL document is hosted on a publicly accessible internet address." - }, - { - "value": "swagger-json", - "description": "The contents are inline and Content Type is a OpenApi 2.0 Document." - }, - { - "value": "swagger-link-json", - "description": "The Open Api 2.0 document is hosted on a publicly accessible internet address." - }, - { - "value": "wsdl", - "description": "The contents are inline and the document is a WSDL/Soap document." - }, - { - "value": "wsdl-link", - "description": "The WSDL document is hosted on a publicly accessible internet address." - } - ] + "x-ms-odata": "./definitions.json#/definitions/TagDescriptionContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagDescriptionId}": { + "head": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_GetEntityTag", + "description": "Gets the entity state version of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiTagDescription": { + "$ref": "./examples/ApiManagementHeadApiTagDescription.json" } }, - "wsdlSelector": { - "type": "object", - "description": "Criteria to limit import of WSDL to a subset of the document.", - "properties": { - "wsdlServiceName": { - "type": "string", - "description": "Name of service to import from WSDL" - }, - "wsdlEndpointName": { - "type": "string", - "description": "Name of endpoint(port) to import from WSDL" - } + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } - }, - "apiType": { - "type": "string", - "description": "Type of Api to create. \n * `http` creates a SOAP to REST API \n * `soap` creates a SOAP pass-through API .", - "enum": [ - "http", - "soap" - ], - "x-ms-client-name": "SoapApiType", - "x-ms-enum": { - "name": "SoapApiType", - "modelAsString": true, - "values": [ - { - "value": "http", - "description": "Imports a SOAP API having a RESTful front end.", - "name": "SoapToRest" - }, - { - "value": "soap", - "description": "Imports the Soap API having a SOAP front end.", - "name": "SoapPassThrough" + ], + "responses": { + "200": { + "description": "Empty response body, ETag header entity state version.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" } - ] - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/ApiContractProperties" - } - ], - "description": "Api Create or Update Properties." - }, - "ApiContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "API name.", - "minLength": 1, - "maxLength": 300 - }, - "serviceUrl": { - "type": "string", - "description": "Absolute URL of the backend service implementing this API.", - "minLength": 0, - "maxLength": 2000 - }, - "path": { - "type": "string", - "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.", - "minLength": 0, - "maxLength": 400 - }, - "protocols": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "http", - "https" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": false } }, - "description": "Describes on which protocols the operations in this API can be invoked." - }, - "apiVersionSet": { - "$ref": "#/definitions/ApiVersionSetContractDetails" - } - }, - "allOf": [ - { - "$ref": "#/definitions/ApiEntityBaseContract" - } - ], - "required": [ - "path" - ], - "description": "Api Entity Properties" - }, - "ApiUpdateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApiContractUpdateProperties", - "description": "Properties of the API entity that can be updated." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "description": "API update contract details." - }, - "ApiContractUpdateProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "API name.", - "minLength": 1, - "maxLength": 300 - }, - "serviceUrl": { - "type": "string", - "description": "Absolute URL of the backend service implementing this API.", - "minLength": 1, - "maxLength": 2000 - }, - "path": { - "type": "string", - "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.", - "minLength": 0, - "maxLength": 400 + "get": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_Get", + "description": "Get Tag description in scope of API", + "x-ms-examples": { + "ApiManagementGetApiTagDescription": { + "$ref": "./examples/ApiManagementGetApiTagDescription.json" + } }, - "protocols": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "http", - "https" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": false + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the description of the tag specified by its identifier in scope if the Api.", + "schema": { + "$ref": "./definitions.json#/definitions/TagDescriptionContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, - "description": "Describes on which protocols the operations in this API can be invoked." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ApiEntityBaseContract" - } - ], - "description": "API update contract properties." - }, - "ApiEntityBaseContract": { - "properties": { - "description": { - "type": "string", - "description": "Description of the API. May include HTML formatting tags." - }, - "authenticationSettings": { - "$ref": "#/definitions/AuthenticationSettingsContract", - "description": "Collection of authentication settings included into this API." - }, - "subscriptionKeyParameterNames": { - "$ref": "#/definitions/SubscriptionKeyParameterNamesContract", - "description": "Protocols over which API is made available." - }, - "type": { - "type": "string", - "description": "Type of API.", - "enum": [ - "http", - "soap" - ], - "x-ms-client-name": "ApiType", - "x-ms-enum": { - "name": "ApiType", - "modelAsString": true + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - }, - "apiRevision": { - "type": "string", - "description": "Describes the Revision of the Api. If no value is provided, default revision 1 is created", - "minLength": 1, - "maxLength": 100 - }, - "apiVersion": { - "type": "string", - "description": "Indicates the Version identifier of the API if the API is versioned", - "maxLength": 100 - }, - "isCurrent": { - "type": "boolean", - "description": "Indicates if API revision is current api revision.", - "readOnly": true - }, - "isOnline": { - "type": "boolean", - "description": "Indicates if API revision is accessible via the gateway.", - "readOnly": true - }, - "apiVersionSetId": { - "type": "string", - "description": "A resource identifier for the related ApiVersionSet." - } - }, - "description": "API base contract details." - }, - "ApiRevisionCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ApiRevisionContract" - }, - "description": "Page values.", - "readOnly": true - }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Api Revision list representation." - }, - "ApiRevisionContract": { - "properties": { - "apiId": { - "type": "string", - "readOnly": true, - "description": "Identifier of the API Revision." - }, - "apiRevision": { - "type": "string", - "minLength": 1, - "maxLength": 100, - "readOnly": true, - "description": "Revision number of API." - }, - "createdDateTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "The time the API Revision was created. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." - }, - "updatedDateTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "The time the API Revision were updated. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." - }, - "description": { - "type": "string", - "readOnly": true, - "maxLength": 256, - "description": "Description of the API Revision." - }, - "privateUrl": { - "type": "string", - "readOnly": true, - "description": "Gateway URL for accessing the non-current API Revision." - }, - "isOnline": { - "type": "boolean", - "readOnly": true, - "description": "Indicates if API revision is the current api revision." - }, - "isCurrent": { - "type": "boolean", - "readOnly": true, - "description": "Indicates if API revision is accessible via the gateway." - } - }, - "description": "Summary of revision metadata." - }, - "ApiRevisionInfoContract": { - "description": "Object used to create an API Revision or Version based on an existing API Revision", - "properties": { - "sourceApiId": { - "type": "string", - "description": "Resource identifier of API to be used to create the revision from." - }, - "apiVersionName": { - "type": "string", - "maxLength": 100, - "description": "Version identifier for the new API Version." - }, - "apiRevisionDescription": { - "type": "string", - "maxLength": 256, - "description": "Description of new API Revision." - }, - "apiVersionSet": { - "description": "Version set details", - "$ref": "#/definitions/ApiVersionSetContractDetails" - } - } - }, - "ApiVersionSetContractDetails": { - "description": "An API Version Set contains the common configuration for a set of API Versions relating ", - "properties": { - "id": { - "type": "string", - "description": "Identifier for existing API Version Set. Omit this value to create a new Version Set." - }, - "description": { - "type": "string", - "description": "Description of API Version Set." - }, - "versioningScheme": { - "type": "string", - "description": "An value that determines where the API Version identifer will be located in a HTTP request.", - "enum": [ - "Segment", - "Query", - "Header" - ] - }, - "versionQueryName": { - "type": "string", - "description": "Name of query parameter that indicates the API Version if versioningScheme is set to `query`." - }, - "versionHeaderName": { - "type": "string", - "description": "Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`." - } - } - }, - "ApiReleaseCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ApiReleaseContract" - }, - "description": "Page values.", - "readOnly": true - }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Api Revision list representation." - }, - "ApiReleaseContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApiReleaseContractProperties", - "description": "Properties of the Api Release Contract." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Api Release details." - }, - "ApiReleaseContractProperties": { - "description": "API Release details", - "properties": { - "apiId": { - "type": "string", - "description": "Identifier of the API the release belongs to." - }, - "createdDateTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "The time the API was released. The date conforms to the following format: yyyy-MM-ddTHH:mm:ssZ as specified by the ISO 8601 standard." - }, - "updatedDateTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "The time the API release was updated." - }, - "notes": { - "type": "string", - "description": "Release Notes" - } - } - }, - "AuthenticationSettingsContract": { - "properties": { - "oAuth2": { - "$ref": "#/definitions/OAuth2AuthenticationSettingsContract", - "description": "OAuth2 Authentication settings" - } - }, - "description": "API Authentication Settings." - }, - "OAuth2AuthenticationSettingsContract": { - "properties": { - "authorizationServerId": { - "type": "string", - "description": "OAuth authorization server identifier." - }, - "scope": { - "type": "string", - "description": "operations scope." } }, - "description": "API OAuth2 Authentication settings details." - }, - "OperationCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/OperationContract" - }, - "description": "Page values.", - "readOnly": true - }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Operation list representation." - }, - "OperationContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OperationContractProperties", - "description": "Properties of the Operation Contract." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Api Operation details." - }, - "OperationContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Operation Name.", - "minLength": 1, - "maxLength": 300 - }, - "method": { - "type": "string", - "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", - "externalDocs": { - "description": "As defined by RFC.", - "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" + "put": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_CreateOrUpdate", + "description": "Create/Update tag description in scope of the Api.", + "x-ms-examples": { + "ApiManagementCreateApiTagDescription": { + "$ref": "./examples/ApiManagementCreateApiTagDescription.json" } }, - "urlTemplate": { - "type": "string", - "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}", - "minLength": 1, - "maxLength": 1000 - } - }, - "allOf": [ - { - "$ref": "#/definitions/OperationEntityBaseContract" - } - ], - "required": [ - "displayName", - "method", - "urlTemplate" - ], - "description": "Operation Contract Properties" - }, - "OperationUpdateContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Operation Name.", - "minLength": 1, - "maxLength": 300 - }, - "method": { - "type": "string", - "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", - "externalDocs": { - "description": "As defined by RFC.", - "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/TagDescriptionCreateParameters" + }, + "description": "Create parameters." + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } - }, - "urlTemplate": { - "type": "string", - "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}", - "minLength": 1, - "maxLength": 1000 - } - }, - "allOf": [ - { - "$ref": "#/definitions/OperationEntityBaseContract" - } - ], - "description": "Operation Update Contract Properties." - }, - "OperationEntityBaseContract": { - "properties": { - "templateParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/ParameterContract" - }, - "description": "Collection of URL template parameters." - }, - "description": { - "type": "string", - "description": "Description of the operation. May include HTML formatting tags.", - "maxLength": 1000 - }, - "request": { - "$ref": "#/definitions/RequestContract", - "description": "An entity containing request details." - }, + ], "responses": { - "type": "array", - "items": { - "$ref": "#/definitions/ResponseContract" + "201": { + "description": "Tag Description was created for the Api.", + "schema": { + "$ref": "./definitions.json#/definitions/TagDescriptionContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, - "description": "Array of Operation responses." - }, - "policies": { - "type": "string", - "description": "Operation Policies" - } - }, - "description": "Api Operation Entity Base Contract details." - }, - "OperationUpdateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OperationUpdateContractProperties", - "description": "Properties of the API Operation entity that can be updated." - } - }, - "description": "Api Operation Update Contract details." - }, - "ParameterContract": { - "properties": { - "name": { - "type": "string", - "description": "Parameter name." - }, - "description": { - "type": "string", - "description": "Parameter description." - }, - "type": { - "type": "string", - "description": "Parameter type." - }, - "defaultValue": { - "type": "string", - "description": "Default parameter value." - }, - "required": { - "type": "boolean", - "description": "whether parameter is required or not." - }, - "values": { - "type": "array", - "items": { - "type": "string" + "200": { + "description": "Tag Description was updated for the Api.", + "schema": { + "$ref": "./definitions.json#/definitions/TagDescriptionContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, - "description": "Parameter values." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "required": [ - "name", - "type" - ], - "description": "Operation parameters details." - }, - "RepresentationContract": { - "properties": { - "contentType": { - "type": "string", - "description": "Specifies a registered or custom content type for this representation, e.g. application/xml." - }, - "sample": { - "type": "string", - "description": "An example of the representation." - }, - "schemaId": { - "type": "string", - "description": "Schema identifier. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." - }, - "typeName": { - "type": "string", - "description": "Type name defined by the schema. Applicable only if 'contentType' value is neither 'application/x-www-form-urlencoded' nor 'multipart/form-data'." + "delete": { + "tags": [ + "ApiTagDescription" + ], + "operationId": "ApiTagDescription_Delete", + "description": "Delete tag description for the Api.", + "x-ms-examples": { + "ApiManagementDeleteApiTagDescription": { + "$ref": "./examples/ApiManagementDeleteApiTagDescription.json" + } }, - "formParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/ParameterContract" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, - "description": "Collection of form parameters. Required if 'contentType' value is either 'application/x-www-form-urlencoded' or 'multipart/form-data'.." - } - }, - "required": [ - "contentType" - ], - "description": "Operation request/response representation details." - }, - "RequestContract": { - "properties": { - "description": { - "type": "string", - "description": "Operation request description." - }, - "queryParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/ParameterContract" + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, - "description": "Collection of operation request query parameters." - }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/ParameterContract" + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, - "description": "Collection of operation request headers." - }, - "representations": { - "type": "array", - "items": { - "$ref": "#/definitions/RepresentationContract" + { + "$ref": "./apimanagement.json#/parameters/TagDescriptionIdParameter" }, - "description": "Collection of operation request representations." - } - }, - "description": "Operation request details." - }, - "ResponseContract": { - "properties": { - "statusCode": { - "type": "integer", - "format": "int32", - "description": "Operation response HTTP status code." - }, - "description": { - "type": "string", - "description": "Operation response description." - }, - "representations": { - "type": "array", - "items": { - "$ref": "#/definitions/RepresentationContract" + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, - "description": "Collection of operation response representations." - }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/ParameterContract" + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, - "description": "Collection of operation response headers." - } - }, - "required": [ - "statusCode" - ], - "description": "Operation response details." - }, - "SubscriptionKeyParameterNamesContract": { - "properties": { - "header": { - "type": "string", - "description": "Subscription key header name." - }, - "query": { - "type": "string", - "description": "Subscription key query string parameter name." - } - }, - "description": "Subscription key parameter names details.", - "example": { - "subscriptionKeyParameterNames": { - "query": "customQueryParameterName", - "header": "customHeaderParameterName" + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Tag description successfully removed" + }, + "204": { + "description": "Tag description successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } } }, - "SchemaCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SchemaContract" - }, - "description": "Api Schema Contract value.", - "readOnly": true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": { + "get": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_ListByApi", + "description": "Lists all Tags associated with the API.", + "x-ms-examples": { + "ApiManagementListApiTags": { + "$ref": "./examples/ApiManagementListApiTags.json" + } }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "The response of the list schema operation." - }, - "SchemaContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SchemaContractProperties", - "description": "Properties of the Schema." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Schema Contract details." - }, - "SchemaContractProperties": { - "properties": { - "contentType": { - "type": "string", - "description": "Must be a valid a media type used in a Content-Type header as defined in the RFC 2616. Media type of the schema document (e.g. application/json, application/xml)." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation returns a collection of tags associated with the Api entity.", + "schema": { + "$ref": "./definitions.json#/definitions/TagCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } }, - "document": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SchemaDocumentProperties", - "description": "Properties of the Schema Document." - } - }, - "required": [ - "contentType" - ], - "description": "Schema contract Properties." - }, - "SchemaDocumentProperties": { - "properties": { - "value": { - "type": "string", - "description": "Json escaped string defining the document representing the Schema." - } - }, - "description": "Schema Document Properties." - }, - "IssueCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IssueContract" - }, - "description": "Issue values.", - "readOnly": true + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Issue list representation." - }, - "IssueContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IssueContractProperties", - "description": "Properties of the Issue." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Issue Contract details." + "x-ms-odata": "./definitions.json#/definitions/TagContract" + } }, - "IssueContractProperties": { - "properties": { - "title": { - "type": "string", - "description": "The issue title." - }, - "description": { - "type": "string", - "description": "Text describing the issue." - }, - "createdDate": { - "type":"string", - "format": "date-time", - "description": "Date and time when the issue was created." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": { + "head": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_GetEntityStateByApi", + "description": "Gets the entity state version of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadApiTag": { + "$ref": "./examples/ApiManagementHeadApiTag.json" + } }, - "state": { - "type": "string", - "description": "Status of the issue.", - "enum": [ - "proposed", - "open", - "removed", - "resolved", - "closed" - ], - "x-ms-enum": { - "name": "State", - "modelAsString": true, - "values": [ - { - "value": "proposed", - "description": "The issue is proposed." - }, - { - "value": "open", - "description": "The issue is opened." - }, - { - "value": "removed", - "description": "The issue was removed." - }, - { - "value": "resolved", - "description": "The issue is now resolved." - }, - { - "value": "closed", - "description": "The issue was closed." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Empty response body, ETag header entity state version.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" } - ] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - }, - "userId": { - "type": "string", - "description": "A resource identifier for the user created the issue." - }, - "apiId": { - "type": "string", - "description": "A resource identifier for the API the issue was created for." } }, - "required": [ - "title", - "description", - "userId" - ], - "description": "Issue contract Properties." - }, - "IssueCommentCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IssueCommentContract" - }, - "description": "Issue Comment values.", - "readOnly": true + "get": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_GetByApi", + "description": "Get tag associated with the API.", + "x-ms-examples": { + "ApiManagementGetApiTag": { + "$ref": "./examples/ApiManagementGetApiTag.json" + } }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Issue Comment list representation." - }, - "IssueCommentContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IssueCommentContractProperties", - "description": "Properties of the Issue Comment." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the details of the tag specified by its identifier.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Issue Comment Contract details." - }, - "IssueCommentContractProperties": { - "properties": { - "text": { - "type": "string", - "description": "Comment text." - }, - "createdDate": { - "type":"string", - "format": "date-time", - "description": "Date and time when the comment was created." + "put": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_AssignToApi", + "description": "Assign tag to the Api.", + "x-ms-examples": { + "ApiManagementCreateApiTag": { + "$ref": "./examples/ApiManagementCreateApiTag.json" + } }, - "userId": { - "type": "string", - "description": "A resource identifier for the user who left the comment." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Tag was assigned to the Api.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "200": { + "description": "Tag is already assigned to the Api.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "required": [ - "text", - "userId" - ], - "description": "Issue Comment contract Properties." - }, - "IssueAttachmentCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IssueAttachmentContract" - }, - "description": "Issue Attachment values.", - "readOnly": true + "delete": { + "tags": [ + "ApiTag" + ], + "operationId": "Tag_DetachFromApi", + "description": "Detach the tag from the Api.", + "x-ms-examples": { + "ApiManagementDeleteApiTag": { + "$ref": "./examples/ApiManagementDeleteApiTag.json" + } }, - "nextLink": { - "type": "string", - "description": "Next page link if any.", - "readOnly": true - } - }, - "description": "Paged Issue Attachment list representation." - }, - "IssueAttachmentContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IssueAttachmentContractProperties", - "description": "Properties of the Issue Attachment." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "API/Tag association successfully removed" + }, + "204": { + "description": "API/Tag association successfully removed by previous request or does not exist" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } - ], - "description": "Issue Attachment Contract details." + } }, - "IssueAttachmentContractProperties": { - "properties": { - "title": { - "type": "string", - "description": "Filename by which the binary data will be saved." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": { + "get": { + "tags": [ + "ApiOperationsByTag" + ], + "operationId": "Operation_ListByTags", + "description": "Lists a collection of operations associated with tags.", + "x-ms-examples": { + "ApiManagementListApiOperationsByTags": { + "$ref": "./examples/ApiManagementListApiOperationsByTags.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "name": "includeNotTaggedOperations", + "in": "query", + "required": false, + "type": "boolean", + "description": "Include not tagged Operations." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of TagResource entities.", + "schema": { + "$ref": "./definitions.json#/definitions/TagResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } }, - "contentFormat": { - "type":"string", - "description": "Either 'link' if content is provided via an HTTP link or the MIME type of the Base64-encoded binary data provided in the 'content' property." + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "content": { - "type": "string", - "description": "An HTTP link or Base64-encoded binary data." - } - }, - "required": [ - "title", - "contentFormat", - "content" - ], - "description": "Issue Attachment contract Properties." + "x-ms-odata": "./definitions.json#/definitions/TagResourceContract" + } } }, - "parameters": { - "ApiIdParameter": { - "name": "apiId", - "in": "path", - "required": true, - "type": "string", - "description": "API identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - }, - "ApiIdRevParameter": { - "name": "apiId", - "in": "path", - "required": true, - "type": "string", - "description": "API revision identifier. Must be unique in the current API Management service instance. Non-current revision has ;rev=n as a suffix where n is the revision number.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[^*#&+:<>?]+$", - "x-ms-parameter-location": "method" - }, - "OperationIdParameter": { - "name": "operationId", - "in": "path", - "required": true, - "type": "string", - "description": "Operation identifier within an API. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - }, - "SchemaIdParameter": { - "name": "schemaId", - "in": "path", - "required": true, - "type": "string", - "description": "Schema identifier within an API. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - }, - "ReleaseIdParameter": { - "name": "releaseId", - "in": "path", - "required": true, - "type": "string", - "description": "Release identifier within an API. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - }, - "IssueIdParameter": { - "name": "issueId", - "in": "path", - "required": true, - "type": "string", - "description": "Issue identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[^*#&+:<>?]+$", - "x-ms-parameter-location": "method" - }, - "CommentIdParameter": { - "name": "commentId", - "in": "path", - "required": true, - "type": "string", - "description": "Comment identifier within an Issue. Must be unique in the current Issue.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[^*#&+:<>?]+$", - "x-ms-parameter-location": "method" - }, - "AttachmentIdParameter": { - "name": "attachmentId", - "in": "path", - "required": true, - "type": "string", - "description": "Attachment identifier within an Issue. Must be unique in the current Issue.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[^*#&+:<>?]+$", - "x-ms-parameter-location": "method" + "x-ms-paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}?export=true": { + "get": { + "tags": [ + "Apis" + ], + "operationId": "ApiExport_Get", + "description": "Gets the details of the API specified by its identifier in the format specified to the Storage Blob with SAS Key valid for 5 minutes.", + "x-ms-examples": { + "ApiManagementGetApiExportInOpenApi2dot0": { + "$ref": "./examples/ApiManagementGetApiExportInOpenApi2dot0.json" + }, + "ApiManagementGetApiExportInOpenApi3dot0": { + "$ref": "./examples/ApiManagementGetApiExportInOpenApi3dot0.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" + }, + { + "name": "format", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "swagger-link", + "wadl-link", + "wsdl-link", + "openapi-link", + "openapi+json-link" + ], + "x-ms-enum": { + "name": "ExportFormat", + "modelAsString": true, + "values": [ + { + "value": "swagger-link", + "description": "Export the Api Definition in OpenAPI 2.0 Specification as JSON document to the Storage Blob.", + "name": "Swagger" + }, + { + "value": "wsdl-link", + "description": "Export the Api Definition in WSDL Schema to Storage Blob. This is only supported for APIs of Type `soap`", + "name": "Wsdl" + }, + { + "value": "wadl-link", + "description": "Export the Api Definition in WADL Schema to Storage Blob.", + "name": "Wadl" + }, + { + "value": "openapi-link", + "description": "Export the Api Definition in OpenAPI 3.0 Specification as YAML document to Storage Blob.", + "name": "Openapi" + }, + { + "value": "openapi+json-link", + "description": "Export the Api Definition in OpenAPI 3.0 Specification as JSON document to Storage Blob.", + "name": "OpenapiJson" + } + ] + }, + "description": "Format in which to export the Api Details to the Storage Blob with Sas Key valid for 5 minutes." + }, + { + "name": "export", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "true" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "ExportApi" + }, + "description": "Query parameter required to export the API details." + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response contains a stream with a full set of API metadata and includes API entity with an embedded array of operation entities.", + "schema": { + "$ref": "./definitions.json#/definitions/ApiExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } } - } -} \ No newline at end of file + }, + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimauthorizationservers.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimauthorizationservers.json index 0ad2bbfb..124a78d7 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimauthorizationservers.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimauthorizationservers.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for managing OAuth2 servers configuration in your Azure API Management deployment. OAuth 2.0 can be used to authorize developer accounts for Azure API Management. For more information refer to [How to OAuth2](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-oauth2).", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers": { "get": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_ListByService", "description": "Lists a collection of authorization servers defined within a service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -77,20 +77,26 @@ "200": { "description": "A Collection of the Authorization Server entities for the specified API Management service instance.", "schema": { - "$ref": "#/definitions/AuthorizationServerCollection" + "$ref": "./definitions.json#/definitions/AuthorizationServerCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/AuthorizationServerContract" + "x-ms-odata": "./definitions.json#/definitions/AuthorizationServerContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}": { "head": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_GetEntityTag", "description": "Gets the entity state (Etag) version of the authorizationServer specified by its identifier.", @@ -107,7 +113,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/AuthenticationServerIdParameter" + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -136,7 +142,7 @@ }, "get": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_Get", "description": "Gets the details of the authorization server specified by its identifier.", @@ -153,7 +159,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/AuthenticationServerIdParameter" + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -164,9 +170,9 @@ ], "responses": { "200": { - "description": "Gets the details of the specified authorization server.", + "description": "Gets the details of the specified authorization server. No secrets included.", "schema": { - "$ref": "#/definitions/AuthorizationServerContract" + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" }, "headers": { "ETag": { @@ -185,7 +191,7 @@ }, "put": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_CreateOrUpdate", "description": "Creates new authorization server or updates an existing authorization server.", @@ -202,14 +208,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/AuthenticationServerIdParameter" + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AuthorizationServerContract" + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" }, "description": "Create or update parameters." }, @@ -226,14 +232,26 @@ "responses": { "201": { "description": "Authorization server was successfully registered.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/AuthorizationServerContract" + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" } }, "200": { "description": "Authorization server is already registered.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/AuthorizationServerContract" + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" } }, "default": { @@ -246,7 +264,7 @@ }, "patch": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_Update", "description": "Updates the details of the authorization server specified by its identifier.", @@ -263,14 +281,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/AuthenticationServerIdParameter" + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AuthorizationServerUpdateContract" + "$ref": "./definitions.json#/definitions/AuthorizationServerUpdateContract" }, "description": "OAuth2 Server settings Update parameters." }, @@ -285,8 +303,17 @@ } ], "responses": { - "204": { - "description": "The authorization server settings were successfully updated." + "200": { + "description": "The authorization server settings were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/AuthorizationServerContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -298,7 +325,7 @@ }, "delete": { "tags": [ - "AuthorizationServers" + "AuthorizationServer" ], "operationId": "AuthorizationServer_Delete", "description": "Deletes specific authorization server instance.", @@ -315,7 +342,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/AuthenticationServerIdParameter" + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -342,341 +369,59 @@ } } } - } - }, - "definitions": { - "AuthorizationServerCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AuthorizationServerContract" - }, - "description": "Page values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged OAuth2 Authorization Servers list representation." }, - "AuthorizationServerContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AuthorizationServerContractProperties", - "description": "Properties of the External OAuth authorization server Contract." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "External OAuth authorization server settings." - }, - "AuthorizationServerContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "User-friendly authorization server name.", - "minLength": 1, - "maxLength": 50 - }, - "clientRegistrationEndpoint": { - "type": "string", - "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." - }, - "authorizationEndpoint": { - "type": "string", - "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." - }, - "grantTypes": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "authorizationCode", - "implicit", - "resourceOwnerPassword", - "clientCredentials" - ], - "x-ms-enum": { - "name": "GrantType", - "modelAsString": true, - "values": [ - { - "value": "authorizationCode", - "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1." - }, - { - "value": "implicit", - "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2." - }, - { - "value": "resourceOwnerPassword", - "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3." - }, - { - "value": "clientCredentials", - "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4." - } - ] - } - }, - "description": "Form of an authorization grant, which the client uses to request the access token.", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-4" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}/listSecrets": { + "post": { + "tags": [ + "AuthorizationServer" + ], + "operationId": "AuthorizationServer_ListSecrets", + "description": "Gets the client secret details of the authorization server.", + "x-ms-examples": { + "ApiManagementAuthorizationServerListSecrets": { + "$ref": "./examples/ApiManagementAuthorizationServerListSecrets.json" } }, - "clientId": { - "type": "string", - "description": "Client or app id registered with this authorization server." - } - }, - "allOf": [ - { - "$ref": "#/definitions/AuthorizationServerContractBaseProperties" - } - ], - "required": [ - "displayName", - "clientRegistrationEndpoint", - "authorizationEndpoint", - "clientId", - "grantTypes" - ], - "description": "External OAuth authorization server settings Properties." - }, - "AuthorizationServerUpdateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AuthorizationServerUpdateContractProperties", - "description": "Properties of the External OAuth authorization server update Contract." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "External OAuth authorization server settings." - }, - "AuthorizationServerUpdateContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "User-friendly authorization server name.", - "minLength": 1, - "maxLength": 50 - }, - "clientRegistrationEndpoint": { - "type": "string", - "description": "Optional reference to a page where client or app registration for this authorization server is performed. Contains absolute URL to entity being referenced." - }, - "authorizationEndpoint": { - "type": "string", - "description": "OAuth authorization endpoint. See http://tools.ietf.org/html/rfc6749#section-3.2." - }, - "grantTypes": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "authorizationCode", - "implicit", - "resourceOwnerPassword", - "clientCredentials" - ], - "x-ms-enum": { - "name": "GrantType", - "modelAsString": true, - "values": [ - { - "value": "authorizationCode", - "description": "Authorization Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.1." - }, - { - "value": "implicit", - "description": "Implicit Code Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.2." - }, - { - "value": "resourceOwnerPassword", - "description": "Resource Owner Password Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.3." - }, - { - "value": "clientCredentials", - "description": "Client Credentials Grant flow as described https://tools.ietf.org/html/rfc6749#section-4.4." - } - ] - } + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, - "description": "Form of an authorization grant, which the client uses to request the access token.", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-4" - } - }, - "clientId": { - "type": "string", - "description": "Client or app id registered with this authorization server." - } - }, - "allOf": [ - { - "$ref": "#/definitions/AuthorizationServerContractBaseProperties" - } - ], - "description": "External OAuth authorization server Update settings contract." - }, - "AuthorizationServerContractBaseProperties": { - "properties": { - "description": { - "type": "string", - "description": "Description of the authorization server. Can contain HTML formatting tags." - }, - "authorizationMethods": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "HEAD", - "OPTIONS", - "TRACE", - "GET", - "POST", - "PUT", - "PATCH", - "DELETE" - ], - "x-ms-enum": { - "name": "AuthorizationMethod", - "modelAsString": false - } + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, - "description": "HTTP verbs supported by the authorization endpoint. GET must be always present. POST is optional." - }, - "clientAuthenticationMethod": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Basic", - "Body" - ], - "x-ms-enum": { - "name": "ClientAuthenticationMethod", - "modelAsString": true, - "values": [ - { - "value": "Basic", - "description": "Basic Client Authentication method." - }, - { - "value": "Body", - "description": "Body based Authentication method." - } - ] - } + { + "$ref": "./apimanagement.json#/parameters/AuthenticationServerIdParameter" }, - "description": "Method of authentication supported by the token endpoint of this authorization server. Possible values are Basic and/or Body. When Body is specified, client credentials and other parameters are passed within the request body in the application/x-www-form-urlencoded format." - }, - "tokenBodyParameters": { - "type": "array", - "items": { - "$ref": "#/definitions/TokenBodyParameterContract" + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, - "description": "Additional parameters required by the token endpoint of this authorization server represented as an array of JSON objects with name and value string properties, i.e. {\"name\" : \"name value\", \"value\": \"a value\"}." - }, - "tokenEndpoint": { - "type": "string", - "description": "OAuth token endpoint. Contains absolute URI to entity being referenced.", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-3.1" - } - }, - "supportState": { - "type": "boolean", - "description": "If true, authorization server will include state parameter from the authorization request to its response. Client may use state parameter to raise protocol security.", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-3.1" - } - }, - "defaultScope": { - "type": "string", - "description": "Access token scope that is going to be requested by default. Can be overridden at the API level. Should be provided in the form of a string containing space-delimited values.", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-3.3" + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } - }, - "bearerTokenSendingMethods": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "authorizationHeader", - "query" - ], - "x-ms-enum": { - "name": "BearerTokenSendingMethod", - "modelAsString": true + ], + "responses": { + "200": { + "description": "Gets the secrets of the specified authorization server.", + "schema": { + "$ref": "./definitions.json#/definitions/AuthorizationServerSecretsContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, - "description": "Specifies the mechanism by which access token is passed to the API. ", - "externalDocs": { - "url": "http://tools.ietf.org/html/rfc6749#section-4" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - }, - "clientSecret": { - "type": "string", - "description": "Client or app secret registered with this authorization server." - }, - "resourceOwnerUsername": { - "type": "string", - "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner username." - }, - "resourceOwnerPassword": { - "type": "string", - "description": "Can be optionally specified when resource owner password grant type is supported by this authorization server. Default resource owner password." } - }, - "description": "External OAuth authorization server Update settings contract." - }, - "TokenBodyParameterContract": { - "properties": { - "name": { - "type": "string", - "description": "body parameter name." - }, - "value": { - "type": "string", - "description": "body parameter value." - } - }, - "required": [ - "name", - "value" - ], - "description": "OAuth acquire token request body parameter (www-url-form-encoded)." + } } }, - "parameters": { - "AuthenticationServerIdParameter": { - "name": "authsid", - "in": "path", - "required": true, - "type": "string", - "description": "Identifier of the authorization server.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimbackends.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimbackends.json index 10c59fd6..0a80e307 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimbackends.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimbackends.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Backend entity in Azure API Management deployment. The Backend entity in API Management represents a backend service that is configured to skip certification chain validation when using a self-signed certificate to test mutual certificate authentication.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends": { "get": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_ListByService", "description": "Lists a collection of backends in the specified service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| host | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| url | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -77,7 +77,7 @@ "200": { "description": "Lists a collection of Backend entities.", "schema": { - "$ref": "#/definitions/BackendCollection" + "$ref": "./definitions.json#/definitions/BackendCollection" } }, "default": { @@ -90,13 +90,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/BackendContract" + "x-ms-odata": "./definitions.json#/definitions/BackendContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}": { "head": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_GetEntityTag", "description": "Gets the entity state (Etag) version of the backend specified by its identifier.", @@ -113,7 +113,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -142,7 +142,7 @@ }, "get": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_Get", "description": "Gets the details of the backend specified by its identifier.", @@ -159,7 +159,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -172,7 +172,7 @@ "200": { "description": "The response body contains the specified Backend entity.", "schema": { - "$ref": "#/definitions/BackendContract" + "$ref": "./definitions.json#/definitions/BackendContract" }, "headers": { "ETag": { @@ -191,7 +191,7 @@ }, "put": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_CreateOrUpdate", "description": "Creates or Updates a backend.", @@ -211,14 +211,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/BackendContract" + "$ref": "./definitions.json#/definitions/BackendContract" }, "description": "Create parameters." }, @@ -235,14 +235,26 @@ "responses": { "201": { "description": "Backend was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/BackendContract" + "$ref": "./definitions.json#/definitions/BackendContract" } }, "200": { "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/BackendContract" + "$ref": "./definitions.json#/definitions/BackendContract" } }, "default": { @@ -255,7 +267,7 @@ }, "patch": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_Update", "description": "Updates an existing backend.", @@ -272,14 +284,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/BackendUpdateParameters" + "$ref": "./definitions.json#/definitions/BackendUpdateParameters" }, "description": "Update parameters." }, @@ -294,8 +306,17 @@ } ], "responses": { - "204": { - "description": "The existing backend was successfully updated." + "200": { + "description": "The existing backend was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/BackendContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -307,15 +328,15 @@ }, "delete": { "tags": [ - "Backends" + "Backend" ], "operationId": "Backend_Delete", + "description": "Deletes the specified backend.", "x-ms-examples": { "ApiManagementDeleteBackend": { "$ref": "./examples/ApiManagementDeleteBackend.json" } }, - "description": "Deletes the specified backend.", "parameters": [ { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" @@ -324,7 +345,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -352,10 +373,10 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendid}/reconnect": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backends/{backendId}/reconnect": { "post": { "tags": [ - "Backends" + "BackendReconnect" ], "operationId": "Backend_Reconnect", "description": "Notifies the APIM proxy to create a new connection to the backend after the specified timeout. If no timeout was specified, timeout of 2 minutes is used.", @@ -372,14 +393,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/BackendIdParameter" + "$ref": "./apimanagement.json#/parameters/BackendIdParameter" }, { "name": "parameters", "in": "body", "required": false, "schema": { - "$ref": "#/definitions/BackendReconnectContract" + "$ref": "./definitions.json#/definitions/BackendReconnectContract" }, "description": "Reconnect request parameters." }, @@ -404,367 +425,6 @@ } } }, - "definitions": { - "BackendAuthorizationHeaderCredentials": { - "properties": { - "scheme": { - "type": "string", - "description": "Authentication Scheme name.", - "minLength": 1, - "maxLength": 100 - }, - "parameter": { - "type": "string", - "description": "Authentication Parameter value.", - "minLength": 1, - "maxLength": 300 - } - }, - "required": [ - "scheme", - "parameter" - ], - "description": "Authorization header information." - }, - "BackendBaseParameters": { - "properties": { - "title": { - "type": "string", - "description": "Backend Title.", - "minLength": 1, - "maxLength": 300 - }, - "description": { - "type": "string", - "description": "Backend Description.", - "minLength": 1, - "maxLength": 2000 - }, - "resourceId": { - "type": "string", - "description": "Management Uri of the Resource in External System. This url can be the Arm Resource Id of Logic Apps, Function Apps or Api Apps.", - "minLength": 1, - "maxLength": 2000 - }, - "properties": { - "$ref": "#/definitions/BackendProperties", - "description": "Backend Properties contract" - }, - "credentials": { - "$ref": "#/definitions/BackendCredentialsContract", - "description": "Backend Credentials Contract Properties" - }, - "proxy": { - "$ref": "#/definitions/BackendProxyContract", - "description": "Backend Proxy Contract Properties" - }, - "tls": { - "$ref": "#/definitions/BackendTlsProperties", - "description": "Backend TLS Properties" - } - }, - "description": "Backend entity base Parameter set." - }, - "BackendCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/BackendContract" - }, - "description": "Backend values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Backend list representation." - }, - "BackendContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BackendContractProperties", - "description": "Backend entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Backend details." - }, - "BackendContractProperties": { - "properties": { - "url": { - "type": "string", - "description": "Runtime Url of the Backend.", - "minLength": 1, - "maxLength": 2000 - }, - "protocol": { - "type": "string", - "enum": [ - "http", - "soap" - ], - "x-ms-enum": { - "name": "BackendProtocol", - "modelAsString": true, - "values": [ - { - "value": "http", - "description": "The Backend is a RESTful service." - }, - { - "value": "soap", - "description": "The Backend is a SOAP service." - } - ] - }, - "description": "Backend communication protocol." - } - }, - "allOf": [ - { - "$ref": "#/definitions/BackendBaseParameters" - } - ], - "required": [ - "url", - "protocol" - ], - "description": "Parameters supplied to the Create Backend operation." - }, - "BackendCredentialsContract": { - "properties": { - "certificate": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 32, - "description": "List of Client Certificate Thumbprint." - }, - "query": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "Query Parameter description." - }, - "header": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "Header Parameter description." - }, - "authorization": { - "description": "Authorization header authentication", - "$ref": "#/definitions/BackendAuthorizationHeaderCredentials" - } - }, - "description": "Details of the Credentials used to connect to Backend." - }, - "BackendProperties": { - "properties": { - "serviceFabricCluster": { - "$ref": "#/definitions/BackendServiceFabricClusterProperties", - "description": "Backend Service Fabric Cluster Properties" - } - }, - "description": "Properties specific to the Backend Type." - }, - "BackendServiceFabricClusterProperties": { - "properties": { - "clientCertificatethumbprint": { - "description": "The client certificate thumbprint for the management endpoint.", - "type": "string" - }, - "maxPartitionResolutionRetries": { - "description": "Maximum number of retries while attempting resolve the parition.", - "format": "int32", - "type": "integer" - }, - "managementEndpoints": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The cluster management endpoint." - }, - "serverCertificateThumbprints": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Thumbprints of certificates cluster management service uses for tls communication" - }, - "serverX509Names": { - "type": "array", - "items": { - "$ref": "#/definitions/X509CertificateName" - }, - "description": "Server X509 Certificate Names Collection" - } - }, - "required": [ - "managementEndpoints", - "clientCertificatethumbprint" - ], - "description": "Properties of the Service Fabric Type Backend." - }, - "X509CertificateName": { - "properties": { - "name": { - "description": "Common Name of the Certificate.", - "type": "string" - }, - "issuerCertificateThumbprint": { - "description": "Thumbprint for the Issuer of the Certificate.", - "type": "string" - } - }, - "externalDocs": { - "url": "https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-windows-cluster-x509-security" - }, - "description": "Properties of server X509Names." - }, - "BackendTlsProperties": { - "properties": { - "validateCertificateChain": { - "description": "Flag indicating whether SSL certificate chain validation should be done when using self-signed certificates for this backend host.", - "type": "boolean", - "default": true - }, - "validateCertificateName": { - "description": "Flag indicating whether SSL certificate name validation should be done when using self-signed certificates for this backend host.", - "type": "boolean", - "default": true - } - }, - "description": "Properties controlling TLS Certificate Validation." - }, - "BackendProxyContract": { - "externalDocs": { - "url": "https://msdn.microsoft.com/en-us/library/system.net.webproxy(v=vs.110).aspx", - "description": "Backend entity uses these details to connect to a WebProxy." - }, - "properties": { - "url": { - "type": "string", - "description": "WebProxy Server AbsoluteUri property which includes the entire URI stored in the Uri instance, including all fragments and query strings.", - "minLength": 1, - "maxLength": 2000 - }, - "username": { - "type": "string", - "description": "Username to connect to the WebProxy server" - }, - "password": { - "type": "string", - "description": "Password to connect to the WebProxy Server" - } - }, - "required": [ - "url" - ], - "description": "Details of the Backend WebProxy Server to use in the Request to Backend." - }, - "BackendUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BackendUpdateParameterProperties", - "description": "Backend entity update contract properties." - } - }, - "description": "Backend update parameters." - }, - "BackendUpdateParameterProperties": { - "properties": { - "url": { - "type": "string", - "description": "Runtime Url of the Backend.", - "minLength": 1, - "maxLength": 2000 - }, - "protocol": { - "type": "string", - "enum": [ - "http", - "soap" - ], - "x-ms-enum": { - "name": "BackendProtocol", - "modelAsString": true, - "values": [ - { - "value": "http", - "description": "The Backend is a RESTful service." - }, - { - "value": "soap", - "description": "The Backend is a SOAP service." - } - ] - }, - "description": "Backend communication protocol." - } - }, - "allOf": [ - { - "$ref": "#/definitions/BackendBaseParameters" - } - ], - "description": "Parameters supplied to the Update Backend operation." - }, - "BackendReconnectContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BackendReconnectProperties", - "description": "Reconnect request properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Reconnect request parameters." - }, - "BackendReconnectProperties": { - "properties": { - "after": { - "type": "string", - "format": "duration", - "description": "Duration in ISO8601 format after which reconnect will be initiated. Minimum duration of the Reconect is PT2M." - } - }, - "description": "Properties to control reconnect requests." - } - }, - "parameters": { - "BackendIdParameter": { - "name": "backendid", - "in": "path", - "required": true, - "type": "string", - "description": "Identifier of the Backend entity. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimcertificates.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimcertificates.json index e895ee01..ff9e92de 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimcertificates.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimcertificates.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Certificate entity in your Azure API Management deployment. Certificates can be used to setup mutual authentication with your Backend in API Management. For more information refer to [How to secure backend using Mutual Auth Certificate](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-mutual-certificates).", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates": { "get": { "tags": [ - "Certificates" + "Certificate" ], "operationId": "Certificate_ListByService", "description": "Lists a collection of all certificates in the specified service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|----------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| subject | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| thumbprint | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| expirationDate | ge, le, eq, ne, gt, lt | N/A |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| subject | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| thumbprint | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| expirationDate | filter | ge, le, eq, ne, gt, lt | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -66,6 +66,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "isKeyVaultRefreshFailed", + "in": "query", + "required": false, + "type": "boolean", + "description": "When set to true, the response contains only certificates entities which failed refresh." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -77,7 +84,7 @@ "200": { "description": "Returns a collection of Certificate entity.", "schema": { - "$ref": "#/definitions/CertificateCollection" + "$ref": "./definitions.json#/definitions/CertificateCollection" } }, "default": { @@ -90,13 +97,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/CertificateContract" + "x-ms-odata": "./definitions.json#/definitions/CertificateContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}": { "head": { "tags": [ - "Certificates" + "Certificate" ], "operationId": "Certificate_GetEntityTag", "description": "Gets the entity state (Etag) version of the certificate specified by its identifier.", @@ -113,7 +120,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/CertificateIdParameter" + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -142,13 +149,16 @@ }, "get": { "tags": [ - "Certificates" + "Certificate" ], "operationId": "Certificate_Get", "description": "Gets the details of the certificate specified by its identifier.", "x-ms-examples": { "ApiManagementGetCertificate": { "$ref": "./examples/ApiManagementGetCertificate.json" + }, + "ApiManagementGetCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementGetCertificateWithKeyVault.json" } }, "parameters": [ @@ -159,7 +169,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/CertificateIdParameter" + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -172,7 +182,7 @@ "200": { "description": "The response body contains the specified Certificate entity.", "schema": { - "$ref": "#/definitions/CertificateContract" + "$ref": "./definitions.json#/definitions/CertificateContract" }, "headers": { "ETag": { @@ -191,7 +201,7 @@ }, "put": { "tags": [ - "Certificates" + "Certificate" ], "operationId": "Certificate_CreateOrUpdate", "description": "Creates or updates the certificate being used for authentication with the backend.", @@ -202,6 +212,9 @@ "x-ms-examples": { "ApiManagementCreateCertificate": { "$ref": "./examples/ApiManagementCreateCertificate.json" + }, + "ApiManagementCreateCertificateWithKeyVault": { + "$ref": "./examples/ApiManagementCreateCertificateWithKeyVault.json" } }, "parameters": [ @@ -212,14 +225,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/CertificateIdParameter" + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CertificateCreateOrUpdateParameters" + "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" }, "description": "Create or Update parameters." }, @@ -236,14 +249,26 @@ "responses": { "201": { "description": "The new certificate was successfully added.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/CertificateContract" + "$ref": "./definitions.json#/definitions/CertificateContract" } }, "200": { "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/CertificateContract" + "$ref": "./definitions.json#/definitions/CertificateContract" } }, "default": { @@ -256,7 +281,7 @@ }, "delete": { "tags": [ - "Certificates" + "Certificate" ], "operationId": "Certificate_Delete", "description": "Deletes specific certificate.", @@ -273,7 +298,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/CertificateIdParameter" + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -300,102 +325,63 @@ } } } - } - }, - "definitions": { - "CertificateCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/CertificateContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Certificates list representation." - }, - "CertificateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/CertificateContractProperties", - "description": "Certificate properties details." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Certificate details." }, - "CertificateContractProperties": { - "properties": { - "subject": { - "type": "string", - "description": "Subject attribute of the certificate." - }, - "thumbprint": { - "type": "string", - "description": "Thumbprint of the certificate." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/certificates/{certificateId}/refreshSecret": { + "post": { + "tags": [ + "Certificate" + ], + "operationId": "Certificate_RefreshSecret", + "description": "From KeyVault, Refresh the certificate being used for authentication with the backend.", + "externalDocs": { + "description": "How to secure back-end services using client certificate authentication in Azure API Management", + "url": "https://azure.microsoft.com/en-us/documentation/articles/api-management-howto-mutual-certificates/" }, - "expirationDate": { - "type": "string", - "format": "date-time", - "description": "Expiration date of the certificate. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - } - }, - "required": [ - "subject", - "thumbprint", - "expirationDate" - ], - "description": "Properties of the Certificate contract." - }, - "CertificateCreateOrUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/CertificateCreateOrUpdateProperties", - "description": "Certificate create or update properties details." - } - }, - "description": "Certificate create or update details." - }, - "CertificateCreateOrUpdateProperties": { - "properties": { - "data": { - "type": "string", - "description": "Base 64 encoded certificate using the application/x-pkcs12 representation." + "x-ms-examples": { + "ApiManagementRefreshCertificate": { + "$ref": "./examples/ApiManagementRefreshCertificate.json" + } }, - "password": { - "type": "string", - "description": "Password for the Certificate" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/CertificateIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The certificate details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/CertificateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } - }, - "required": [ - "data", - "password" - ], - "description": "Parameters supplied to the CreateOrUpdate certificate operation." + } } }, - "parameters": { - "CertificateIdParameter": { - "name": "certificateId", - "in": "path", - "required": true, - "type": "string", - "description": "Identifier of the certificate entity. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdeployment.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdeployment.json index 11a7554f..69117e06 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdeployment.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdeployment.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs to manage Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -57,6 +57,61 @@ "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/skus": { + "get": { + "tags": [ + "ApiManagementServiceSkus" + ], + "summary": "Gets available SKUs for API Management service", + "description": "Gets all available SKU for a given API Management service", + "operationId": "ApiManagementServiceSkus_ListAvailableServiceSkus", + "x-ms-examples": { + "ApiManagementListSKUs-Dedicated": { + "$ref": "./examples/ApiManagementListSKUs-Dedicated.json" + }, + "ApiManagementListSKUs-Consumption": { + "$ref": "./examples/ApiManagementListSKUs-Consumption.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of SKUs.", + "schema": { + "$ref": "#/definitions/ResourceSkuResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -73,7 +128,7 @@ "description": "Restores a backup of an API Management service created using the ApiManagementService_Backup operation on the current service. This is a long running operation and could take several minutes to complete.", "x-ms-examples": { "ApiManagementRestoreService": { - "$ref": "./examples/ApiManagementRestoreService.json" + "$ref": "./examples/ApiManagementRestoreWithAccessKey.json" } }, "parameters": [ @@ -108,9 +163,18 @@ }, "202": { "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/backup": { @@ -121,8 +185,14 @@ "operationId": "ApiManagementService_Backup", "description": "Creates a backup of the API Management service to the given Azure Storage Account. This is long running operation and could take several minutes to complete.", "x-ms-examples": { - "ApiManagementCreateBackup": { - "$ref": "./examples/ApiManagementCreateBackup.json" + "ApiManagementBackupWithAccessKey": { + "$ref": "./examples/ApiManagementBackupWithAccessKey.json" + }, + "ApiManagementBackupWithSystemManagedIdentity": { + "$ref": "./examples/ApiManagementBackupWithSystemManagedIdentity.json" + }, + "ApiManagementBackupWithUserAssignedManagedIdentity": { + "$ref": "./examples/ApiManagementBackupWithUserAssignedManagedIdentity.json" } }, "parameters": [ @@ -157,9 +227,18 @@ }, "202": { "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}": { @@ -173,6 +252,9 @@ "ApiManagementCreateService": { "$ref": "./examples/ApiManagementCreateService.json" }, + "ApiManagementCreateServiceInVnetWithPublicIP": { + "$ref": "./examples/ApiManagementCreateServiceInVnetWithPublicIP.json" + }, "ApiManagementCreateMultiRegionServiceWithCustomHostname": { "$ref": "./examples/ApiManagementCreateMultiRegionServiceWithCustomHostname.json" }, @@ -181,6 +263,18 @@ }, "ApiManagementCreateServiceWithSystemCertificates": { "$ref": "./examples/ApiManagementCreateServiceWithSystemCertificates.json" + }, + "ApiManagementCreateServiceWithUserAssignedIdentity": { + "$ref": "./examples/ApiManagementCreateServiceWithUserAssignedIdentity.json" + }, + "ApiManagementCreateServiceInZones": { + "$ref": "./examples/ApiManagementCreateServiceInZones.json" + }, + "ApiManagementUndelete": { + "$ref": "./examples/ApiManagementUndelete.json" + }, + "ApiManagementCreateServiceWithCustomHostnameKeyVault": { + "$ref": "./examples/ApiManagementCreateServiceWithCustomHostnameKeyVault.json" } }, "parameters": [ @@ -220,9 +314,12 @@ } }, "202": { - "description": "Accepted the configuration change when updating the service.", + "description": "Accepted the configuration change when updating the service." + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiManagementServiceResource" + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, @@ -240,6 +337,9 @@ }, "ApiManagementUpdateServicePublisherDetails": { "$ref": "./examples/ApiManagementUpdateServicePublisherDetails.json" + }, + "ApiManagementUpdateServiceToNewVnetAndAvailabilityZones": { + "$ref": "./examples/ApiManagementUpdateServiceToNewVnetAndAZs.json" } }, "parameters": [ @@ -274,6 +374,12 @@ }, "202": { "description": "The service update request was Accepted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, "x-ms-long-running-operation": true @@ -315,6 +421,12 @@ "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, @@ -347,10 +459,23 @@ "200": { "description": "Service was successfully deleted." }, + "202": { + "description": "The service delete request was Accepted.", + "schema": { + "$ref": "#/definitions/ApiManagementServiceResource" + } + }, "204": { - "description": "Service is already deleted." + "description": "The service does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service": { @@ -382,6 +507,12 @@ "schema": { "$ref": "#/definitions/ApiManagementServiceListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -415,6 +546,12 @@ "schema": { "$ref": "#/definitions/ApiManagementServiceListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -455,6 +592,12 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/ApiManagementServiceGetSsoTokenResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } } @@ -494,38 +637,29 @@ "schema": { "$ref": "#/definitions/ApiManagementServiceNameAvailabilityResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ApiManagement/getDomainOwnershipIdentifier": { "post": { "tags": [ "ApiManagementService" ], - "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates", - "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated network settings.", + "operationId": "ApiManagementService_GetDomainOwnershipIdentifier", + "description": "Get the custom domain ownership identifier for an API Management service.", "x-ms-examples": { - "ApiManagementApplyNetworkConfigurationUpdates": { - "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json" + "ApiManagementServiceGetDomainOwnershipIdentifier": { + "$ref": "./examples/ApiManagementServiceGetDomainOwnershipIdentifier.json" } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters" - }, - "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region." - }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -534,74 +668,31 @@ } ], "responses": { - "202": { - "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." - }, "200": { - "description": "Network configuration updates were successfully applied on the Api Management service.", + "description": "The result of getting domain ownership identifier.", "schema": { - "$ref": "#/definitions/ApiManagementServiceResource" + "$ref": "#/definitions/ApiManagementServiceGetDomainOwnershipIdentifierResult" } - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatecertificate": { - "post": { - "tags": [ - "ApiManagementService" - ], - "operationId": "ApiManagementService_UploadCertificate", - "description": "Upload Custom Domain SSL certificate for an API Management service. This operation will be deprecated in future releases.", - "x-ms-examples": { - "ApiManagementServiceUploadProxyCertificate": { - "$ref": "./examples/ApiManagementServiceUploadProxyCertificate.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApiManagementServiceUploadCertificateParameters" - }, - "description": "Parameters supplied to the Upload SSL certificate for an API Management service operation." - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully uploaded certificate to the API Management Service.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/CertificateInformation" + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/updatehostname": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/applynetworkconfigurationupdates": { "post": { "tags": [ "ApiManagementService" ], - "operationId": "ApiManagementService_UpdateHostname", - "description": "Creates, updates, or deletes the custom hostnames for an API Management service. The custom hostname can be applied to the Proxy and Portal endpoint. This is a long running operation and could take several minutes to complete. This operation will be deprecated in the next version update.", + "operationId": "ApiManagementService_ApplyNetworkConfigurationUpdates", + "description": "Updates the Microsoft.ApiManagement resource running in the Virtual network to pick the updated DNS changes.", "x-ms-examples": { - "ApiManagementServiceUpdateHostName": { - "$ref": "./examples/ApiManagementServiceUpdateHostName.json" + "ApiManagementApplyNetworkConfigurationUpdates": { + "$ref": "./examples/ApiManagementApplyNetworkConfigurationUpdates.json" } }, "parameters": [ @@ -614,11 +705,11 @@ { "name": "parameters", "in": "body", - "required": true, + "required": false, "schema": { - "$ref": "#/definitions/ApiManagementServiceUpdateHostnameParameters" + "$ref": "#/definitions/ApiManagementServiceApplyNetworkConfigurationParameters" }, - "description": "Parameters supplied to the UpdateHostname operation." + "description": "Parameters supplied to the Apply Network Configuration operation. If the parameters are empty, all the regions in which the Api Management service is deployed will be updated sequentially without incurring downtime in the region." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -628,24 +719,170 @@ } ], "responses": { + "202": { + "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." + }, "200": { - "description": "Service was successfully updated with desired hostnames.", + "description": "Network configuration updates were successfully applied on the Api Management service.", "schema": { "$ref": "#/definitions/ApiManagementServiceResource" } }, - "202": { - "description": "Accepted. The location header contains the URL where the status of the long running operation can be checked. The response also includes the unmodified ApiManagementServiceResource.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiManagementServiceResource" + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } } }, "definitions": { + "ResourceSkuResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuResult" + }, + "description": "The list of skus available for the service." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of API Management service Skus." + } + }, + "required": [ + "value" + ], + "description": "The API Management service SKUs operation response." + }, + "ResourceSkuResult": { + "properties": { + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of resource the SKU applies to." + }, + "sku": { + "$ref": "#/definitions/ResourceSku", + "readOnly": true, + "description": "Specifies API Management SKU." + }, + "capacity": { + "$ref": "#/definitions/ResourceSkuCapacity", + "readOnly": true, + "description": "Specifies the number of API Management units." + } + }, + "description": "Describes an available API Management service SKU." + }, + "ResourceSkuCapacity": { + "properties": { + "minimum": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The maximum capacity that can be set." + }, + "default": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The default capacity." + }, + "scaleType": { + "type": "string", + "readOnly": true, + "description": "The scale type applicable to the sku.", + "enum": [ + "automatic", + "manual", + "none" + ], + "x-ms-enum": { + "name": "ResourceSkuCapacityScaleType", + "modelAsString": true, + "values": [ + { + "value": "automatic", + "description": "Supported scale type automatic." + }, + { + "value": "manual", + "description": "Supported scale type manual." + }, + { + "value": "none", + "description": "Scaling not supported." + } + ] + } + } + }, + "description": "Describes scaling information of a SKU." + }, + "ResourceSku": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Sku.", + "externalDocs": { + "url": "https://azure.microsoft.com/en-us/pricing/details/api-management/" + }, + "enum": [ + "Developer", + "Standard", + "Premium", + "Basic", + "Consumption", + "Isolated" + ], + "x-ms-enum": { + "name": "SkuType", + "modelAsString": true, + "values": [ + { + "value": "Developer", + "description": "Developer SKU of Api Management." + }, + { + "value": "Standard", + "description": "Standard SKU of Api Management." + }, + { + "value": "Premium", + "description": "Premium SKU of Api Management." + }, + { + "value": "Basic", + "description": "Basic SKU of Api Management." + }, + { + "value": "Consumption", + "description": "Consumption SKU of Api Management." + }, + { + "value": "Isolated", + "description": "Isolated SKU of Api Management." + } + ] + } + } + }, + "description": "Describes an available API Management SKU." + }, "CertificateInformation": { "properties": { "expiry": { @@ -680,7 +917,7 @@ "description": "Certificate Password." }, "storeName": { - "description": "The System.Security.Cryptography.x509certificates.Storename certificate store location. Only Root and CertificateAuthority are valid locations.", + "description": "The System.Security.Cryptography.x509certificates.StoreName certificate store location. Only Root and CertificateAuthority are valid locations.", "type": "string", "enum": [ "CertificateAuthority", @@ -689,8 +926,7 @@ }, "certificate": { "$ref": "#/definitions/CertificateInformation", - "description": "Certificate information.", - "readOnly": true + "description": "Certificate information." } }, "required": [ @@ -707,11 +943,12 @@ "Proxy", "Portal", "Management", - "Scm" + "Scm", + "DeveloperPortal" ], "x-ms-enum": { "name": "HostnameType", - "modelAsString": false + "modelAsString": true } }, "hostName": { @@ -720,7 +957,11 @@ }, "keyVaultId": { "type": "string", - "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with MSI. The secret should be of type *application/x-pkcs12*" + "description": "Url to the KeyVault Secret containing the Ssl Certificate. If absolute Url containing version is provided, auto-update of ssl certificate will not work. This requires Api Management service to be configured with aka.ms/apimmsi. The secret should be of type *application/x-pkcs12*" + }, + "identityClientId": { + "type": "string", + "description": "System or User Assigned Managed identity clientId as generated by Azure AD, which has GET access to the keyVault containing the SSL certificate." }, "encodedCertificate": { "type": "string", @@ -742,8 +983,34 @@ }, "certificate": { "$ref": "#/definitions/CertificateInformation", - "description": "Certificate information.", - "readOnly": true + "description": "Certificate information." + }, + "certificateSource": { + "type": "string", + "description": "Certificate Source.", + "enum": [ + "Managed", + "KeyVault", + "Custom", + "BuiltIn" + ], + "x-ms-enum": { + "name": "CertificateSource", + "modelAsString": true + } + }, + "certificateStatus": { + "type": "string", + "description": "Certificate Status.", + "enum": [ + "Completed", + "Failed", + "InProgress" + ], + "x-ms-enum": { + "name": "CertificateStatus", + "modelAsString": true + } } }, "required": [ @@ -782,13 +1049,20 @@ "$ref": "#/definitions/ApiManagementServiceSkuProperties", "description": "SKU properties of the API Management service." }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, "publicIPAddresses": { "type": "array", "items": { "type": "string" }, "readOnly": true, - "description": "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard and Premium SKU." + "description": "Public Static Load Balanced IP addresses of the API Management service in the additional location. Available only for Basic, Standard, Premium and Isolated SKU." }, "privateIPAddresses": { "type": "array", @@ -796,7 +1070,11 @@ "type": "string" }, "readOnly": true, - "description": "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard and Premium SKU." + "description": "Private Static Load Balanced IP addresses of the API Management service which is deployed in an Internal Virtual Network in a particular additional location. Available only for Basic, Standard, Premium and Isolated SKU." + }, + "publicIpAddressId": { + "type": "string", + "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the location. Supported only for Premium SKU being deployed in Virtual Network." }, "virtualNetworkConfiguration": { "$ref": "#/definitions/VirtualNetworkConfiguration", @@ -806,6 +1084,44 @@ "type": "string", "description": "Gateway URL of the API Management service in the Region.", "readOnly": true + }, + "disableGateway": { + "type": "boolean", + "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in this additional location.", + "default": false + }, + "platformVersion": { + "type": "string", + "description": "Compute Platform Version running the service.", + "readOnly": true, + "enum": [ + "undetermined", + "stv1", + "stv2", + "mtv1" + ], + "x-ms-enum": { + "name": "PlatformVersion", + "modelAsString": true, + "values": [ + { + "value": "undetermined", + "description": "Platform version cannot be determined, as compute platform is not deployed." + }, + { + "value": "stv1", + "description": "Platform running the service on Single Tenant V1 platform." + }, + { + "value": "stv2", + "description": "Platform running the service on Single Tenant V2 platform." + }, + { + "value": "mtv1", + "description": "Platform running the service on Multi Tenant V1 platform." + } + ] + } } }, "required": [ @@ -818,24 +1134,55 @@ "properties": { "storageAccount": { "type": "string", - "description": "Azure Cloud Storage account (used to place/retrieve the backup) name." - }, - "accessKey": { - "type": "string", - "description": "Azure Cloud Storage account (used to place/retrieve the backup) access key." + "description": "The name of the Azure storage account (used to place/retrieve the backup)." }, "containerName": { "type": "string", - "description": "Azure Cloud Storage blob container name used to place/retrieve the backup." + "description": "The name of the blob container (used to place/retrieve the backup)." }, "backupName": { "type": "string", - "description": "The name of the backup file to create." + "description": "The name of the backup file to create/retrieve." + }, + "accessType": { + "type": "string", + "description": "The type of access to be used for the storage account.", + "default": "AccessKey", + "enum": [ + "AccessKey", + "SystemAssignedManagedIdentity", + "UserAssignedManagedIdentity" + ], + "x-ms-enum": { + "name": "AccessType", + "modelAsString": true, + "values": [ + { + "value": "AccessKey", + "description": "Use access key." + }, + { + "value": "SystemAssignedManagedIdentity", + "description": "Use system assigned managed identity." + }, + { + "value": "UserAssignedManagedIdentity", + "description": "Use user assigned managed identity." + } + ] + } + }, + "accessKey": { + "type": "string", + "description": "Storage account access key. Required only if `accessType` is set to `AccessKey`." + }, + "clientId": { + "type": "string", + "description": "The Client ID of user assigned managed identity. Required only if `accessType` is set to `UserAssignedManagedIdentity`." } }, "required": [ "storageAccount", - "accessKey", "containerName", "backupName" ], @@ -933,6 +1280,11 @@ "description": "SCM endpoint URL of the API Management service.", "readOnly": true }, + "developerPortalUrl": { + "type": "string", + "description": "DEveloper Portal endpoint URL of the API Management service.", + "readOnly": true + }, "hostnameConfigurations": { "type": "array", "items": { @@ -946,7 +1298,7 @@ "type": "string" }, "readOnly": true, - "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard and Premium SKU." + "description": "Public Static Load Balanced IP addresses of the API Management service in Primary region. Available only for Basic, Standard, Premium and Isolated SKU." }, "privateIPAddresses": { "type": "array", @@ -954,7 +1306,23 @@ "type": "string" }, "readOnly": true, - "description": "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard and Premium SKU." + "description": "Private Static Load Balanced IP addresses of the API Management service in Primary region which is deployed in an Internal Virtual Network. Available only for Basic, Standard, Premium and Isolated SKU." + }, + "publicIpAddressId": { + "type": "string", + "description": "Public Standard SKU IP V4 based IP address to be associated with Virtual Network deployed service in the region. Supported only for Developer and Premium SKU being deployed in Virtual Network." + }, + "publicNetworkAccess": { + "description": "Whether or not public endpoint access is allowed for this API Management service. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } }, "virtualNetworkConfiguration": { "$ref": "#/definitions/VirtualNetworkConfiguration", @@ -972,7 +1340,7 @@ "additionalProperties": { "type": "string" }, - "description": "Custom properties of the API Management service. Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2). Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1 and setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service." + "description": "Custom properties of the API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TripleDes168` will disable the cipher TLS_RSA_WITH_3DES_EDE_CBC_SHA for all TLS(1.0, 1.1 and 1.2).
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls11` can be used to disable just TLS 1.1.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Protocols.Tls10` can be used to disable TLS 1.0 on an API Management service.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls11` can be used to disable just TLS 1.1 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Backend.Protocols.Tls10` can be used to disable TLS 1.0 for communications with backends.
Setting `Microsoft.WindowsAzure.ApiManagement.Gateway.Protocols.Server.Http2` can be used to enable HTTP2 protocol on an API Management service.
Not specifying any of these properties on PATCH operation will reset omitted properties' values to their defaults. For all the settings except Http2 the default value is `True` if the service was created on or before April 1st 2018 and `False` otherwise. Http2 setting's default value is `False`.

You can disable any of next ciphers by using settings `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.[cipher_name]`: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA. For example, `Microsoft.WindowsAzure.ApiManagement.Gateway.Security.Ciphers.TLS_RSA_WITH_AES_128_CBC_SHA256`:`false`. The default value is `true` for them. Note: next ciphers can't be disabled since they are required by Azure CloudService internal components: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384" }, "certificates": { "type": "array", @@ -981,9 +1349,19 @@ }, "description": "List of Certificates that need to be installed in the API Management service. Max supported certificates that can be installed is 10." }, + "enableClientCertificate": { + "type": "boolean", + "description": "Property only meant to be used for Consumption SKU Service. This enforces a client certificate to be presented on each request to the gateway. This also enables the ability to authenticate the certificate in the policy on the gateway.", + "default": false + }, + "disableGateway": { + "type": "boolean", + "description": "Property only valid for an Api Management service deployed in multiple locations. This can be used to disable the gateway in master region.", + "default": false + }, "virtualNetworkType": { "type": "string", - "description": "The type of VPN in which API Managemet service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.", + "description": "The type of VPN in which API Management service needs to be configured in. None (Default Value) means the API Management service is not part of any Virtual Network, External means the API Management deployment is set up inside a Virtual Network having an Internet Facing Endpoint, and Internal means that API Management deployment is setup inside a Virtual Network having an Intranet Facing Endpoint only.", "default": "None", "enum": [ "None", @@ -1008,10 +1386,69 @@ } ] } + }, + "apiVersionConstraint": { + "$ref": "#/definitions/ApiVersionConstraint", + "description": "Control Plane Apis version constraint for the API Management service." + }, + "restore": { + "type": "boolean", + "description": "Undelete Api Management Service if it was previously soft-deleted. If this flag is specified and set to True all other properties will be ignored.", + "default": false + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "./definitions.json#/definitions/RemotePrivateEndpointConnectionWrapper" + }, + "description": "List of Private Endpoint Connections of this service." + }, + "platformVersion": { + "type": "string", + "description": "Compute Platform Version running the service in this location.", + "readOnly": true, + "enum": [ + "undetermined", + "stv1", + "stv2", + "mtv1" + ], + "x-ms-enum": { + "name": "PlatformVersion", + "modelAsString": true, + "values": [ + { + "value": "undetermined", + "description": "Platform version cannot be determined, as compute platform is not deployed." + }, + { + "value": "stv1", + "description": "Platform running the service on Single Tenant V1 platform." + }, + { + "value": "stv2", + "description": "Platform running the service on Single Tenant V2 platform." + }, + { + "value": "mtv1", + "description": "Platform running the service on Multi Tenant V1 platform." + } + ] + } } }, "description": "Base Properties of an API Management service resource description." }, + "ApiVersionConstraint": { + "properties": { + "minApiVersion": { + "type": "string", + "description": "Limit control plane API calls to API Management service with version equal to or newer than this value.", + "example": "2019-01-01" + } + }, + "description": "Control Plane Apis version constraint for the API Management service." + }, "ApiManagementServiceSkuProperties": { "properties": { "name": { @@ -1024,7 +1461,9 @@ "Developer", "Standard", "Premium", - "Basic" + "Basic", + "Consumption", + "Isolated" ], "x-ms-enum": { "name": "SkuType", @@ -1045,6 +1484,14 @@ { "value": "Basic", "description": "Basic SKU of Api Management." + }, + { + "value": "Consumption", + "description": "Consumption SKU of Api Management." + }, + { + "value": "Isolated", + "description": "Isolated SKU of Api Management." } ] } @@ -1052,12 +1499,12 @@ "capacity": { "type": "integer", "format": "int32", - "description": "Capacity of the SKU (number of deployed units of the SKU). The default value is 1.", - "default": 1 + "description": "Capacity of the SKU (number of deployed units of the SKU). For Consumption SKU capacity must be specified as 0." } }, "required": [ - "name" + "name", + "capacity" ], "description": "API Management service resource SKU properties." }, @@ -1076,6 +1523,11 @@ "$ref": "#/definitions/ApiManagementServiceIdentity", "description": "Managed service identity of the Api Management service." }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Metadata pertaining to creation and last modification of the resource.", + "readOnly": true + }, "location": { "type": "string", "description": "Resource location.", @@ -1088,6 +1540,13 @@ "type": "string", "description": "ETag of the resource.", "readOnly": true + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." } }, "allOf": [ @@ -1149,6 +1608,13 @@ "type": "string", "description": "ETag of the resource.", "readOnly": true + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." } }, "allOf": [ @@ -1226,55 +1692,36 @@ }, "description": "Response of the CheckNameAvailability operation." }, - "ApiManagementServiceApplyNetworkConfigurationParameters": { + "ApiManagementServiceGetDomainOwnershipIdentifierResult": { "properties": { - "location": { + "domainOwnershipIdentifier": { "type": "string", - "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required." + "description": "The domain ownership identifier value.", + "readOnly": true } }, - "description": "Parameter supplied to the Apply Network configuration operation." + "description": "Response of the GetDomainOwnershipIdentifier operation." }, - "ApiManagementServiceUploadCertificateParameters": { + "ApiManagementServiceApplyNetworkConfigurationParameters": { "properties": { - "type": { - "type": "string", - "description": "Hostname type.", - "enum": [ - "Proxy", - "Portal", - "Management", - "Scm" - ], - "x-ms-enum": { - "name": "HostnameType", - "modelAsString": false - } - }, - "certificate": { - "type": "string", - "description": "Base64 Encoded certificate." - }, - "certificate_password": { + "location": { "type": "string", - "description": "Certificate password." + "description": "Location of the Api Management service to update for a multi-region service. For a service deployed in a single region, this parameter is not required." } }, - "required": [ - "type", - "certificate", - "certificate_password" - ], - "description": "Parameters supplied to the Upload SSL certificate for an API Management service operation." + "description": "Parameter supplied to the Apply Network configuration operation." }, "ApiManagementServiceIdentity": { "description": "Identity properties of the Api Management service resource.", "properties": { "type": { "type": "string", - "description": "The identity type. Currently the only supported type is 'SystemAssigned'.", + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.", "enum": [ - "SystemAssigned" + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], "x-ms-enum": { "name": "ApimIdentityType", @@ -1292,72 +1739,31 @@ "format": "uuid", "readOnly": true, "description": "The client tenant id of the identity." + }, + "userAssignedIdentities": { + "description": "The list of user identities associated with the resource. The user identity \r\ndictionary key references will be ARM resource ids in the form: \r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/\r\n providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + } } }, "required": [ "type" ] }, - "HostnameConfigurationOld": { - "properties": { - "type": { - "type": "string", - "description": "Hostname type.", - "enum": [ - "Proxy", - "Portal", - "Management", - "Scm" - ], - "x-ms-enum": { - "name": "HostnameType", - "modelAsString": false - } - }, - "hostname": { - "type": "string", - "description": "Hostname to configure." - }, - "certificate": { - "$ref": "#/definitions/CertificateInformation", - "description": "Certificate information." - } - }, - "required": [ - "type", - "hostname", - "certificate" - ], - "description": "Custom hostname configuration." - }, - "ApiManagementServiceUpdateHostnameParameters": { + "UserIdentityProperties": { + "type": "object", "properties": { - "update": { - "type": "array", - "items": { - "$ref": "#/definitions/HostnameConfigurationOld" - }, - "description": "Hostnames to create or update." + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string" }, - "delete": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Proxy", - "Portal", - "Management", - "Scm" - ], - "x-ms-enum": { - "name": "HostnameType", - "modelAsString": false - } - }, - "description": "Hostnames types to delete." + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string" } - }, - "description": "Parameters supplied to the UpdateHostname operation." + } }, "Operation": { "description": "REST API operation", @@ -1417,4 +1823,4 @@ } }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdiagnostics.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdiagnostics.json index e1c5eb28..0226b0a0 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdiagnostics.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimdiagnostics.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Diagnostic entity associated with your Azure API Management deployment. Diagnostics are used to log requests/responses in the APIM proxy.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics": { "get": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_ListByService", "description": "Lists all diagnostics of the API Management service instance.", @@ -53,31 +53,31 @@ { "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" }, { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Paged Result reponse of diagnostics.", + "description": "Paged Result response of diagnostics.", "schema": { - "$ref": "#/definitions/DiagnosticCollection" + "$ref": "./definitions.json#/definitions/DiagnosticCollection" } }, "default": { @@ -90,13 +90,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/DiagnosticContract" + "x-ms-odata": "./definitions.json#/definitions/DiagnosticContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}": { "head": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_GetEntityTag", "description": "Gets the entity state (Etag) version of the Diagnostic specified by its identifier.", @@ -113,7 +113,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -124,7 +124,7 @@ ], "responses": { "200": { - "description": "Operation completed successfully.", + "description": "Gets the entity tag of the diagnostic", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", @@ -142,7 +142,7 @@ }, "get": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_Get", "description": "Gets the details of the Diagnostic specified by its identifier.", @@ -159,7 +159,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -171,14 +171,14 @@ "responses": { "200": { "description": "The response body contains the specified Diagnostic entity.", - "schema": { - "$ref": "#/definitions/DiagnosticContract" - }, "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", "type": "string" } + }, + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" } }, "default": { @@ -191,7 +191,7 @@ }, "put": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_CreateOrUpdate", "description": "Creates a new Diagnostic or updates an existing one.", @@ -208,14 +208,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" }, "description": "Create parameters." }, @@ -232,14 +232,26 @@ "responses": { "201": { "description": "Diagnostic was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" } }, "200": { - "description": "Diagnostic was successfully updated.", + "description": "Diagnostic successfully updated", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" } }, "default": { @@ -252,7 +264,7 @@ }, "patch": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_Update", "description": "Updates the details of the Diagnostic specified by its identifier.", @@ -269,14 +281,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DiagnosticContract" + "$ref": "./definitions.json#/definitions/DiagnosticContract" }, "description": "Diagnostic Update parameters." }, @@ -291,8 +303,17 @@ } ], "responses": { - "204": { - "description": "The Diagnostic was successfully updated." + "200": { + "description": "Diagnostic successfully updated", + "schema": { + "$ref": "./definitions.json#/definitions/DiagnosticContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -304,7 +325,7 @@ }, "delete": { "tags": [ - "Diagnostics" + "Diagnostic" ], "operationId": "Diagnostic_Delete", "description": "Deletes the specified Diagnostic.", @@ -321,7 +342,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/DiagnosticIdParameter" + "$ref": "./apimanagement.json#/parameters/DiagnosticIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -348,272 +369,8 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers": { - "get": { - "tags": [ - "DiagnosticLoggers" - ], - "operationId": "DiagnosticLogger_ListByService", - "description": "Lists all loggers assosiated with the specified Diagnostic of the API Management service instance.", - "x-ms-examples": { - "ApiManagementListDiagnosticLoggers": { - "$ref": "./examples/ApiManagementListDiagnosticLoggers.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/DiagnosticIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| type | eq | |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - } - ], - "responses": { - "200": { - "description": "Paged Result reponse of loggers assigned to the specified Diagnostic.", - "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimloggers.json#/definitions/LoggerContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}/loggers/{loggerid}": { - "head": { - "tags": [ - "DiagnosticLoggers" - ], - "operationId": "DiagnosticLogger_CheckEntityExists", - "description": "Checks that logger entity specified by identifier is associated with the diagnostics entity.", - "x-ms-examples": { - "ApiManagementHeadDiagnosticLogger": { - "$ref": "./examples/ApiManagementHeadDiagnosticLogger.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "The logger is associated with the diagnostic entity." - }, - "404": { - "description": "The logger is not associated with the diagnostic entity." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "DiagnosticLoggers" - ], - "operationId": "DiagnosticLogger_CreateOrUpdate", - "description": "Attaches a logger to a dignostic.", - "x-ms-examples": { - "ApiManagementCreateDiagnosticLogger": { - "$ref": "./examples/ApiManagementCreateDiagnosticLogger.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Logger was successfully attached to Diagnostic.", - "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerContract" - } - }, - "200": { - "description": "Logger to Diagnostic link was successfully updated.", - "schema": { - "$ref": "./apimloggers.json#/definitions/LoggerContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "DiagnosticLoggers" - ], - "operationId": "DiagnosticLogger_Delete", - "description": "Deletes the specified Logger from Diagnostic.", - "x-ms-examples": { - "ApiManagementDeleteDiagnosticLogger": { - "$ref": "./examples/ApiManagementDeleteDiagnosticLogger.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/DiagnosticIdParameter" - }, - { - "$ref": "./apimloggers.json#/parameters/LoggerIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The Logger was successfully detached from Diagnostic." - }, - "204": { - "description": "The Logger was successfully detached from Diagnostic." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } } }, - "definitions": { - "DiagnosticCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DiagnosticContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Diagnostic list representation." - }, - "DiagnosticContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DiagnosticContractProperties", - "description": "Diagnostic entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Diagnostic details." - }, - "DiagnosticContractProperties": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Indicates whether a diagnostic should receive data or not." - } - }, - "required": [ - "enabled" - ], - "description": "Diagnostic Entity Properties" - } - }, - "parameters": { - "DiagnosticIdParameter": { - "name": "diagnosticId", - "in": "path", - "required": true, - "type": "string", - "description": "Diagnostic identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimgroups.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimgroups.json index 0e4e9aa5..57aed2ab 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimgroups.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimgroups.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Group entity in your Azure API Management deployment. Groups are used to manage the visibility of products to developers. Each API Management service instance comes with the following immutable system groups whose membership is automatically managed by API Management. - **Administrators** - Azure subscription administrators are members of this group. - **Developers** - Authenticated developer portal users fall into this group. - **Guests** - Unauthenticated developer portal users are placed into this group. In addition to these system groups, administrators can create custom groups or [leverage external groups in associated Azure Active Directory tenants](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-aad#how-to-add-an-external-azure-active-directory-group). Custom and external groups can be used alongside system groups in giving developers visibility and access to API products. For example, you could create one custom group for developers affiliated with a specific partner organization and allow them access to the APIs from a product containing relevant APIs only. A user can be a member of more than one group.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups": { "get": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_ListByService", "description": "Lists a collection of groups defined within a service instance.", @@ -61,7 +61,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| externalId | filter | eq | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -80,20 +80,26 @@ "200": { "description": "Lists a collection of Group entities.", "schema": { - "$ref": "#/definitions/GroupCollection" + "$ref": "./definitions.json#/definitions/GroupCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/GroupContract" + "x-ms-odata": "./definitions.json#/definitions/GroupContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}": { "head": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_GetEntityTag", "description": "Gets the entity state (Etag) version of the group specified by its identifier.", @@ -110,7 +116,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -139,7 +145,7 @@ }, "get": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_Get", "description": "Gets the details of the group specified by its identifier.", @@ -156,7 +162,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -169,7 +175,7 @@ "200": { "description": "The response body contains the specified Group entity.", "schema": { - "$ref": "#/definitions/GroupContract" + "$ref": "./definitions.json#/definitions/GroupContract" }, "headers": { "ETag": { @@ -188,7 +194,7 @@ }, "put": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_CreateOrUpdate", "description": "Creates or Updates a group.", @@ -208,14 +214,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/GroupCreateParameters" + "$ref": "./definitions.json#/definitions/GroupCreateParameters" }, "description": "Create parameters." }, @@ -231,15 +237,27 @@ ], "responses": { "201": { - "description": "Group was created succesfully.", + "description": "Group was created successfully.", "schema": { - "$ref": "#/definitions/GroupContract" + "$ref": "./definitions.json#/definitions/GroupContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Group already exists.", "schema": { - "$ref": "#/definitions/GroupContract" + "$ref": "./definitions.json#/definitions/GroupContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -252,7 +270,7 @@ }, "patch": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_Update", "description": "Updates the details of the group specified by its identifier.", @@ -269,14 +287,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/GroupUpdateParameters" + "$ref": "./definitions.json#/definitions/GroupUpdateParameters" }, "description": "Update parameters." }, @@ -291,8 +309,17 @@ } ], "responses": { - "204": { - "description": "The group details were successfully updated." + "200": { + "description": "The group details were successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/GroupContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -304,7 +331,7 @@ }, "delete": { "tags": [ - "Groups" + "Group" ], "operationId": "Group_Delete", "description": "Deletes specific group of the API Management service instance.", @@ -321,7 +348,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -352,10 +379,10 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users": { "get": { "tags": [ - "GroupUsers" + "GroupUser" ], "operationId": "GroupUser_List", - "description": "Lists a collection of the members of the group, specified by its identifier.", + "description": "Lists a collection of user entities associated with the group.", "x-ms-examples": { "ApiManagementListGroupUsers": { "$ref": "./examples/ApiManagementListGroupUsers.json" @@ -369,14 +396,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| registrationDate | filter | ge, le, eq, ne, gt, lt | |
| note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -395,7 +422,7 @@ "200": { "description": "Lists a collection of user entities associated with the group.", "schema": { - "$ref": "./apimusers.json#/definitions/UserCollection" + "$ref": "./definitions.json#/definitions/UserCollection" } }, "default": { @@ -408,13 +435,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimusers.json#/definitions/UserContract" + "x-ms-odata": "./definitions.json#/definitions/UserContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{uid}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/groups/{groupId}/users/{userId}": { "head": { "tags": [ - "GroupUsers" + "GroupUser" ], "operationId": "GroupUser_CheckEntityExists", "description": "Checks that user entity specified by identifier is associated with the group entity.", @@ -431,10 +458,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -447,7 +474,7 @@ "204": { "description": "Entity exists" }, - "404" : { + "404": { "description": "Entity does not exists." }, "default": { @@ -458,12 +485,12 @@ } } }, - "put": { + "put": { "tags": [ - "GroupUsers" + "GroupUser" ], "operationId": "GroupUser_Create", - "description": "Adds a user to the specified group.", + "description": "Add existing user to existing group", "x-ms-examples": { "ApiManagementCreateGroupUser": { "$ref": "./examples/ApiManagementCreateGroupUser.json" @@ -477,10 +504,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -493,13 +520,13 @@ "201": { "description": "The user was successfully added to the group.", "schema": { - "$ref": "./apimusers.json#/definitions/UserContract" + "$ref": "./definitions.json#/definitions/UserContract" } }, "200": { "description": "The specified user is already a member of the specified group.", "schema": { - "$ref": "./apimusers.json#/definitions/UserContract" + "$ref": "./definitions.json#/definitions/UserContract" } }, "default": { @@ -512,7 +539,7 @@ }, "delete": { "tags": [ - "GroupUsers" + "GroupUser" ], "operationId": "GroupUser_Delete", "description": "Remove existing user from existing group.", @@ -529,10 +556,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -558,178 +585,6 @@ } } }, - "definitions": { - "GroupCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/GroupContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Group list representation." - }, - "GroupContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/GroupContractProperties", - "description": "Group entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Contract details." - }, - "GroupContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Group name.", - "maxLength": 300, - "minLength": 1 - }, - "description": { - "type": "string", - "description": "Group description. Can contain HTML formatting tags.", - "maxLength": 1000 - }, - "builtIn": { - "readOnly": true, - "type": "boolean", - "description": "true if the group is one of the three system groups (Administrators, Developers, or Guests); otherwise false." - }, - "type": { - "type": "string", - "description": "Group type.", - "enum": [ - "custom", - "system", - "external" - ], - "x-ms-enum": { - "name": "GroupType", - "modelAsString": false - } - }, - "externalId": { - "type": "string", - "description": "For external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null." - } - }, - "required": [ - "displayName" - ], - "description": "Group contract Properties." - }, - "GroupCreateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/GroupCreateParametersProperties", - "description": "Properties supplied to Create Group operation." - } - }, - "description": "Parameters supplied to the Create Group operation." - }, - "GroupCreateParametersProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Group name.", - "maxLength": 300, - "minLength": 1 - }, - "description": { - "type": "string", - "description": "Group description." - }, - "type": { - "type": "string", - "description": "Group type.", - "enum": [ - "custom", - "system", - "external" - ], - "x-ms-enum": { - "name": "GroupType", - "modelAsString": false - } - }, - "externalId": { - "type": "string", - "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null." - } - }, - "required": [ - "displayName" - ], - "description": "Parameters supplied to the Create Group operation." - }, - "GroupUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/GroupUpdateParametersProperties", - "description": "Group entity update contract properties." - } - }, - "description": "Parameters supplied to the Update Group operation." - }, - "GroupUpdateParametersProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Group name.", - "maxLength": 300, - "minLength": 1 - }, - "description": { - "type": "string", - "description": "Group description." - }, - "type": { - "type": "string", - "description": "Group type.", - "enum": [ - "custom", - "system", - "external" - ], - "x-ms-enum": { - "name": "GroupType", - "modelAsString": false - } - }, - "externalId": { - "type": "string", - "description": "Identifier of the external groups, this property contains the id of the group from the external identity provider, e.g. for Azure Active Directory aad://.onmicrosoft.com/groups/; otherwise the value is null." - } - }, - "description": "Parameters supplied to the Update Group operation." - } - }, - "parameters": { - "GroupIdParameter": { - "name": "groupId", - "in": "path", - "required": true, - "type": "string", - "description": "Group identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimidentityprovider.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimidentityprovider.json index 0297039b..b7785af9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimidentityprovider.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimidentityprovider.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Identity Provider entity associated with your Azure API Management deployment. Setting up an external Identity Provider for authentication can help you manage the developer portal logins using the OAuth2 flow.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -50,9 +50,6 @@ } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, @@ -61,16 +58,16 @@ }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "responses": { "200": { "description": "Lists a collection of Identity Providers.", "schema": { - "$ref": "#/definitions/IdentityProviderList" + "$ref": "./definitions.json#/definitions/IdentityProviderList" } }, "default": { @@ -79,6 +76,9 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -95,9 +95,6 @@ } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, @@ -105,20 +102,23 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/IdentityProviderNameParameter" + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Specified identity provider entity exists and current entity state version is present in the ETag header.", "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -129,7 +129,7 @@ } } }, - "get": { + "get": { "tags": [ "IdentityProvider" ], @@ -141,9 +141,6 @@ } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, @@ -151,17 +148,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/IdentityProviderNameParameter" + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The response body contains the specified IdentityProvider entity configuration details.", "schema": { - "$ref": "#/definitions/IdentityProviderContract" + "$ref": "./definitions.json#/definitions/IdentityProviderContract" }, "headers": { "ETag": { @@ -197,14 +197,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/IdentityProviderNameParameter" + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IdentityProviderContract" + "$ref": "./definitions.json#/definitions/IdentityProviderCreateContract" }, "description": "Create parameters." }, @@ -221,14 +221,26 @@ "responses": { "201": { "description": "IdentityProvider configuration were successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/IdentityProviderContract" + "$ref": "./definitions.json#/definitions/IdentityProviderContract" } }, "200": { "description": "The existing Identity Provider was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/IdentityProviderContract" + "$ref": "./definitions.json#/definitions/IdentityProviderContract" } }, "default": { @@ -241,7 +253,7 @@ }, "patch": { "tags": [ - "IdentityProviders" + "IdentityProvider" ], "operationId": "IdentityProvider_Update", "description": "Updates an existing IdentityProvider configuration.", @@ -258,14 +270,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/IdentityProviderNameParameter" + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IdentityProviderUpdateParameters" + "$ref": "./definitions.json#/definitions/IdentityProviderUpdateParameters" }, "description": "Update parameters." }, @@ -280,8 +292,17 @@ } ], "responses": { - "204": { - "description": "The existing identity provider configuration was successfully updated." + "200": { + "description": "The existing Identity Provider was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/IdentityProviderContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -310,7 +331,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/IdentityProviderNameParameter" + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -337,216 +358,59 @@ } } } - } - }, - "definitions": { - "IdentityProviderContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IdentityProviderContractProperties", - "description": "Identity Provider contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Identity Provider details." - }, - "IdentityProviderContractProperties": { - "properties": { - "clientId": { - "type": "string", - "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.", - "minLength": 1 - }, - "clientSecret": { - "type": "string", - "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.", - "minLength": 1 - } - }, - "allOf": [ - { - "$ref": "#/definitions/IdentityProviderBaseParameters" - } - ], - "required": [ - "clientId", - "clientSecret" - ], - "description": "The external Identity Providers like Facebook, Google, Microsoft, Twitter or Azure Active Directory which can be used to enable access to the API Management service developer portal for all users." - }, - "IdentityProviderList": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IdentityProviderContract" - }, - "description": "Identity Provider configuration values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "List of all the Identity Providers configured on the service instance." - }, - "IdentityProviderUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IdentityProviderUpdateProperties", - "description": "Identity Provider update properties." - } - }, - "description": "Parameters supplied to update Identity Provider" - }, - "IdentityProviderUpdateProperties": { - "properties": { - "clientId": { - "type": "string", - "description": "Client Id of the Application in the external Identity Provider. It is App ID for Facebook login, Client ID for Google login, App ID for Microsoft.", - "minLength": 1 - }, - "clientSecret": { - "type": "string", - "description": "Client secret of the Application in external Identity Provider, used to authenticate login request. For example, it is App Secret for Facebook login, API Key for Google login, Public Key for Microsoft.", - "minLength": 1 - } - }, - "allOf": [ - { - "$ref": "#/definitions/IdentityProviderBaseParameters" - } - ], - "description": "Parameters supplied to the Update Identity Provider operation." }, - "IdentityProviderBaseParameters": { - "properties": { - "type": { - "type": "string", - "enum": [ - "facebook", - "google", - "microsoft", - "twitter", - "aad", - "aadB2C" - ], - "x-ms-enum": { - "name": "IdentityProviderType", - "modelAsString": true, - "values": [ - { - "value": "facebook", - "description": "Facebook as Identity provider." - }, - { - "value": "google", - "description": "Google as Identity provider." - }, - { - "value": "microsoft", - "description": "Microsoft Live as Identity provider." - }, - { - "value": "twitter", - "description": "Twitter as Identity provider." - }, - { - "value": "aad", - "description": "Azure Active Directory as Identity provider." - }, - { - "value": "aadB2C", - "description": "Azure Active Directory B2C as Identity provider." - } - ] - }, - "description": "Identity Provider Type identifier." - }, - "allowedTenants": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 32, - "description": "List of Allowed Tenants when configuring Azure Active Directory login." - }, - "signupPolicyName": { - "type": "string", - "description": "Signup Policy Name. Only applies to AAD B2C Identity Provider.", - "minLength": 1 - }, - "signinPolicyName": { - "type": "string", - "description": "Signin Policy Name. Only applies to AAD B2C Identity Provider.", - "minLength": 1 - }, - "profileEditingPolicyName": { - "type": "string", - "description": "Profile Editing Policy Name. Only applies to AAD B2C Identity Provider.", - "minLength": 1 + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/identityProviders/{identityProviderName}/listSecrets": { + "post": { + "tags": [ + "IdentityProvider" + ], + "operationId": "IdentityProvider_ListSecrets", + "description": "Gets the client secret details of the Identity Provider.", + "x-ms-examples": { + "ApiManagementIdentityProviderListSecrets": { + "$ref": "./examples/ApiManagementIdentityProviderListSecrets.json" + } }, - "passwordResetPolicyName": { - "type": "string", - "description": "Password Reset Policy Name. Only applies to AAD B2C Identity Provider.", - "minLength": 1 - } - }, - "description": "Identity Provider Base Parameter Properties." - } - }, - "parameters": { - "IdentityProviderNameParameter": { - "name": "identityProviderName", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "facebook", - "google", - "microsoft", - "twitter", - "aad", - "aadB2C" - ], - "x-ms-enum": { - "name": "IdentityProviderType", - "modelAsString": true, - "values": [ + "parameters": [ { - "value": "facebook", - "description": "Facebook as Identity provider." + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, { - "value": "google", - "description": "Google as Identity provider." + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "value": "microsoft", - "description": "Microsoft Live as Identity provider." + "$ref": "./apimanagement.json#/parameters/IdentityProviderNameParameter" }, { - "value": "twitter", - "description": "Twitter as Identity provider." + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "value": "aad", - "description": "Azure Active Directory as Identity provider." + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the client secret.", + "schema": { + "$ref": "./definitions.json#/definitions/ClientSecretContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, - { - "value": "aadB2C", - "description": "Azure Active Directory B2C as Identity provider." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - ] - }, - "description": "Identity Provider Type identifier.", - "x-ms-parameter-location": "method" + } + } } - } -} \ No newline at end of file + }, + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimissues.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimissues.json index 749225eb..a5da0317 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimissues.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimissues.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use this REST API to get all the issues across an Azure Api Management service.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,12 +37,12 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues": { "get": { "tags": [ - "Issues" + "Issue" ], "operationId": "Issue_ListByService", "description": "Lists a collection of issues in the specified service instance.", "x-ms-examples": { - "ApiManagementListLoggers": { + "ApiManagementListIssues": { "$ref": "./examples/ApiManagementListIssues.json" } }, @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |\n| state | eq | |\n| userId | ge, le, eq, ne, gt, lt | substringof, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| apiId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| title | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| authorName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -77,7 +77,7 @@ "200": { "description": "Lists a collection of Issue entities.", "schema": { - "$ref": "./apimapis.json#/definitions/IssueCollection" + "$ref": "./definitions.json#/definitions/IssueCollection" } }, "default": { @@ -90,8 +90,61 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimapis.json#/definitions/IssueContract" + "x-ms-odata": "./definitions.json#/definitions/IssueContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/issues/{issueId}": { + "get": { + "tags": [ + "Issue" + ], + "operationId": "Issue_Get", + "description": "Gets API Management issue details", + "x-ms-examples": { + "ApiManagementGetIssue": { + "$ref": "./examples/ApiManagementGetIssue.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IssueIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get the details of the issue.", + "schema": { + "$ref": "./definitions.json#/definitions/IssueContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } } } - } -} \ No newline at end of file + }, + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimloggers.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimloggers.json index a7be9704..8db69af7 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimloggers.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimloggers.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on logger entity Azure API Management deployment.The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure EventHub.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers": { "get": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_ListByService", "description": "Lists a collection of loggers in the specified service instance.", @@ -61,7 +61,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq | |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| loggerType | filter | eq | |
| resourceId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -80,7 +80,7 @@ "200": { "description": "Lists a collection of Logger entities.", "schema": { - "$ref": "#/definitions/LoggerCollection" + "$ref": "./definitions.json#/definitions/LoggerCollection" } }, "default": { @@ -93,13 +93,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/LoggerContract" + "x-ms-odata": "./definitions.json#/definitions/LoggerContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerid}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/loggers/{loggerId}": { "head": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_GetEntityTag", "description": "Gets the entity state (Etag) version of the logger specified by its identifier.", @@ -116,7 +116,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -129,10 +129,10 @@ "200": { "description": "Specified logger entity exists and current entity state version is present in the ETag header.", "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -143,9 +143,9 @@ } } }, - "get": { + "get": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_Get", "description": "Gets the details of the logger specified by its identifier.", @@ -162,7 +162,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -175,7 +175,7 @@ "200": { "description": "The response body contains the specified Logger entity.", "schema": { - "$ref": "#/definitions/LoggerContract" + "$ref": "./definitions.json#/definitions/LoggerContract" }, "headers": { "ETag": { @@ -194,7 +194,7 @@ }, "put": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_CreateOrUpdate", "description": "Creates or Updates a logger.", @@ -214,14 +214,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/LoggerContract" + "$ref": "./definitions.json#/definitions/LoggerContract" }, "description": "Create parameters." }, @@ -239,13 +239,25 @@ "201": { "description": "Logger was successfully created.", "schema": { - "$ref": "#/definitions/LoggerContract" + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "The existing logger was successfully updated.", "schema": { - "$ref": "#/definitions/LoggerContract" + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -258,7 +270,7 @@ }, "patch": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_Update", "description": "Updates an existing logger.", @@ -275,14 +287,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/LoggerUpdateContract" + "$ref": "./definitions.json#/definitions/LoggerUpdateContract" }, "description": "Update parameters." }, @@ -297,8 +309,17 @@ } ], "responses": { - "204": { - "description": "The existing logger was successfully updated." + "200": { + "description": "The existing logger was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/LoggerContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -310,7 +331,7 @@ }, "delete": { "tags": [ - "Loggers" + "Logger" ], "operationId": "Logger_Delete", "description": "Deletes the specified logger.", @@ -327,7 +348,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LoggerIdParameter" + "$ref": "./apimanagement.json#/parameters/LoggerIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -356,157 +377,6 @@ } } }, - "definitions": { - "LoggerCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/LoggerContract" - }, - "description": "Logger values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Logger list representation." - }, - "LoggerContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/LoggerContractProperties", - "description": "Logger entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Logger details." - }, - "LoggerContractProperties": { - "properties": { - "loggerType": { - "type": "string", - "description": "Logger type.", - "enum": [ - "azureEventHub", - "applicationInsights" - ], - "x-ms-enum": { - "name": "LoggerType", - "modelAsString": true, - "values": [ - { - "value": "azureEventHub", - "description": "Azure Event Hub as log destination." - }, - { - "value": "applicationInsights", - "description": "Azure Application Insights as log destination." - } - ] - } - }, - "description": { - "type": "string", - "description": "Logger description.", - "maxLength": 256 - }, - "credentials": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The name and SendRule connection string of the event hub for azureEventHub logger.\nInstrumentation key for applicationInsights logger.", - "example": { - "name": "apim", - "connectionString": "Endpoint=sb://contoso-ns.servicebus.windows.net/;SharedAccessKeyName=Sender;SharedAccessKey=..." - } - }, - "isBuffered": { - "type": "boolean", - "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true." - } - }, - "required": [ - "loggerType", - "credentials" - ], - "description": "The Logger entity in API Management represents an event sink that you can use to log API Management events. Currently the Logger entity supports logging API Management events to Azure Event Hubs." - }, - "LoggerUpdateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/LoggerUpdateParameters", - "description": "Logger entity update contract properties." - } - }, - "description": "Logger update contract." - }, - "LoggerUpdateParameters": { - "properties": { - "loggerType": { - "type": "string", - "description": "Logger type.", - "enum": [ - "azureEventHub", - "applicationInsights" - ], - "x-ms-enum": { - "name": "LoggerType", - "modelAsString": true, - "values": [ - { - "value": "azureEventHub", - "description": "Azure Event Hub as log destination." - }, - { - "value": "applicationInsights", - "description": "Azure Application Insights as log destination." - } - ] - } - }, - "description": { - "type": "string", - "description": "Logger description." - }, - "credentials": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Logger credentials." - }, - "isBuffered": { - "type": "boolean", - "description": "Whether records are buffered in the logger before publishing. Default is assumed to be true." - } - }, - "description": "Parameters supplied to the Update Logger operation." - } - }, - "parameters": { - "LoggerIdParameter": { - "name": "loggerid", - "in": "path", - "required": true, - "type": "string", - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "description": "Logger identifier. Must be unique in the API Management service instance.", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnetworkstatus.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnetworkstatus.json index 0a5d95a5..6d11a0de 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnetworkstatus.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnetworkstatus.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for getting the network connectivity status of your Azure API Management deployment. When the API Management service is deployed inside a Virtual Network, it needs to have access to other Azure resources it depends on. This also gives details about the DNS Servers visible to Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -103,7 +103,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/LocationNameParameter" + "$ref": "./apimanagement.json#/parameters/LocationNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -160,13 +160,23 @@ "type": "string", "format": "date-time", "description": "The date when the resource connectivity status last Changed from success to failure or vice-versa. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + }, + "resourceType": { + "type": "string", + "description": "Resource Type." + }, + "isOptional": { + "type": "boolean", + "description": "Whether this is optional." } }, "required": [ "name", "status", "lastUpdated", - "lastStatusChange" + "lastStatusChange", + "resourceType", + "isOptional" ], "description": "Details about connectivity to a resource." }, @@ -208,15 +218,5 @@ "description": "Network Status details." } }, - "parameters": { - "LocationNameParameter": { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "Location in which the API Management service is deployed. This is one of the Azure Regions like West US, East US, South Central US.", - "minLength": 1, - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnotifications.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnotifications.json index 7abf971b..deb5ade0 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnotifications.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimnotifications.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on who is going to receive notifications associated with your Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -42,7 +42,7 @@ "operationId": "Notification_ListByService", "description": "Lists a collection of properties defined within a service instance.", "x-ms-examples": { - "ApiManagementListNotification": { + "ApiManagementListNotifications": { "$ref": "./examples/ApiManagementListNotifications.json" } }, @@ -70,7 +70,13 @@ "200": { "description": "A Collection of the Notification for the specified API Management service instance.", "schema": { - "$ref": "#/definitions/NotificationCollection" + "$ref": "./definitions.json#/definitions/NotificationCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, @@ -99,7 +105,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -112,7 +118,7 @@ "200": { "description": "The response body contains the specified Notification.", "schema": { - "$ref": "#/definitions/NotificationContract" + "$ref": "./definitions.json#/definitions/NotificationContract" } }, "default": { @@ -128,10 +134,10 @@ "Notification" ], "operationId": "Notification_CreateOrUpdate", - "description": "Updates an Notification.", + "description": "Create or Update API Management publisher notification.", "x-ms-examples": { - "ApiManagementGetNotification": { - "$ref": "./examples/ApiManagementGetNotification.json" + "ApiManagementCreateNotification": { + "$ref": "./examples/ApiManagementCreateNotification.json" } }, "parameters": [ @@ -142,7 +148,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" @@ -158,7 +164,7 @@ "200": { "description": "Notification was successfully updated.", "schema": { - "$ref": "#/definitions/NotificationContract" + "$ref": "./definitions.json#/definitions/NotificationContract" } }, "default": { @@ -173,13 +179,13 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers": { "get": { "tags": [ - "Notification" + "NotificationRecipientUser" ], "operationId": "NotificationRecipientUser_ListByNotification", "description": "Gets the list of the Notification Recipient User subscribed to the notification.", "x-ms-examples": { - "ApiManagementListNotificationRecipientUser": { - "$ref": "./examples/ApiManagementListNotificationRecipientUser.json" + "ApiManagementListNotificationRecipientUsers": { + "$ref": "./examples/ApiManagementListNotificationRecipientUsers.json" } }, "parameters": [ @@ -190,7 +196,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -203,7 +209,7 @@ "200": { "description": "The response body contains the Recipient User collection for the notification.", "schema": { - "$ref": "#/definitions/RecipientUserCollection" + "$ref": "./definitions.json#/definitions/RecipientUserCollection" } }, "default": { @@ -215,7 +221,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{uid}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/notifications/{notificationName}/recipientUsers/{userId}": { "head": { "tags": [ "NotificationRecipientUser" @@ -235,10 +241,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -251,7 +257,7 @@ "204": { "description": "The User is subscribed to receive the notification." }, - "404" : { + "404": { "description": "Entity does not exists." }, "default": { @@ -269,8 +275,8 @@ "operationId": "NotificationRecipientUser_CreateOrUpdate", "description": "Adds the API Management User to the list of Recipients for the Notification.", "x-ms-examples": { - "ApiManagementCreateRecipientUser": { - "$ref": "./examples/ApiManagementCreateRecipientUser.json" + "ApiManagementCreateNotificationRecipientUser": { + "$ref": "./examples/ApiManagementCreateNotificationRecipientUser.json" } }, "parameters": [ @@ -281,10 +287,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -297,13 +303,13 @@ "201": { "description": "Recipient User was successfully added to the notification list.", "schema": { - "$ref": "#/definitions/RecipientUserContract" + "$ref": "./definitions.json#/definitions/RecipientUserContract" } }, "200": { "description": "Recipient User is already part of the notification list.", "schema": { - "$ref": "#/definitions/RecipientUserContract" + "$ref": "./definitions.json#/definitions/RecipientUserContract" } }, "default": { @@ -333,10 +339,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "./apimusers.json#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -369,8 +375,8 @@ "operationId": "NotificationRecipientEmail_ListByNotification", "description": "Gets the list of the Notification Recipient Emails subscribed to a notification.", "x-ms-examples": { - "ApiManagementListNotificationRecipientEmail": { - "$ref": "./examples/ApiManagementListNotificationRecipientEmail.json" + "ApiManagementListNotificationRecipientEmails": { + "$ref": "./examples/ApiManagementListNotificationRecipientEmails.json" } }, "parameters": [ @@ -381,7 +387,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -394,7 +400,7 @@ "200": { "description": "The response body contains the Recipient Email collection subscribed to the notification.", "schema": { - "$ref": "#/definitions/RecipientEmailCollection" + "$ref": "./definitions.json#/definitions/RecipientEmailCollection" } }, "default": { @@ -426,10 +432,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "#/parameters/EmailParameter" + "$ref": "./apimanagement.json#/parameters/EmailParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -442,7 +448,7 @@ "204": { "description": "The Users is subscribed to receive the notification." }, - "404" : { + "404": { "description": "The Users is not subscribed to receive the notification." }, "default": { @@ -460,8 +466,8 @@ "operationId": "NotificationRecipientEmail_CreateOrUpdate", "description": "Adds the Email address to the list of Recipients for the Notification.", "x-ms-examples": { - "ApiManagementCreateRecipientEmail": { - "$ref": "./examples/ApiManagementCreateRecipientEmail.json" + "ApiManagementCreateNotificationRecipientEmail": { + "$ref": "./examples/ApiManagementCreateNotificationRecipientEmail.json" } }, "parameters": [ @@ -472,10 +478,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "#/parameters/EmailParameter" + "$ref": "./apimanagement.json#/parameters/EmailParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -488,13 +494,13 @@ "201": { "description": "Recipient Email was successfully added to the notification list.", "schema": { - "$ref": "#/definitions/RecipientEmailContract" + "$ref": "./definitions.json#/definitions/RecipientEmailContract" } }, "200": { "description": "Recipient Email is already part of the notification list.", "schema": { - "$ref": "#/definitions/RecipientEmailContract" + "$ref": "./definitions.json#/definitions/RecipientEmailContract" } }, "default": { @@ -524,10 +530,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/NotificationNameParameter" + "$ref": "./apimanagement.json#/parameters/NotificationNameParameter" }, { - "$ref": "#/parameters/EmailParameter" + "$ref": "./apimanagement.json#/parameters/EmailParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -553,219 +559,6 @@ } } }, - "definitions": { - "NotificationCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/NotificationContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Notification list representation." - }, - "NotificationContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/NotificationContractProperties", - "description": "Notification entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Notification details." - }, - "NotificationContractProperties": { - "properties": { - "title": { - "type": "string", - "description": "Title of the Notification.", - "minLength": 1, - "maxLength": 1000 - }, - "description": { - "type": "string", - "description": "Description of the Notification." - }, - "recipients": { - "$ref": "#/definitions/RecipientsContractProperties", - "description": "Recipient Parameter values." - } - }, - "required": [ - "title" - ], - "description": "Notification Contract properties." - }, - "RecipientsContractProperties": { - "properties": { - "emails": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of Emails subscribed for the notification." - }, - "users": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of Users subscribed for the notification." - } - }, - "description": "Notification Parameter contract." - }, - "RecipientUserCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RecipientUserContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Recipient User list representation." - }, - "RecipientUserContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/RecipientUsersContractProperties", - "description": "Recipient User entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Recipient User details." - }, - "RecipientUsersContractProperties": { - "properties": { - "userId": { - "type": "string", - "description": "API Management UserId subscribed to notification." - } - }, - "description": "Recipient User Contract Properties." - }, - "RecipientEmailCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RecipientEmailContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Recipient User list representation." - }, - "RecipientEmailContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/RecipientEmailContractProperties", - "description": "Recipient Email contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Recipient Email details." - }, - "RecipientEmailContractProperties": { - "properties": { - "email": { - "type": "string", - "description": "User Email subscribed to notification." - } - }, - "description": "Recipient Email Contract Properties." - } - }, - "parameters": { - "NotificationNameParameter": { - "name": "notificationName", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "RequestPublisherNotificationMessage", - "PurchasePublisherNotificationMessage", - "NewApplicationNotificationMessage", - "BCC", - "NewIssuePublisherNotificationMessage", - "AccountClosedPublisher", - "QuotaLimitApproachingPublisherNotificationMessage" - ], - "x-ms-enum": { - "name": "NotificationName", - "modelAsString": true, - "values": [ - { - "value": "RequestPublisherNotificationMessage", - "description": "The following email recipients and users will receive email notifications about subscription requests for API products requiring approval." - }, - { - "value": "PurchasePublisherNotificationMessage", - "description": "The following email recipients and users will receive email notifications about new API product subscriptions." - }, - { - "value": "NewApplicationNotificationMessage", - "description": "The following email recipients and users will receive email notifications when new applications are submitted to the application gallery." - }, - { - "value": "BCC", - "description": "The following recipients will receive blind carbon copies of all emails sent to developers." - }, - { - "value": "NewIssuePublisherNotificationMessage", - "description": "The following email recipients and users will receive email notifications when a new issue or comment is submitted on the developer portal." - }, - { - "value": "AccountClosedPublisher", - "description": "The following email recipients and users will receive email notifications when developer closes his account." - }, - { - "value": "QuotaLimitApproachingPublisherNotificationMessage", - "description": "The following email recipients and users will receive email notifications when subscription usage gets close to usage quota." - } - ] - }, - "description": "Notification Name Identifier.", - "x-ms-parameter-location": "method" - }, - "EmailParameter": { - "name": "email", - "in": "path", - "required": true, - "type": "string", - "description": "Email identifier.", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimopenidconnectproviders.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimopenidconnectproviders.json index 2c2fd499..38fd4696 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimopenidconnectproviders.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimopenidconnectproviders.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on OpenId Connect Provider entity associated with your Azure API Management deployment. API Management allows you to access APIs secured with token from [OpenID Connect Provider ](http://openid.net/connect/) to be accessed from the Developer Console.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,10 +37,10 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders": { "get": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_ListByService", - "description": "Lists all OpenID Connect Providers.", + "description": "Lists of all the OpenId Connect Providers.", "x-ms-examples": { "ApiManagementListOpenIdConnectProviders": { "$ref": "./examples/ApiManagementListOpenIdConnectProviders.json" @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -77,20 +77,26 @@ "200": { "description": "Lists of all the OpenId Connect Providers.", "schema": { - "$ref": "#/definitions/OpenIdConnectProviderCollection" + "$ref": "./definitions.json#/definitions/OpenIdConnectProviderCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/OpenidConnectProviderContract" + "x-ms-odata": "./definitions.json#/definitions/OpenidConnectProviderContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}": { "head": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_GetEntityTag", "description": "Gets the entity state (Etag) version of the openIdConnectProvider specified by its identifier.", @@ -107,7 +113,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/OpenIdConnectIdParameter" + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -120,10 +126,10 @@ "200": { "description": "Specified openidConnectProvider entity exists and current entity state version is present in the ETag header.", "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -134,12 +140,12 @@ } } }, - "get": { + "get": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_Get", - "description": "Gets specific OpenID Connect Provider.", + "description": "Gets specific OpenID Connect Provider without secrets.", "x-ms-examples": { "ApiManagementGetOpenIdConnectProvider": { "$ref": "./examples/ApiManagementGetOpenIdConnectProvider.json" @@ -153,7 +159,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/OpenIdConnectIdParameter" + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -164,9 +170,9 @@ ], "responses": { "200": { - "description": "The response body contains the specified OpenId Connect Provider entity.", + "description": "The response body contains the specified OpenId Connect Provider entity without secrets.", "schema": { - "$ref": "#/definitions/OpenidConnectProviderContract" + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" }, "headers": { "ETag": { @@ -185,7 +191,7 @@ }, "put": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_CreateOrUpdate", "description": "Creates or updates the OpenID Connect Provider.", @@ -202,14 +208,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/OpenIdConnectIdParameter" + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/OpenidConnectProviderContract" + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" }, "description": "Create parameters." }, @@ -226,14 +232,26 @@ "responses": { "201": { "description": "OpenIdConnect Provider was successfully created.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/OpenidConnectProviderContract" + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" } }, "200": { "description": "OpenIdConnect Provider was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/OpenidConnectProviderContract" + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" } }, "default": { @@ -246,7 +264,7 @@ }, "patch": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_Update", "description": "Updates the specific OpenID Connect Provider.", @@ -263,14 +281,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/OpenIdConnectIdParameter" + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/OpenidConnectProviderUpdateContract" + "$ref": "./definitions.json#/definitions/OpenidConnectProviderUpdateContract" }, "description": "Update parameters." }, @@ -285,8 +303,17 @@ } ], "responses": { - "204": { - "description": "OpenId Connect Provider was successfully updated." + "200": { + "description": "OpenIdConnect Provider was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/OpenidConnectProviderContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -298,7 +325,7 @@ }, "delete": { "tags": [ - "OpenIdConnectProviders" + "OpenidConnectProvider" ], "operationId": "OpenIdConnectProvider_Delete", "description": "Deletes specific OpenID Connect Provider of the API Management service instance.", @@ -315,7 +342,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/OpenIdConnectIdParameter" + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -342,118 +369,59 @@ } } } - } - }, - "definitions": { - "OpenIdConnectProviderCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/OpenidConnectProviderContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged OpenIdProviders list representation." - }, - "OpenidConnectProviderContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OpenidConnectProviderContractProperties", - "description": "OpenId Connect Provider contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "OpenId Connect Provider details." - }, - "OpenidConnectProviderContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "User-friendly OpenID Connect Provider name.", - "maxLength": 50 - }, - "description": { - "type": "string", - "description": "User-friendly description of OpenID Connect Provider." - }, - "metadataEndpoint": { - "type": "string", - "description": "Metadata endpoint URI." - }, - "clientId": { - "type": "string", - "description": "Client ID of developer console which is the client application." - }, - "clientSecret": { - "type": "string", - "description": "Client Secret of developer console which is the client application." - } - }, - "required": [ - "displayName", - "metadataEndpoint", - "clientId" - ], - "description": "OpenID Connect Providers Contract." - }, - "OpenidConnectProviderUpdateContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OpenidConnectProviderUpdateContractProperties", - "description": "OpenId Connect Provider Update contract properties." - } - }, - "description": "Parameters supplied to the Update OpenID Connect Provider operation." }, - "OpenidConnectProviderUpdateContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "User-friendly OpenID Connect Provider name.", - "maxLength": 50 - }, - "description": { - "type": "string", - "description": "User-friendly description of OpenID Connect Provider." - }, - "metadataEndpoint": { - "type": "string", - "description": "Metadata endpoint URI." - }, - "clientId": { - "type": "string", - "description": "Client ID of developer console which is the client application." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/openidConnectProviders/{opid}/listSecrets": { + "post": { + "tags": [ + "OpenidConnectProvider" + ], + "operationId": "OpenIdConnectProvider_ListSecrets", + "description": "Gets the client secret details of the OpenID Connect Provider.", + "x-ms-examples": { + "ApiManagementOpenidConnectProviderListSecrets": { + "$ref": "./examples/ApiManagementOpenidConnectProviderListSecrets.json" + } }, - "clientSecret": { - "type": "string", - "description": "Client Secret of developer console which is the client application." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/OpenIdConnectIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the specified OpenId Connect Provider secrets.", + "schema": { + "$ref": "./definitions.json#/definitions/ClientSecretContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } - }, - "description": "Parameters supplied to the Update OpenID Connect Provider operation." + } } }, - "parameters": { - "OpenIdConnectIdParameter": { - "name": "opid", - "in": "path", - "required": true, - "type": "string", - "description": "Identifier of the OpenID Connect Provider.", - "maxLength": 256, - "pattern": "^[^*#&+:<>?]+$", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimportalsettings.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimportalsettings.json index 86bd3943..806022d3 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimportalsettings.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimportalsettings.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on PortalSettings entity associated with your Azure API Management deployment. Using this entity you can manage settings for a Developer Portal.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -34,6 +34,48 @@ } }, "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings": { + "get": { + "tags": [ + "PortalSettings" + ], + "operationId": "PortalSettings_ListByService", + "description": "Lists a collection of portalsettings defined within a service instance..", + "x-ms-examples": { + "ApiManagementListPortalSettings": { + "$ref": "./examples/ApiManagementListPortalSettings.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of Portal Settings entities.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSettingsCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/signin": { "head": { "tags": [ @@ -83,7 +125,7 @@ "SignInSettings" ], "operationId": "SignInSettings_Get", - "description": "Get Sign-In settings.", + "description": "Get Sign In Settings for the Portal", "x-ms-examples": { "ApiManagementPortalSettingsGetSignIn": { "$ref": "./examples/ApiManagementPortalSettingsGetSignIn.json" @@ -107,7 +149,7 @@ "200": { "description": "Sign-In settings.", "schema": { - "$ref": "#/definitions/PortalSigninSettings" + "$ref": "./definitions.json#/definitions/PortalSigninSettings" }, "headers": { "ETag": { @@ -115,6 +157,12 @@ "type": "string" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, @@ -141,7 +189,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalSigninSettings" + "$ref": "./definitions.json#/definitions/PortalSigninSettings" }, "description": "Update Sign-In settings." }, @@ -190,10 +238,13 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalSigninSettings" + "$ref": "./definitions.json#/definitions/PortalSigninSettings" }, "description": "Create or update parameters." }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -205,7 +256,7 @@ "200": { "description": "Sign-In settings was successfully updated.", "schema": { - "$ref": "#/definitions/PortalSigninSettings" + "$ref": "./definitions.json#/definitions/PortalSigninSettings" } }, "default": { @@ -266,7 +317,7 @@ "SignUpSettings" ], "operationId": "SignUpSettings_Get", - "description": "Get Sign-Up settings.", + "description": "Get Sign Up Settings for the Portal", "x-ms-examples": { "ApiManagementPortalSettingsGetSignUp": { "$ref": "./examples/ApiManagementPortalSettingsGetSignUp.json" @@ -290,7 +341,7 @@ "200": { "description": "Sign-Up settings.", "schema": { - "$ref": "#/definitions/PortalSignupSettings" + "$ref": "./definitions.json#/definitions/PortalSignupSettings" }, "headers": { "ETag": { @@ -298,6 +349,12 @@ "type": "string" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, @@ -324,7 +381,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalSignupSettings" + "$ref": "./definitions.json#/definitions/PortalSignupSettings" }, "description": "Update Sign-Up settings." }, @@ -373,10 +430,13 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalSignupSettings" + "$ref": "./definitions.json#/definitions/PortalSignupSettings" }, "description": "Create or update parameters." }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -388,7 +448,7 @@ "200": { "description": "Sign-Up settings was successfully updated.", "schema": { - "$ref": "#/definitions/PortalSignupSettings" + "$ref": "./definitions.json#/definitions/PortalSignupSettings" } }, "default": { @@ -449,7 +509,7 @@ "DelegationSettings" ], "operationId": "DelegationSettings_Get", - "description": "Get Delegation settings.", + "description": "Get Delegation Settings for the Portal.", "x-ms-examples": { "ApiManagementPortalSettingsGetDelegation": { "$ref": "./examples/ApiManagementPortalSettingsGetDelegation.json" @@ -473,7 +533,7 @@ "200": { "description": "Delegation settings.", "schema": { - "$ref": "#/definitions/PortalDelegationSettings" + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" }, "headers": { "ETag": { @@ -481,6 +541,12 @@ "type": "string" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, @@ -507,7 +573,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalDelegationSettings" + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" }, "description": "Update Delegation settings." }, @@ -556,10 +622,13 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PortalDelegationSettings" + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" }, "description": "Create or update parameters." }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -571,7 +640,7 @@ "200": { "description": "Delegation settings was successfully updated.", "schema": { - "$ref": "#/definitions/PortalDelegationSettings" + "$ref": "./definitions.json#/definitions/PortalDelegationSettings" } }, "default": { @@ -582,132 +651,49 @@ } } } - } - }, - "definitions": { - "PortalSigninSettings": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PortalSigninSettingProperties", - "description": "Sign-in settings contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Sign-In settings for the Developer Portal." - }, - "PortalSigninSettingProperties": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Redirect Anonymous users to the Sign-In page." - } - }, - "description": "Sign-in settings contract properties." - }, - "PortalSignupSettings": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PortalSignupSettingsProperties", - "description": "Sign-up settings contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Sign-Up settings for a developer portal." }, - "PortalSignupSettingsProperties": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Allow users to sign up on a developer portal." - }, - "termsOfService": { - "type": "object", - "$ref": "#/definitions/TermsOfServiceProperties", - "description": "Terms of service contract properties." - } - }, - "description": "Sign-up settings contract properties." - }, - "TermsOfServiceProperties": { - "properties": { - "text": { - "type": "string", - "description": "A terms of service text." - }, - "enabled": { - "type": "boolean", - "description": "Display terms of service during a sign-up process." - }, - "consentRequired": { - "type": "boolean", - "description": "Ask user for consent to the terms of service." - } - }, - "description": "Terms of service contract properties." - }, - "PortalDelegationSettings": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PortalDelegationSettingsProperties", - "description": "Delegation settings contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Delegation settings for a developer portal." - }, - "PortalDelegationSettingsProperties": { - "properties": { - "url": { - "type": "string", - "description": "A delegation Url." - }, - "validationKey": { - "type": "string", - "description": "A base64-encoded validation key to validate, that a request is coming from Azure API Management." - }, - "subscriptions": { - "$ref": "#/definitions/SubscriptionsDelegationSettingsProperties", - "description": "Subscriptions delegation settings." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/portalsettings/delegation/listSecrets": { + "post": { + "tags": [ + "DelegationSettings" + ], + "operationId": "DelegationSettings_ListSecrets", + "description": "Gets the secret validation key of the DelegationSettings.", + "x-ms-examples": { + "ApiManagementListSecretsPortalSettings": { + "$ref": "./examples/ApiManagementListSecretsPortalSettingsValidationKey.json" + } }, - "userRegistration": { - "$ref": "#/definitions/RegistrationDelegationSettingsProperties", - "description": "User registration delegation settings." - } - }, - "description": "Delegation settings contract properties." - }, - "SubscriptionsDelegationSettingsProperties": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Enable or disable delegation for subscriptions." - } - }, - "description": "Subscriptions delegation settings properties." - }, - "RegistrationDelegationSettingsProperties": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Enable or disable delegation for user registration." + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The response body contains the validation key.", + "schema": { + "$ref": "./definitions.json#/definitions/PortalSettingValidationKeyContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } - }, - "description": "User registration delegation settings properties." + } } - } -} \ No newline at end of file + }, + "definitions": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproducts.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproducts.json index c4945c50..fd6076a6 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproducts.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproducts.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Product entity associated with your Azure API Management deployment. The Product entity represents a product in API Management. Products include one or more APIs and their associated terms of use. Once a product is published, developers can subscribe to the product and begin to use the product’s APIs.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products": { "get": { "tags": [ - "Products" + "Product" ], "operationId": "Product_ListByService", "description": "Lists a collection of products in the specified service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| terms | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
| groups | expand | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -73,6 +73,13 @@ "type": "boolean", "description": "When set to true, the response contains an array of groups that have visibility to the product. The default is false." }, + { + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "Products which are part of a specific tag." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -84,7 +91,7 @@ "200": { "description": "A Collection of the Product entities for the specified API Management service instance.", "schema": { - "$ref": "#/definitions/ProductCollection" + "$ref": "./definitions.json#/definitions/ProductCollection" } }, "default": { @@ -97,13 +104,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ProductContract" + "x-ms-odata": "./definitions.json#/definitions/ProductContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}": { "head": { "tags": [ - "Products" + "Product" ], "operationId": "Product_GetEntityTag", "description": "Gets the entity state (Etag) version of the product specified by its identifier.", @@ -120,7 +127,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -149,7 +156,7 @@ }, "get": { "tags": [ - "Products" + "Product" ], "operationId": "Product_Get", "description": "Gets the details of the product specified by its identifier.", @@ -166,7 +173,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -179,7 +186,7 @@ "200": { "description": "The response body contains the specified Product entity.", "schema": { - "$ref": "#/definitions/ProductContract" + "$ref": "./definitions.json#/definitions/ProductContract" }, "headers": { "ETag": { @@ -198,13 +205,13 @@ }, "put": { "tags": [ - "Products" + "Product" ], "operationId": "Product_CreateOrUpdate", "description": "Creates or Updates a product.", "x-ms-examples": { - "ApiManagementCreateProductBasic": { - "$ref": "./examples/ApiManagementCreateProductBasic.json" + "ApiManagementCreateProduct": { + "$ref": "./examples/ApiManagementCreateProduct.json" } }, "parameters": [ @@ -215,14 +222,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ProductContract" + "$ref": "./definitions.json#/definitions/ProductContract" }, "description": "Create or update parameters." }, @@ -240,13 +247,25 @@ "201": { "description": "Product was successfully created.", "schema": { - "$ref": "#/definitions/ProductContract" + "$ref": "./definitions.json#/definitions/ProductContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Product was successfully updated.", "schema": { - "$ref": "#/definitions/ProductContract" + "$ref": "./definitions.json#/definitions/ProductContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -259,13 +278,13 @@ }, "patch": { "tags": [ - "Products" + "Product" ], "operationId": "Product_Update", - "description": "Update product.", + "description": "Update existing product details.", "x-ms-examples": { - "ApiManagementUpdateProductBasic": { - "$ref": "./examples/ApiManagementUpdateProductBasic.json" + "ApiManagementUpdateProduct": { + "$ref": "./examples/ApiManagementUpdateProduct.json" } }, "parameters": [ @@ -276,14 +295,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ProductUpdateParameters" + "$ref": "./definitions.json#/definitions/ProductUpdateParameters" }, "description": "Update parameters." }, @@ -298,8 +317,17 @@ } ], "responses": { - "204": { - "description": "No Content in case of Update Successfull." + "200": { + "description": "Product was successfully updated.", + "schema": { + "$ref": "./definitions.json#/definitions/ProductContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -311,7 +339,7 @@ }, "delete": { "tags": [ - "Products" + "Product" ], "operationId": "Product_Delete", "description": "Delete product.", @@ -328,7 +356,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" }, { "name": "deleteSubscriptions", @@ -337,9 +368,6 @@ "type": "boolean", "description": "Delete existing subscriptions associated with the product or not." }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -349,10 +377,10 @@ ], "responses": { "200": { - "description": "The product was successfully deleted." + "description": "Product was successfully removed." }, "204": { - "description": "The product was successfully deleted." + "description": "Product was successfully removed by previous request or does not exist." }, "default": { "description": "Error response describing why the operation failed.", @@ -366,7 +394,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis": { "get": { "tags": [ - "ProductApis" + "ProductApi" ], "operationId": "ProductApi_ListByProduct", "description": "Lists a collection of the APIs associated with a product.", @@ -383,14 +411,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -409,7 +437,7 @@ "200": { "description": "The response body contains a collection of Api entities in the product.", "schema": { - "$ref": "./apimapis.json#/definitions/ApiCollection" + "$ref": "./definitions.json#/definitions/ApiCollection" } }, "default": { @@ -422,13 +450,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimapis.json#/definitions/ApiContract" + "x-ms-odata": "./definitions.json#/definitions/ApiContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/apis/{apiId}": { "head": { "tags": [ - "ProductApis" + "ProductApi" ], "operationId": "ProductApi_CheckEntityExists", "description": "Checks that API entity specified by identifier is associated with the Product entity.", @@ -445,10 +473,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimapis.json#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -461,9 +489,6 @@ "204": { "description": "Entity exists" }, - "404": { - "description": "API is not associated with the product." - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -474,7 +499,7 @@ }, "put": { "tags": [ - "ProductApis" + "ProductApi" ], "operationId": "ProductApi_CreateOrUpdate", "description": "Adds an API to the specified product.", @@ -491,10 +516,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimapis.json#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -507,13 +532,13 @@ "201": { "description": "The API was successfully added to the product.", "schema": { - "$ref": "./apimapis.json#/definitions/ApiContract" + "$ref": "./definitions.json#/definitions/ApiContract" } }, "200": { "description": "The specified API is already added to the product.", "schema": { - "$ref": "./apimapis.json#/definitions/ApiContract" + "$ref": "./definitions.json#/definitions/ApiContract" } }, "default": { @@ -526,7 +551,7 @@ }, "delete": { "tags": [ - "ProductApis" + "ProductApi" ], "operationId": "ProductApi_Delete", "description": "Deletes the specified API from the specified product.", @@ -543,10 +568,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimapis.json#/parameters/ApiIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiIdRevParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -557,10 +582,10 @@ ], "responses": { "200": { - "description": "The API was successfully removed from the product." + "description": "API was successfully removed from product" }, "204": { - "description": "The API was successfully removed from the product." + "description": "API successfully removed by previous request or does not exist in product" }, "default": { "description": "Error response describing why the operation failed.", @@ -574,7 +599,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups": { "get": { "tags": [ - "ProductGroups" + "ProductGroup" ], "operationId": "ProductGroup_ListByProduct", "description": "Lists the collection of developer groups associated with the specified product.", @@ -591,14 +616,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| type | eq, ne | N/A |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | |
| displayName | filter | eq, ne | |
| description | filter | eq, ne | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -617,7 +642,7 @@ "200": { "description": "Lists a collection of Group entities.", "schema": { - "$ref": "./apimgroups.json#/definitions/GroupCollection" + "$ref": "./definitions.json#/definitions/GroupCollection" } }, "default": { @@ -630,13 +655,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimgroups.json#/definitions/GroupContract" + "x-ms-odata": "./definitions.json#/definitions/GroupContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/groups/{groupId}": { "head": { "tags": [ - "ProductGroups" + "ProductGroup" ], "operationId": "ProductGroup_CheckEntityExists", "description": "Checks that Group entity specified by identifier is associated with the Product entity.", @@ -653,10 +678,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimgroups.json#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -669,9 +694,6 @@ "204": { "description": "The Group is associated with the Product." }, - "404": { - "description": "The Group entity is not associated with the Product." - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -682,7 +704,7 @@ }, "put": { "tags": [ - "ProductGroups" + "ProductGroup" ], "operationId": "ProductGroup_CreateOrUpdate", "description": "Adds the association between the specified developer group with the specified product.", @@ -699,10 +721,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimgroups.json#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -715,13 +737,13 @@ "201": { "description": "The group was successfully associated with the product.", "schema": { - "$ref": "./apimgroups.json#/definitions/GroupContract" + "$ref": "./definitions.json#/definitions/GroupContract" } }, "200": { "description": "The specified group is already associated with the product.", "schema": { - "$ref": "./apimgroups.json#/definitions/GroupContract" + "$ref": "./definitions.json#/definitions/GroupContract" } }, "default": { @@ -734,7 +756,7 @@ }, "delete": { "tags": [ - "ProductGroups" + "ProductGroup" ], "operationId": "ProductGroup_Delete", "description": "Deletes the association between the specified group and product.", @@ -751,10 +773,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimgroups.json#/parameters/GroupIdParameter" + "$ref": "./apimanagement.json#/parameters/GroupIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -782,7 +804,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/subscriptions": { "get": { "tags": [ - "ProductSubscriptions" + "ProductSubscription" ], "operationId": "ProductSubscriptions_List", "description": "Lists the collection of subscriptions to the specified product.", @@ -799,14 +821,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
| user | expand | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -825,7 +847,7 @@ "200": { "description": "Lists a collection of subscription entities.", "schema": { - "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection" + "$ref": "./definitions.json#/definitions/SubscriptionCollection" } }, "default": { @@ -838,7 +860,7 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract" + "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/policies": { @@ -849,8 +871,8 @@ "operationId": "ProductPolicy_ListByProduct", "description": "Get the policy configuration at the Product level.", "x-ms-examples": { - "ApiManagementListProductPolicy": { - "$ref": "./examples/ApiManagementListProductPolicy.json" + "ApiManagementListProductPolicies": { + "$ref": "./examples/ApiManagementListProductPolicies.json" } }, "parameters": [ @@ -861,26 +883,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Product Policy information.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyCollection" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "$ref": "./definitions.json#/definitions/PolicyCollection" } }, "default": { @@ -912,16 +928,16 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -961,23 +977,26 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/PolicyExportFormat" }, { - "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Product Policy information.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, "headers": { "ETag": { @@ -1013,7 +1032,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" @@ -1024,10 +1043,10 @@ { "name": "parameters", "in": "body", + "required": true, "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" }, - "required": true, "description": "The policy contents to apply." }, { @@ -1041,13 +1060,25 @@ "201": { "description": "Product policy configuration was successfully created.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Product policy configuration of the tenant was successfully updated.", "schema": { - "$ref": "./apimanagement.json#/definitions/PolicyContract" + "$ref": "./definitions.json#/definitions/PolicyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -1077,7 +1108,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/ProductIdParameter" + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" }, { "$ref": "./apimanagement.json#/parameters/PolicyIdParameter" @@ -1107,137 +1138,271 @@ } } } - } - }, - "definitions": { - "ProductCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ProductContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Products list representation." - }, - "ProductContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ProductContractProperties", - "description": "Product entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Product details." }, - "ProductContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Product name.", - "minLength": 1, - "maxLength": 300 - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProductEntityBaseParameters" - } - ], - "required": [ - "displayName" - ], - "description": "Product profile." - }, - "ProductEntityBaseParameters": { - "properties": { - "description": { - "type": "string", - "description": "Product description. May include HTML formatting tags.", - "minLength": 1, - "maxLength": 1000 - }, - "terms": { - "type": "string", - "description": "Product terms of use. Developers trying to subscribe to the product will be presented and required to accept these terms before they can complete the subscription process." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": { + "get": { + "tags": [ + "ProductTag" + ], + "operationId": "Tag_ListByProduct", + "description": "Lists all Tags associated with the Product.", + "x-ms-examples": { + "ApiManagementListProductTags": { + "$ref": "./examples/ApiManagementListProductTags.json" + } }, - "subscriptionRequired": { - "description": "Whether a product subscription is required for accessing APIs included in this product. If true, the product is referred to as \"protected\" and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as \"open\" and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it's value is assumed to be true.", - "type": "boolean" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" + }, + { + "$ref": "./apimanagement.json#/parameters/TopQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation returns a collection of tags associated with the Product entity.", + "schema": { + "$ref": "./definitions.json#/definitions/TagCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } }, - "approvalRequired": { - "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.", - "type": "boolean" + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "subscriptionsLimit": { - "type": "integer", - "format": "int32", - "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false." + "x-ms-odata": "./definitions.json#/definitions/TagContract" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": { + "head": { + "tags": [ + "ProductTag" + ], + "operationId": "Tag_GetEntityStateByProduct", + "description": "Gets the entity state version of the tag specified by its identifier.", + "x-ms-examples": { + "ApiManagementHeadProductTag": { + "$ref": "./examples/ApiManagementHeadProductTag.json" + } }, - "state": { - "type": "string", - "description": "whether product is published or not. Published products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished.", - "enum": [ - "notPublished", - "published" - ], - "x-ms-enum": { - "name": "ProductState", - "modelAsString": false + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Empty response body, ETag header entity state version.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, - "description": "Product Entity Base Parameters" - }, - "ProductUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ProductUpdateProperties", - "description": "Product entity Update contract properties." + "get": { + "tags": [ + "ProductTag" + ], + "operationId": "Tag_GetByProduct", + "description": "Get tag associated with the Product.", + "x-ms-examples": { + "ApiManagementGetProductTag": { + "$ref": "./examples/ApiManagementGetProductTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Gets the details of the tag specified by its identifier.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "description": "Product Update parameters." - }, - "ProductUpdateProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Product name.", - "maxLength": 300, - "minLength": 1 + "put": { + "tags": [ + "ProductTag" + ], + "operationId": "Tag_AssignToProduct", + "description": "Assign tag to the Product.", + "x-ms-examples": { + "ApiManagementCreateProductTag": { + "$ref": "./examples/ApiManagementCreateProductTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Tag was assigned to the Product.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, + "200": { + "description": "Tag is already assigned to the Product.", + "schema": { + "$ref": "./definitions.json#/definitions/TagContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } }, - "allOf": [ - { - "$ref": "#/definitions/ProductEntityBaseParameters" + "delete": { + "tags": [ + "ProductTag" + ], + "operationId": "Tag_DetachFromProduct", + "description": "Detach the tag from the Product.", + "x-ms-examples": { + "ApiManagementDeleteProductTag": { + "$ref": "./examples/ApiManagementDeleteProductTag.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ProductIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/TagIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully detached the tag from the Product." + }, + "204": { + "description": "Successfully detached the tag from the Product." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } } - ], - "description": "Parameters supplied to the Update Product operation." + } } }, - "parameters": { - "ProductIdParameter": { - "name": "productId", - "in": "path", - "required": true, - "type": "string", - "description": "Product identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproperties.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproperties.json index 7b5a088a..7f9e0931 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproperties.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimproperties.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Property entity associated with your Azure API Management deployment. API Management policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of statements that are executed sequentially on the request or response of an API. Policy statements can be constructed using literal text values, policy expressions, and properties. Each API Management service instance has a properties collection of key/value pairs that are global to the service instance. These properties can be used to manage constant string values across all API configuration and policies.", - "version": "2018-01-01" + "version": "2019-01-01" }, "host": "management.azure.com", "schemes": [ @@ -61,7 +61,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------|------------------------|-------------------------------------------------------|\n| tags | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| tags | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith, any, all |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -80,14 +80,20 @@ "200": { "description": "A Collection of the Property entities for the specified API Management service instance.", "schema": { - "$ref": "#/definitions/PropertyCollection" + "$ref": "./definitions.json#/definitions/PropertyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/PropertyContract" + "x-ms-odata": "./definitions.json#/definitions/PropertyContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/properties/{propId}": { @@ -110,7 +116,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/PropertyIdParameter" + "$ref": "./apimanagement.json#/parameters/PropertyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -123,10 +129,10 @@ "200": { "description": "Specified Property entity exists and current entity state version is present in the ETag header.", "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -137,7 +143,7 @@ } } }, - "get": { + "get": { "tags": [ "Property" ], @@ -156,7 +162,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/PropertyIdParameter" + "$ref": "./apimanagement.json#/parameters/PropertyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -169,7 +175,7 @@ "200": { "description": "The response body contains the specified Property entity.", "schema": { - "$ref": "#/definitions/PropertyContract" + "$ref": "./definitions.json#/definitions/PropertyContract" }, "headers": { "ETag": { @@ -205,14 +211,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/PropertyIdParameter" + "$ref": "./apimanagement.json#/parameters/PropertyIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PropertyContract" + "$ref": "./definitions.json#/definitions/PropertyContract" }, "description": "Create parameters." }, @@ -230,13 +236,25 @@ "201": { "description": "Property was successfully created.", "schema": { - "$ref": "#/definitions/PropertyContract" + "$ref": "./definitions.json#/definitions/PropertyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "Property was successfully updated.", "schema": { - "$ref": "#/definitions/PropertyContract" + "$ref": "./definitions.json#/definitions/PropertyContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "default": { @@ -266,14 +284,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/PropertyIdParameter" + "$ref": "./apimanagement.json#/parameters/PropertyIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/PropertyUpdateParameters" + "$ref": "./definitions.json#/definitions/PropertyUpdateParameters" }, "description": "Update parameters." }, @@ -304,7 +322,7 @@ "Property" ], "operationId": "Property_Delete", - "description": "Deletes specific property from the the API Management service instance.", + "description": "Deletes specific property from the API Management service instance.", "x-ms-examples": { "ApiManagementDeleteProperty": { "$ref": "./examples/ApiManagementDeleteProperty.json" @@ -318,7 +336,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/PropertyIdParameter" + "$ref": "./apimanagement.json#/parameters/PropertyIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -347,126 +365,6 @@ } } }, - "definitions": { - "PropertyCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PropertyContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Property list representation." - }, - "PropertyContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PropertyContractProperties", - "description": "Property entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Property details." - }, - "PropertyContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[A-Za-z0-9-._]+$" - }, - "value": { - "type": "string", - "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", - "minLength": 1, - "maxLength": 4096 - } - }, - "allOf": [ - { - "$ref": "#/definitions/PropertyEntityBaseParameters" - } - ], - "required": [ - "displayName", - "value" - ], - "description": "Property Contract properties." - }, - "PropertyUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PropertyUpdateParameterProperties", - "description": "Property entity Update contract properties." - } - }, - "description": "Property update Parameters." - }, - "PropertyUpdateParameterProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Unique name of Property. It may contain only letters, digits, period, dash, and underscore characters.", - "minLength": 1, - "maxLength": 256, - "pattern": "^[A-Za-z0-9-._]+$" - }, - "value": { - "type": "string", - "description": "Value of the property. Can contain policy expressions. It may not be empty or consist only of whitespace.", - "minLength": 1, - "maxLength": 4096 - } - }, - "allOf": [ - { - "$ref": "#/definitions/PropertyEntityBaseParameters" - } - ], - "description": "Property Contract properties." - }, - "PropertyEntityBaseParameters": { - "properties": { - "tags": { - "type": "array", - "items": { - "type": "string" - }, - "maxItems": 32, - "description": "Optional tags that when provided can be used to filter the property list." - }, - "secret": { - "description": "Determines whether the value is a secret and should be encrypted or not. Default value is false.", - "type": "boolean" - } - }, - "description": "Property Entity Base Parameters set." - } - }, - "parameters": { - "PropertyIdParameter": { - "name": "propId", - "in": "path", - "required": true, - "type": "string", - "description": "Identifier of the property.", - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimquotas.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimquotas.json index 1e41a13b..7288a201 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimquotas.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimquotas.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Quota entity associated with your Azure API Management deployment. To configure call rate limit and quota policies refer to [how to configure call rate limit and quota](https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-product-with-rules#a-namepolicies-ato-configure-call-rate-limit-and-quota-policies).", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -46,14 +46,11 @@ "description": "Document describing how to configure the quota policies." }, "x-ms-examples": { - "ApiManagementGetQuotaCounteryKeys": { - "$ref": "./examples/ApiManagementGetQuotaCounteryKeys.json" + "ApiManagementGetQuotaCounterKeys": { + "$ref": "./examples/ApiManagementGetQuotaCounterKeys.json" } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, @@ -61,17 +58,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/QuotaCounterKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Lists a collection of the quota counter values.", "schema": { - "$ref": "#/definitions/QuotaCounterCollection" + "$ref": "./definitions.json#/definitions/QuotaCounterCollection" } }, "default": { @@ -101,14 +101,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/QuotaCounterKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/QuotaCounterValueContractProperties" + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" }, "description": "The value of the quota counter to be applied to all quota counter periods." }, @@ -120,8 +120,11 @@ } ], "responses": { - "204": { - "description": "Quota counter period was successfully updated." + "200": { + "description": "Updated Quota Counter Values.", + "schema": { + "$ref": "./definitions.json#/definitions/QuotaCounterCollection" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -144,14 +147,11 @@ "description": "Document describing how to configure the quota policies." }, "x-ms-examples": { - "ApiManagementGetQuotaCounteryKeysByQuotaPeriod": { - "$ref": "./examples/ApiManagementGetQuotaCounteryKeysByQuotaPeriod.json" + "ApiManagementGetQuotaCounterKeysByQuotaPeriod": { + "$ref": "./examples/ApiManagementGetQuotaCounterKeysByQuotaPeriod.json" } }, "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - }, { "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, @@ -159,20 +159,23 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/QuotaCounterKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" }, { - "$ref": "#/parameters/QuotaPeriodKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The response body contains the Quota counter details for the specified period.", "schema": { - "$ref": "#/definitions/QuotaCounterContract" + "$ref": "./definitions.json#/definitions/QuotaCounterContract" } }, "default": { @@ -202,17 +205,17 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/QuotaCounterKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaCounterKeyParameter" }, { - "$ref": "#/parameters/QuotaPeriodKeyParameter" + "$ref": "./apimanagement.json#/parameters/QuotaPeriodKeyParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/QuotaCounterValueContractProperties" + "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract" }, "description": "The value of the Quota counter to be applied on the specified period." }, @@ -224,8 +227,11 @@ } ], "responses": { - "204": { - "description": "The quota counter value was successfully updated." + "200": { + "description": "The response body contains the Quota counter details for the specified period.", + "schema": { + "$ref": "./definitions.json#/definitions/QuotaCounterContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -237,105 +243,6 @@ } } }, - "definitions": { - "QuotaCounterCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/QuotaCounterContract" - }, - "description": "Quota counter values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Quota Counter list representation." - }, - "QuotaCounterContract": { - "properties": { - "counterKey": { - "type": "string", - "description": "The Key value of the Counter. Must not be empty.", - "minLength": 1 - }, - "periodKey": { - "type": "string", - "description": "Identifier of the Period for which the counter was collected. Must not be empty.", - "minLength": 1 - }, - "periodStartTime": { - "type": "string", - "format": "date-time", - "description": "The date of the start of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "periodEndTime": { - "type": "string", - "format": "date-time", - "description": "The date of the end of Counter Period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "value": { - "$ref": "#/definitions/QuotaCounterValueContractProperties", - "description": "Quota Value Properties" - } - }, - "required": [ - "counterKey", - "periodKey", - "periodStartTime", - "periodEndTime" - ], - "description": "Quota counter details." - }, - "QuotaCounterValueContract": { - "properties": { - "value": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/QuotaCounterValueContractProperties", - "description": "Quota counter Value Properties." - } - }, - "description": "Quota counter value details." - }, - "QuotaCounterValueContractProperties": { - "properties": { - "callsCount": { - "type": "integer", - "format": "int32", - "description": "Number of times Counter was called." - }, - "kbTransferred": { - "type": "number", - "format": "double", - "description": "Data Transferred in KiloBytes." - } - }, - "description": "Quota counter value details." - } - }, - "parameters": { - "QuotaCounterKeyParameter": { - "name": "quotaCounterKey", - "in": "path", - "required": true, - "type": "string", - "description": "Quota counter key identifier.This is the result of expression defined in counter-key attribute of the quota-by-key policy.For Example, if you specify counter-key=\"boo\" in the policy, then it’s accessible by \"boo\" counter key. But if it’s defined as counter-key=\"@(\"b\"+\"a\")\" then it will be accessible by \"ba\" key", - "x-ms-parameter-location": "method" - }, - "QuotaPeriodKeyParameter": { - "name": "quotaPeriodKey", - "in": "path", - "required": true, - "type": "string", - "description": "Quota period key identifier.", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimreports.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimreports.json index da029fd6..a76658ee 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimreports.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimreports.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs to get the analytics reports associated with your Azure API Management deployment.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -66,6 +66,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -77,14 +84,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byUser": { @@ -111,7 +124,7 @@ "in": "query", "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| displayName | select, orderBy | | |
| userId | select, filter | eq | |
| apiRegion | filter | eq | |
| productId | filter | eq | |
| subscriptionId | filter | eq | |
| apiId | filter | eq | |
| operationId | filter | eq | |
| callCountSuccess | select, orderBy | | |
| callCountBlocked | select, orderBy | | |
| callCountFailed | select, orderBy | | |
| callCountOther | select, orderBy | | |
| callCountTotal | select, orderBy | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select, orderBy | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -119,6 +132,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -130,14 +150,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byOperation": { @@ -164,7 +190,7 @@ "in": "query", "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| displayName | select, orderBy | | |
| apiRegion | filter | eq | |
| userId | filter | eq | |
| productId | filter | eq | |
| subscriptionId | filter | eq | |
| apiId | filter | eq | |
| operationId | select, filter | eq | |
| callCountSuccess | select, orderBy | | |
| callCountBlocked | select, orderBy | | |
| callCountFailed | select, orderBy | | |
| callCountOther | select, orderBy | | |
| callCountTotal | select, orderBy | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select, orderBy | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -172,6 +198,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -183,14 +216,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byProduct": { @@ -217,7 +256,7 @@ "in": "query", "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| displayName | select, orderBy | | |
| apiRegion | filter | eq | |
| userId | filter | eq | |
| productId | select, filter | eq | |
| subscriptionId | filter | eq | |
| callCountSuccess | select, orderBy | | |
| callCountBlocked | select, orderBy | | |
| callCountFailed | select, orderBy | | |
| callCountOther | select, orderBy | | |
| callCountTotal | select, orderBy | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select, orderBy | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -225,6 +264,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -236,14 +282,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byGeo": { @@ -252,7 +304,7 @@ "Reports" ], "operationId": "Reports_ListByGeo", - "description": "Lists report records by GeoGraphy.", + "description": "Lists report records by geography.", "x-ms-examples": { "ApiManagementGetReportsByGeo": { "$ref": "./examples/ApiManagementGetReportsByGeo.json" @@ -268,9 +320,9 @@ { "name": "$filter", "in": "query", - "required": false, + "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| country | select | | |
| region | select | | |
| zip | select | | |
| apiRegion | filter | eq | |
| userId | filter | eq | |
| productId | filter | eq | |
| subscriptionId | filter | eq | |
| apiId | filter | eq | |
| operationId | filter | eq | |
| callCountSuccess | select | | |
| callCountBlocked | select | | |
| callCountFailed | select | | |
| callCountOther | select | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -289,14 +341,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/bySubscription": { @@ -321,9 +379,9 @@ { "name": "$filter", "in": "query", - "required": false, + "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| displayName | select, orderBy | | |
| apiRegion | filter | eq | |
| userId | select, filter | eq | |
| productId | select, filter | eq | |
| subscriptionId | select, filter | eq | |
| callCountSuccess | select, orderBy | | |
| callCountBlocked | select, orderBy | | |
| callCountFailed | select, orderBy | | |
| callCountOther | select, orderBy | | |
| callCountTotal | select, orderBy | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select, orderBy | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -331,6 +389,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -342,14 +407,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byTime": { @@ -374,9 +445,9 @@ { "name": "$filter", "in": "query", - "required": false, + "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter, select | ge, le | |
| interval | select | | |
| apiRegion | filter | eq | |
| userId | filter | eq | |
| productId | filter | eq | |
| subscriptionId | filter | eq | |
| apiId | filter | eq | |
| operationId | filter | eq | |
| callCountSuccess | select | | |
| callCountBlocked | select | | |
| callCountFailed | select | | |
| callCountOther | select | | |
| bandwidth | select, orderBy | | |
| cacheHitsCount | select | | |
| cacheMissCount | select | | |
| apiTimeAvg | select | | |
| apiTimeMin | select | | |
| apiTimeMax | select | | |
| serviceTimeAvg | select | | |
| serviceTimeMin | select | | |
| serviceTimeMax | select | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -384,13 +455,20 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "OData order by query option." + }, { "name": "interval", "in": "query", "required": true, "type": "string", "format": "duration", - "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, secconds))" + "description": "By time interval. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))." }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -403,14 +481,20 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/ReportCollection" + "$ref": "./definitions.json#/definitions/ReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/ReportRecordContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/reports/byRequest": { @@ -437,7 +521,7 @@ "in": "query", "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| timestamp | filter | ge, le | |
| apiId | filter | eq | |
| operationId | filter | eq | |
| productId | filter | eq | |
| userId | filter | eq | |
| apiRegion | filter | eq | |
| subscriptionId | filter | eq | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -456,267 +540,23 @@ "200": { "description": "Lists a collection of Report record.", "schema": { - "$ref": "#/definitions/RequestReportCollection" + "$ref": "./definitions.json#/definitions/RequestReportCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": null }, - "x-ms-odata": "#/definitions/RequestReportRecordContract" + "x-ms-odata": "./definitions.json#/definitions/RequestReportRecordContract" } } }, - "definitions": { - "ReportCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ReportRecordContract" - }, - "description": "Page values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Report records list representation." - }, - "ReportRecordContract": { - "properties": { - "name": { - "type": "string", - "description": "Name depending on report endpoint specifies product, API, operation or developer name." - }, - "timestamp": { - "type": "string", - "format": "date-time", - "description": "Start of aggregation period. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "interval": { - "type": "string", - "description": "Length of agregation period. Interval must be multiple of 15 minutes and may not be zero. The value should be in ISO 8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations)." - }, - "country": { - "type": "string", - "description": "Country to which this record data is related." - }, - "region": { - "type": "string", - "description": "Country region to which this record data is related." - }, - "zip": { - "type": "string", - "description": "Zip code to which this record data is related." - }, - "userId": { - "readOnly": true, - "type": "string", - "description": "User identifier path. /users/{userId}" - }, - "productId": { - "readOnly": true, - "type": "string", - "description": "Product identifier path. /products/{productId}" - }, - "apiId": { - "type": "string", - "description": "API identifier path. /apis/{apiId}" - }, - "operationId": { - "type": "string", - "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}" - }, - "apiRegion": { - "type": "string", - "description": "API region identifier." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription identifier path. /subscriptions/{subscriptionId}" - }, - "callCountSuccess": { - "type": "integer", - "format": "int32", - "description": "Number of succesful calls. This includes calls returning HttpStatusCode <= 301 and HttpStatusCode.NotModified and HttpStatusCode.TemporaryRedirect" - }, - "callCountBlocked": { - "type": "integer", - "format": "int32", - "description": "Number of calls blocked due to invalid credentials. This includes calls returning HttpStatusCode.Unauthorize and HttpStatusCode.Forbidden and HttpStatusCode.TooManyRequests" - }, - "callCountFailed": { - "type": "integer", - "format": "int32", - "description": "Number of calls failed due to proxy or backend errors. This includes calls returning HttpStatusCode.BadRequest(400) and any Code between HttpStatusCode.InternalServerError (500) and 600" - }, - "callCountOther": { - "type": "integer", - "format": "int32", - "description": "Number of other calls." - }, - "callCountTotal": { - "type": "integer", - "format": "int32", - "description": "Total number of calls." - }, - "bandwidth": { - "type": "integer", - "format": "int64", - "description": "Bandwidth consumed." - }, - "cacheHitCount": { - "type": "integer", - "format": "int32", - "description": "Number of times when content was served from cache policy." - }, - "cacheMissCount": { - "type": "integer", - "format": "int32", - "description": "Number of times content was fetched from backend." - }, - "apiTimeAvg": { - "type": "number", - "format": "double", - "description": "Average time it took to process request." - }, - "apiTimeMin": { - "type": "number", - "format": "double", - "description": "Minimum time it took to process request." - }, - "apiTimeMax": { - "type": "number", - "format": "double", - "description": "Maximum time it took to process request." - }, - "serviceTimeAvg": { - "type": "number", - "format": "double", - "description": "Average time it took to process request on backend." - }, - "serviceTimeMin": { - "type": "number", - "format": "double", - "description": "Minimum time it took to process request on backend." - }, - "serviceTimeMax": { - "type": "number", - "format": "double", - "description": "Maximum time it took to process request on backend." - } - }, - "description": "Report data." - }, - "RequestReportCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RequestReportRecordContract" - }, - "description": "Page values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - } - }, - "description": "Paged Report records list representation." - }, - "RequestReportRecordContract": { - "properties": { - "apiId": { - "type": "string", - "description": "API identifier path. /apis/{apiId}" - }, - "operationId": { - "type": "string", - "description": "Operation identifier path. /apis/{apiId}/operations/{operationId}" - }, - "productId": { - "readOnly": true, - "type": "string", - "description": "Product identifier path. /products/{productId}" - }, - "userId": { - "readOnly": true, - "type": "string", - "description": "User identifier path. /users/{userId}" - }, - "method": { - "type": "string", - "description": "The HTTP method associated with this request.." - }, - "url": { - "type": "string", - "description": "The full URL associated with this request." - }, - "ipAddress": { - "type": "string", - "description": "The client IP address associated with this request." - }, - "backendResponseCode": { - "type": "string", - "description": "The HTTP status code received by the gateway as a result of forwarding this request to the backend." - }, - "responseCode": { - "type": "integer", - "format": "int32", - "description": "The HTTP status code returned by the gateway." - }, - "responseSize": { - "type": "integer", - "format": "int32", - "description": "The size of the response returned by the gateway." - }, - "timestamp": { - "type": "string", - "format": "date-time", - "description": "The date and time when this request was received by the gateway in ISO 8601 format." - }, - "cache": { - "type": "string", - "description": "Specifies if response cache was involved in generating the response. If the value is none, the cache was not used. If the value is hit, cached response was returned. If the value is miss, the cache was used but lookup resulted in a miss and request was fullfilled by the backend." - }, - "apiTime": { - "type": "number", - "format": "double", - "description": "The total time it took to process this request." - }, - "serviceTime": { - "type": "number", - "format": "double", - "description": "he time it took to forward this request to the backend and get the response back." - }, - "apiRegion": { - "type": "string", - "description": "Azure region where the gateway that processed this request is located." - }, - "subscriptionId": { - "type": "string", - "description": "Subscription identifier path. /subscriptions/{subscriptionId}" - }, - "requestId": { - "type": "string", - "description": "Request Identifier." - }, - "requestSize": { - "type": "integer", - "format": "int32", - "description": "The size of this request.." - } - }, - "description": "Request Report data." - } - }, + "definitions": {}, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimsubscriptions.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimsubscriptions.json index 8f60defe..97f4c60b 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimsubscriptions.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimsubscriptions.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Subscription entity associated with your Azure API Management deployment. The Subscription entity represents the association between a user and a product in API Management. Products contain one or more APIs, and once a product is published, developers can subscribe to the product and begin to use the product’s APIs.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions": { "get": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_List", "description": "Lists all subscriptions of the API Management service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
| user | expand | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -77,7 +77,7 @@ "200": { "description": "A collection of the Subscription entities for the specified API Management service instance.", "schema": { - "$ref": "#/definitions/SubscriptionCollection" + "$ref": "./definitions.json#/definitions/SubscriptionCollection" } }, "default": { @@ -90,13 +90,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/SubscriptionContract" + "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}": { "head": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_GetEntityTag", "description": "Gets the entity state (Etag) version of the apimanagement subscription specified by its identifier.", @@ -113,7 +113,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -142,7 +142,7 @@ }, "get": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_Get", "description": "Gets the specified Subscription entity.", @@ -159,7 +159,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -172,7 +172,7 @@ "200": { "description": "The response body contains the specified Subscription entity.", "schema": { - "$ref": "#/definitions/SubscriptionContract" + "$ref": "./definitions.json#/definitions/SubscriptionContract" }, "headers": { "ETag": { @@ -191,7 +191,7 @@ }, "put": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_CreateOrUpdate", "description": "Creates or updates the subscription of specified user to the specified product.", @@ -208,19 +208,19 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/SubscriptionCreateParameters" + "$ref": "./definitions.json#/definitions/SubscriptionCreateParameters" }, "description": "Create parameters." }, { - "$ref": "#/parameters/NotifySubscriptionStateChangeParameter" + "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" @@ -230,19 +230,34 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { "201": { "description": "The user was successfully subscribed to the product.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/SubscriptionContract" + "$ref": "./definitions.json#/definitions/SubscriptionContract" } }, "200": { "description": "The user already subscribed to the product.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/SubscriptionContract" + "$ref": "./definitions.json#/definitions/SubscriptionContract" } }, "default": { @@ -255,10 +270,10 @@ }, "patch": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_Update", - "description": "Updates the details of a subscription specificied by its identifier.", + "description": "Updates the details of a subscription specified by its identifier.", "x-ms-examples": { "ApiManagementUpdateSubscription": { "$ref": "./examples/ApiManagementUpdateSubscription.json" @@ -272,19 +287,19 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/SubscriptionUpdateParameters" + "$ref": "./definitions.json#/definitions/SubscriptionUpdateParameters" }, "description": "Update parameters." }, { - "$ref": "#/parameters/NotifySubscriptionStateChangeParameter" + "$ref": "./apimanagement.json#/parameters/NotifySubscriptionStateChangeParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -294,11 +309,23 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { - "204": { - "description": "The subscription details were successfully updated." + "200": { + "description": "The subscription details were successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionContract" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -310,7 +337,7 @@ }, "delete": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_Delete", "description": "Deletes the specified subscription.", @@ -327,7 +354,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -358,13 +385,13 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regeneratePrimaryKey": { "post": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_RegeneratePrimaryKey", "description": "Regenerates primary key of existing subscription of the API Management service instance.", "x-ms-examples": { - "ApiManagementSubscriptionRegenerateKey": { - "$ref": "./examples/ApiManagementSubscriptionRegenerateKey.json" + "ApiManagementSubscriptionRegeneratePrimaryKey": { + "$ref": "./examples/ApiManagementSubscriptionRegeneratePrimaryKey.json" } }, "parameters": [ @@ -375,7 +402,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -400,13 +427,13 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/regenerateSecondaryKey": { "post": { "tags": [ - "Subscriptions" + "Subscription" ], "operationId": "Subscription_RegenerateSecondaryKey", "description": "Regenerates secondary key of existing subscription of the API Management service instance.", "x-ms-examples": { - "ApiManagementSubscriptionRegenerateKey": { - "$ref": "./examples/ApiManagementSubscriptionRegenerateKey.json" + "ApiManagementSubscriptionRegenerateSecondaryKey": { + "$ref": "./examples/ApiManagementSubscriptionRegenerateSecondaryKey.json" } }, "parameters": [ @@ -417,7 +444,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/SubscriptionEntityIdParameter" + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -438,269 +465,59 @@ } } } - } - }, - "definitions": { - "SubscriptionCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SubscriptionContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Subscriptions list representation." - }, - "SubscriptionContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SubscriptionContractProperties", - "description": "Subscription contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Subscription details." }, - "SubscriptionContractProperties": { - "properties": { - "userId": { - "type": "string", - "description": "The user resource identifier of the subscription owner. The value is a valid relative URL in the format of /users/{uid} where {uid} is a user identifier." - }, - "productId": { - "type": "string", - "description": "The product resource identifier of the subscribed product. The value is a valid relative URL in the format of /products/{productId} where {productId} is a product identifier." - }, - "displayName": { - "type": "string", - "description": "The name of the subscription, or null if the subscription has no name.", - "minLength": 0, - "maxLength": 100 - }, - "state": { - "type": "string", - "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", - "enum": [ - "suspended", - "active", - "expired", - "submitted", - "rejected", - "cancelled" - ], - "x-ms-enum": { - "name": "SubscriptionState", - "modelAsString": false + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/subscriptions/{sid}/listSecrets": { + "post": { + "tags": [ + "Subscription" + ], + "operationId": "Subscription_ListSecrets", + "description": "Gets the specified Subscription keys.", + "x-ms-examples": { + "ApiManagementSubscriptionListSecrets": { + "$ref": "./examples/ApiManagementSubscriptionListSecrets.json" } }, - "createdDate": { - "type": "string", - "format": "date-time", - "description": "Subscription creation date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n", - "readOnly": true - }, - "startDate": { - "type": "string", - "format": "date-time", - "description": "Subscription activation date. The setting is for audit purposes only and the subscription is not automatically activated. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "expirationDate": { - "type": "string", - "format": "date-time", - "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "endDate": { - "type": "string", - "format": "date-time", - "description": "Date when subscription was cancelled or expired. The setting is for audit purposes only and the subscription is not automatically cancelled. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "notificationDate": { - "type": "string", - "format": "date-time", - "description": "Upcoming subscription expiration notification date. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "primaryKey": { - "type": "string", - "description": "Subscription primary key.", - "minLength": 1, - "maxLength": 256 - }, - "secondaryKey": { - "type": "string", - "description": "Subscription secondary key.", - "minLength": 1, - "maxLength": 256 - }, - "stateComment": { - "type": "string", - "description": "Optional subscription comment added by an administrator." - } - }, - "required": [ - "userId", - "productId", - "state", - "primaryKey", - "secondaryKey" - ], - "description": "Subscription details." - }, - "SubscriptionCreateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SubscriptionCreateParameterProperties", - "description": "Subscription contract properties." - } - }, - "description": "Subscription create details." - }, - "SubscriptionCreateParameterProperties": { - "properties": { - "userId": { - "type": "string", - "description": "User (user id path) for whom subscription is being created in form /users/{uid}" - }, - "productId": { - "type": "string", - "description": "Product (product id path) for which subscription is being created in form /products/{productid}" - }, - "displayName": { - "type": "string", - "description": "Subscription name.", - "minLength": 1, - "maxLength": 100 - }, - "primaryKey": { - "type": "string", - "description": "Primary subscription key. If not specified during request key will be generated automatically.", - "minLength": 1, - "maxLength": 256 - }, - "secondaryKey": { - "type": "string", - "description": "Secondary subscription key. If not specified during request key will be generated automatically.", - "minLength": 1, - "maxLength": 256 - }, - "state": { - "type": "string", - "description": "Initial subscription state. If no value is specified, subscription is created with Submitted state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", - "enum": [ - "suspended", - "active", - "expired", - "submitted", - "rejected", - "cancelled" - ], - "x-ms-enum": { - "name": "SubscriptionState", - "modelAsString": false + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } - } - }, - "required": [ - "userId", - "productId", - "displayName" - ], - "description": "Parameters supplied to the Create subscription operation." - }, - "SubscriptionUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SubscriptionUpdateParameterProperties", - "description": "Subscription Update contract properties." - } - }, - "description": "Subscription update details." - }, - "SubscriptionUpdateParameterProperties": { - "properties": { - "userId": { - "type": "string", - "description": "User identifier path: /users/{uid}" - }, - "productId": { - "type": "string", - "description": "Product identifier path: /products/{productId}" - }, - "expirationDate": { - "type": "string", - "format": "date-time", - "description": "Subscription expiration date. The setting is for audit purposes only and the subscription is not automatically expired. The subscription lifecycle can be managed by using the `state` property. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard." - }, - "displayName": { - "type": "string", - "description": "Subscription name." - }, - "primaryKey": { - "type": "string", - "description": "Primary subscription key.", - "minLength": 1, - "maxLength": 256 - }, - "secondaryKey": { - "type": "string", - "description": "Secondary subscription key.", - "minLength": 1, - "maxLength": 256 - }, - "state": { - "type": "string", - "description": "Subscription state. Possible states are * active – the subscription is active, * suspended – the subscription is blocked, and the subscriber cannot call any APIs of the product, * submitted – the subscription request has been made by the developer, but has not yet been approved or rejected, * rejected – the subscription request has been denied by an administrator, * cancelled – the subscription has been cancelled by the developer or administrator, * expired – the subscription reached its expiration date and was deactivated.", - "enum": [ - "suspended", - "active", - "expired", - "submitted", - "rejected", - "cancelled" - ], - "x-ms-enum": { - "name": "SubscriptionState", - "modelAsString": false + ], + "responses": { + "200": { + "description": "The response body contains subscription keys.", + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionKeysContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - }, - "stateComment": { - "type": "string", - "description": "Comments describing subscription state change by the administrator." } - }, - "description": "Parameters supplied to the Update subscription operation." + } } }, - "parameters": { - "SubscriptionEntityIdParameter": { - "name": "sid", - "in": "path", - "required": true, - "type": "string", - "description": "Subscription entity Identifier. The entity represents the association between a user and a product in API Management.", - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - }, - "NotifySubscriptionStateChangeParameter": { - "name": "notify", - "in": "query", - "required": false, - "type": "boolean", - "description": "Notify change in Subscription State. \n - If false, do not send any email notification for change of state of subscription \n - If true, send email notification of change of state of subscription ", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtagresources.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtagresources.json index b659290e..f0f0db56 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtagresources.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtagresources.json @@ -2,14 +2,16 @@ "swagger": "2.0", "info": { "title": "ApiManagementClient", - "description": "Use these REST APIs for queuering APIs. Operations and Products by tags in your Azure API Management deployment.", - "version": "2018-01-01" + "description": "Use these REST APIs for querying APIs. Operations and Products by tags in your Azure API Management deployment.", + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [], + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -35,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tagResources": { "get": { "tags": [ - "TagResources" + "TagResource" ], "operationId": "TagResource_ListByService", "description": "Lists a collection of resources associated with tags.", @@ -56,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| aid | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiRevision | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| path | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| serviceUrl | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| terms | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| isCurrent | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| aid | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| apiName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| apiRevision | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| path | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| serviceUrl | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| method | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| urlTemplate | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| terms | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
| isCurrent | filter | eq | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -75,196 +77,23 @@ "200": { "description": "Lists a collection of TagResource entities.", "schema": { - "$ref": "#/definitions/TagResourceCollection" + "$ref": "./definitions.json#/definitions/TagResourceCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/TagResourceContract" + "x-ms-odata": "./definitions.json#/definitions/TagResourceContract" } } }, - "definitions": { - "TagResourceCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/TagResourceContract" - }, - "description": "Page values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Tag list representation." - }, - "TagResourceContract": { - "properties": { - "tag": { - "$ref": "#/definitions/TagTagResourceContractProperties", - "description": "Tag associated with the resource." - }, - "api": { - "$ref": "#/definitions/ApiTagResourceContractProperties", - "description": "Api associated with the tag." - }, - "operation": { - "$ref": "#/definitions/OperationTagResourceContractProperties", - "description": "Operation associated with the tag." - }, - "product": { - "$ref": "#/definitions/ProductTagResourceContractProperties", - "description": "Product associated with the tag." - } - }, - "required": [ - "tag" - ], - "description": "TagResource contract properties." - }, - "TagTagResourceContractProperties": { - "properties": { - "id": { - "type": "string", - "description": "Tag identifier" - }, - "name": { - "type": "string", - "description": "Tag Name", - "minLength": 1, - "maxLength": 160 - } - }, - "description": "Contract defining the Tag property in the Tag Resource Contract" - }, - "ApiTagResourceContractProperties": { - "properties": { - "id": { - "type": "string", - "description": "API identifier in the form /apis/{apiId}." - }, - "name": { - "type": "string", - "description": "API name.", - "minLength": 1, - "maxLength": 300 - }, - "serviceUrl": { - "type": "string", - "description": "Absolute URL of the backend service implementing this API.", - "minLength": 1, - "maxLength": 2000 - }, - "path": { - "type": "string", - "description": "Relative URL uniquely identifying this API and all of its resource paths within the API Management service instance. It is appended to the API endpoint base URL specified during the service instance creation to form a public URL for this API.", - "minLength": 0, - "maxLength": 400 - }, - "protocols": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "http", - "https" - ], - "x-ms-enum": { - "name": "Protocol", - "modelAsString": false - } - }, - "description": "Describes on which protocols the operations in this API can be invoked." - } - }, - "allOf": [ - { - "$ref": "./apimapis.json#/definitions/ApiEntityBaseContract" - } - ], - "description": "API contract properties for the Tag Resources." - }, - "ProductTagResourceContractProperties": { - "properties": { - "id": { - "type": "string", - "description": "Identifier of the product in the form of /products/{productId}" - }, - "name": { - "type": "string", - "description": "Product name.", - "minLength": 1, - "maxLength": 300 - } - }, - "allOf": [ - { - "$ref": "./apimproducts.json#/definitions/ProductEntityBaseParameters" - } - ], - "required": [ - "name" - ], - "description": "Product profile." - }, - "OperationTagResourceContractProperties": { - "properties": { - "id": { - "type": "string", - "description": "Identifier of the operation in form /operations/{operationId}." - }, - "name": { - "type": "string", - "description": "Operation name.", - "readOnly": true - }, - "apiName": { - "type": "string", - "description": "Api Name.", - "readOnly": true - }, - "apiRevision": { - "type": "string", - "description": "Api Revision.", - "readOnly": true - }, - "apiVersion": { - "type": "string", - "description": "Api Version.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Operation Description.", - "readOnly": true - }, - "method": { - "type": "string", - "description": "A Valid HTTP Operation Method. Typical Http Methods like GET, PUT, POST but not limited by only them.", - "externalDocs": { - "description": "As defined by RFC.", - "url": "http://www.rfc-editor.org/rfc/rfc7230.txt" - }, - "readOnly": true - }, - "urlTemplate": { - "type": "string", - "description": "Relative URL template identifying the target resource for this operation. May include parameters. Example: /customers/{cid}/orders/{oid}/?date={date}", - "readOnly": true - } - }, - "description": "Operation Entity contract Properties." - } - }, + "definitions": {}, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtags.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtags.json index 0315b8ef..3763ee62 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtags.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtags.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on Tag entity in your Azure API Management deployment. Tags can be assigned to APIs, Operations and Products.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags": { "get": { "tags": [ - "Tags" + "Tag" ], "operationId": "Tag_ListByService", "description": "Lists a collection of tags defined within a service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -66,6 +66,13 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "scope", + "in": "query", + "required": false, + "type": "string", + "description": "Scope like 'apis', 'products' or 'apis/{apiId}" + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -77,25 +84,31 @@ "200": { "description": "Lists a collection of Tag entities.", "schema": { - "$ref": "#/definitions/TagCollection" + "$ref": "./definitions.json#/definitions/TagCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/TagContract" + "x-ms-odata": "./definitions.json#/definitions/TagContract" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tags/{tagId}": { "head": { "tags": [ - "Tags" + "Tag" ], "operationId": "Tag_GetEntityState", "description": "Gets the entity state version of the tag specified by its identifier.", "x-ms-examples": { - "ApiManagementGetTag": { + "ApiManagementHeadTag": { "$ref": "./examples/ApiManagementHeadTag.json" } }, @@ -107,7 +120,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/TagIdParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -136,7 +149,7 @@ }, "get": { "tags": [ - "Tags" + "Tag" ], "operationId": "Tag_Get", "description": "Gets the details of the tag specified by its identifier.", @@ -153,7 +166,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/TagIdParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -166,7 +179,7 @@ "200": { "description": "The response body contains the specified Tag entity.", "schema": { - "$ref": "#/definitions/TagContract" + "$ref": "./definitions.json#/definitions/TagContract" }, "headers": { "ETag": { @@ -185,7 +198,7 @@ }, "put": { "tags": [ - "Tags" + "Tag" ], "operationId": "Tag_CreateOrUpdate", "description": "Creates a tag.", @@ -202,17 +215,20 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/TagIdParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/TagCreateUpdateParameters" + "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters" }, "description": "Create parameters." }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -222,15 +238,27 @@ ], "responses": { "201": { - "description": "Tag was created succesfully.", + "description": "Tag was created successfully.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/TagContract" + "$ref": "./definitions.json#/definitions/TagContract" } }, "200": { "description": "Tag already exists.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/TagContract" + "$ref": "./definitions.json#/definitions/TagContract" } }, "default": { @@ -243,7 +271,7 @@ }, "patch": { "tags": [ - "Tags" + "Tag" ], "operationId": "Tag_Update", "description": "Updates the details of the tag specified by its identifier.", @@ -260,14 +288,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/TagIdParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/TagCreateUpdateParameters" + "$ref": "./definitions.json#/definitions/TagCreateUpdateParameters" }, "description": "Update parameters." }, @@ -281,274 +309,17 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], - "responses": { - "204": { - "description": "The tag details were successfully updated." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "Tags" - ], - "operationId": "Tag_Delete", - "description": "Deletes specific tag of the API Management service instance.", - "x-ms-examples": { - "ApiManagementDeleteTag": { - "$ref": "./examples/ApiManagementDeleteTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The tag was successfully deleted." - }, - "204": { - "description": "The tag was successfully deleted." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags": { - "get": { - "tags": [ - "ApiTags" - ], - "operationId": "Tag_ListByApi", - "description": "Lists all Tags associated with the API.", - "x-ms-examples": { - "ApiManagementGetTagsForApi": { - "$ref": "./examples/ApiManagementGetTagsForApi.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation returns a collection of tags associated with the Api entity.", - "schema": { - "$ref": "#/definitions/TagCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/TagContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tags/{tagId}": { - "head": { - "tags": [ - "ApiTags" - ], - "operationId": "Tag_GetEntityStateByApi", - "description": "Gets the entity state version of the tag specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadApiTag": { - "$ref": "./examples/ApiManagementHeadApiTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], "responses": { "200": { - "description": "Empty response body, ETag header entity state version.", + "description": "The tag details were successfully updated.", "headers": { "ETag": { "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", "type": "string" } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "ApiTags" - ], - "operationId": "Tag_GetByApi", - "description": "Get tag associated with the API.", - "x-ms-examples": { - "ApiManagementGetApiTag": { - "$ref": "./examples/ApiManagementGetApiTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Gets the details of the tag specified by its identifier.", - "schema": { - "$ref": "#/definitions/TagContract" }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ApiTags" - ], - "operationId": "Tag_AssignToApi", - "description": "Assign tag to the Api.", - "x-ms-examples": { - "ApiManagementCreateApiTag": { - "$ref": "./examples/ApiManagementCreateApiTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Tag was assigned to the Api.", - "schema": { - "$ref": "#/definitions/TagContract" - } - }, - "200": { - "description": "Tag is already assigned to the Api.", "schema": { - "$ref": "#/definitions/TagContract" + "$ref": "./definitions.json#/definitions/TagContract" } }, "default": { @@ -561,13 +332,13 @@ }, "delete": { "tags": [ - "ApiTags" + "Tag" ], - "operationId": "Tag_DetachFromApi", - "description": "Detach the tag from the Api.", + "operationId": "Tag_Delete", + "description": "Deletes specific tag of the API Management service instance.", "x-ms-examples": { - "ApiManagementDeleteApiTag": { - "$ref": "./examples/ApiManagementDeleteApiTag.json" + "ApiManagementDeleteTag": { + "$ref": "./examples/ApiManagementDeleteTag.json" } }, "parameters": [ @@ -578,10 +349,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" + "$ref": "./apimanagement.json#/parameters/TagIdParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -595,10 +363,10 @@ ], "responses": { "200": { - "description": "Successfully detached the tag from the Api." + "description": "Tag successfully removed" }, "204": { - "description": "Successfully detached the tag from the Api." + "description": "Tag successfully removed by previous request or does not exist" }, "default": { "description": "Error response describing why the operation failed.", @@ -608,1038 +376,8 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions": { - "get": { - "tags": [ - "ApiTagDescriptions" - ], - "operationId": "TagDescription_ListByApi", - "description": "Lists all Tags descriptions in scope of API. Model similar to swagger - tagDescription is defined on API level but tag may be assigned to the Operations", - "x-ms-examples": { - "ApiManagementGetTagDescriptionsForApi": { - "$ref": "./examples/ApiManagementGetTagDescriptionsForApi.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation returns a collection of tagDescriptions associated with the Api entity.", - "schema": { - "$ref": "#/definitions/TagDescriptionCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/TagDescriptionContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/tagDescriptions/{tagId}": { - "head": { - "tags": [ - "ApiTagDescriptions" - ], - "operationId": "TagDescription_GetEntityState", - "description": "Gets the entity state version of the tag specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadApiTagDescription": { - "$ref": "./examples/ApiManagementHeadApiTagDescription.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Empty response body, ETag header entity state version.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "ApiTagDescriptions" - ], - "operationId": "TagDescription_Get", - "description": "Get tag associated with the API.", - "x-ms-examples": { - "ApiManagementGetApiTagDescription": { - "$ref": "./examples/ApiManagementGetApiTagDescription.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Gets the description of the tag specified by its identifier in scope if the Api.", - "schema": { - "$ref": "#/definitions/TagDescriptionContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ApiTagDescriptions" - ], - "operationId": "TagDescription_CreateOrUpdate", - "description": "Create/Update tag fescription in scope of the Api.", - "x-ms-examples": { - "ApiManagementCreateApiTagDescription": { - "$ref": "./examples/ApiManagementCreateApiTagDescription.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/TagDescriptionCreateParameters" - }, - "description": "Create parameters." - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Tag Description was created for the Api.", - "schema": { - "$ref": "#/definitions/TagDescriptionContract" - } - }, - "200": { - "description": "Tag Description was updated for the Api.", - "schema": { - "$ref": "#/definitions/TagDescriptionContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "ApiTagDescriptions" - ], - "operationId": "TagDescription_Delete", - "description": "Delete tag description for the Api.", - "x-ms-examples": { - "ApiManagementDeleteApiTagDescription": { - "$ref": "./examples/ApiManagementDeleteApiTagDescription.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted tag description for the Api." - }, - "204": { - "description": "Successfully deleted tag description for the Api." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags": { - "get": { - "tags": [ - "OperationTags" - ], - "operationId": "Tag_ListByOperation", - "description": "Lists all Tags associated with the Operation.", - "x-ms-examples": { - "ApiManagementGetTagsForOperation": { - "$ref": "./examples/ApiManagementGetTagsForOperation.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimapis.json#/parameters/OperationIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation returns a collection of tags associated with the Operation entity.", - "schema": { - "$ref": "#/definitions/TagCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/TagContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operations/{operationId}/tags/{tagId}": { - "head": { - "tags": [ - "OperationTags" - ], - "operationId": "Tag_GetEntityStateByOperation", - "description": "Gets the entity state version of the tag specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadOperationTag": { - "$ref": "./examples/ApiManagementHeadOperationTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimapis.json#/parameters/OperationIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Empty response body, ETag header entity state version.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "OperationTags" - ], - "operationId": "Tag_GetByOperation", - "description": "Get tag associated with the Operation.", - "x-ms-examples": { - "ApiManagementGetOperationTag": { - "$ref": "./examples/ApiManagementGetOperationTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimapis.json#/parameters/OperationIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Gets the details of the tag specified by its identifier.", - "schema": { - "$ref": "#/definitions/TagContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "OperationTags" - ], - "operationId": "Tag_AssignToOperation", - "description": "Assign tag to the Operation.", - "x-ms-examples": { - "ApiManagementCreateOperationTag": { - "$ref": "./examples/ApiManagementCreateOperationTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimapis.json#/parameters/OperationIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Tag was assigned to the Operation.", - "schema": { - "$ref": "#/definitions/TagContract" - } - }, - "200": { - "description": "Tag is already assigned to the Operation.", - "schema": { - "$ref": "#/definitions/TagContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "OperationTags" - ], - "operationId": "Tag_DetachFromOperation", - "description": "Detach the tag from the Operation.", - "x-ms-examples": { - "ApiManagementDeleteOperationTag": { - "$ref": "./examples/ApiManagementDeleteOperationTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "$ref": "./apimapis.json#/parameters/OperationIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully detached the tag from the Operation." - }, - "204": { - "description": "Successfully detached the tag from the Operation." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/apis/{apiId}/operationsByTags": { - "get": { - "tags": [ - "OperationsByTags" - ], - "operationId": "Operation_ListByTags", - "description": "Lists a collection of operations associated with tags.", - "x-ms-examples": { - "ApiManagementListOperationsByTags": { - "$ref": "./examples/ApiManagementListOperationsByTags.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimapis.json#/parameters/ApiIdRevParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| apiName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| method | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| urlTemplate | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Lists a collection of TagResource entities.", - "schema": { - "$ref": "./apimtagresources.json#/definitions/TagResourceCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimtagresources.json#/definitions/TagResourceContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags": { - "get": { - "tags": [ - "ProductTags" - ], - "operationId": "Tag_ListByProduct", - "description": "Lists all Tags associated with the Product.", - "x-ms-examples": { - "ApiManagementGetTagsForProduct": { - "$ref": "./examples/ApiManagementGetTagsForProduct.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimproducts.json#/parameters/ProductIdParameter" - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" - }, - { - "$ref": "./apimanagement.json#/parameters/TopQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The operation returns a collection of tags associated with the Product entity.", - "schema": { - "$ref": "./apimtags.json#/definitions/TagCollection" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "./apimtags.json#/definitions/TagContract" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/products/{productId}/tags/{tagId}": { - "head": { - "tags": [ - "ProductTags" - ], - "operationId": "Tag_GetEntityStateByProduct", - "description": "Gets the entity state version of the tag specified by its identifier.", - "x-ms-examples": { - "ApiManagementHeadProductTag": { - "$ref": "./examples/ApiManagementHeadProductTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimproducts.json#/parameters/ProductIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Empty response body, ETag header entity state version.", - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "tags": [ - "ProductTags" - ], - "operationId": "Tag_GetByProduct", - "description": "Get tag associated with the Product.", - "x-ms-examples": { - "ApiManagementGetProductTag": { - "$ref": "./examples/ApiManagementGetProductTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimproducts.json#/parameters/ProductIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Gets the details of the tag specified by its identifier.", - "schema": { - "$ref": "./apimtags.json#/definitions/TagContract" - }, - "headers": { - "ETag": { - "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", - "type": "string" - } - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "ProductTags" - ], - "operationId": "Tag_AssignToProduct", - "description": "Assign tag to the Product.", - "x-ms-examples": { - "ApiManagementCreateProductTag": { - "$ref": "./examples/ApiManagementCreateProductTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimproducts.json#/parameters/ProductIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "201": { - "description": "Tag was assigned to the Product.", - "schema": { - "$ref": "./apimtags.json#/definitions/TagContract" - } - }, - "200": { - "description": "Tag is already assigned to the Product.", - "schema": { - "$ref": "./apimtags.json#/definitions/TagContract" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "ProductTags" - ], - "operationId": "Tag_DetachFromProduct", - "description": "Detach the tag from the Product.", - "x-ms-examples": { - "ApiManagementDeleteProductTag": { - "$ref": "./examples/ApiManagementDeleteProductTag.json" - } - }, - "parameters": [ - { - "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" - }, - { - "$ref": "./apimproducts.json#/parameters/ProductIdParameter" - }, - { - "$ref": "#/parameters/TagIdParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" - }, - { - "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Successfully detached the tag from the Product." - }, - "204": { - "description": "Successfully detached the tag from the Product." - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse" - } - } - } - } - } - }, - "definitions": { - "TagCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/TagContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Tag list representation." - }, - "TagContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/TagContractProperties", - "description": "Tag entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Tag Contract details." - }, - "TagContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Tag name.", - "maxLength": 160, - "minLength": 1 - } - }, - "required": [ - "displayName" - ], - "description": "Tag contract Properties." - }, - "TagCreateUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/TagContractProperties", - "description": "Properties supplied to Create Tag operation." - } - }, - "description": "Parameters supplied to Create/Update Tag operations." - }, - "TagDescriptionCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/TagDescriptionContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged TagDescription list representation." - }, - "TagDescriptionContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/TagDescriptionContractProperties", - "description": "TagDescription entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "Contract details." - }, - "TagDescriptionContractProperties": { - "properties": { - "displayName": { - "type": "string", - "description": "Tag name.", - "maxLength": 160, - "minLength": 1 - } - }, - "allOf": [ - { - "$ref": "#/definitions/TagDescriptionBaseProperties" - } - ], - "description": "TagDescription contract Properties." - }, - "TagDescriptionCreateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/TagDescriptionBaseProperties", - "description": "Properties supplied to Create TagDescription operation." - } - }, - "description": "Parameters supplied to the Create TagDescription operation." - }, - "TagDescriptionBaseProperties": { - "properties": { - "description": { - "type": "string", - "description": "Description of the Tag." - }, - "externalDocsUrl": { - "type": "string", - "description": "Absolute URL of external resources describing the tag.", - "maxLength": 2000 - }, - "externalDocsDescription": { - "type": "string", - "description": "Description of the external resources describing the tag." - } - }, - "description": "Parameters supplied to the Create TagDescription operation." } }, - "parameters": { - "TagIdParameter": { - "name": "tagId", - "in": "path", - "required": true, - "type": "string", - "description": "Tag identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtenant.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtenant.json index e4c1d7bc..212afc10 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtenant.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimtenant.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on tenant entity associated with your Azure API Management deployment. Using this entity you can manage properties and configuration that apply to the entire API Management service instance.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -34,16 +34,118 @@ } }, "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant": { + "get": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_ListByService", + "description": "Returns list of access infos - for Git and Management endpoints.", + "x-ms-examples": { + "ApiManagementListTenantAccess": { + "$ref": "./examples/ApiManagementListTenantAccess.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "Not used" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Lists a collection of TenantAccessInfo entities.", + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "./definitions.json#/definitions/AccessInformationContract" + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}": { + "head": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_GetEntityTag", + "description": "Tenant access metadata", + "x-ms-examples": { + "ApiManagementHeadTenantAccess": { + "$ref": "./examples/ApiManagementHeadTenantAccess.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AccessParameter" + } + ], + "responses": { + "200": { + "description": "Operation completed successfully.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, "get": { "tags": [ "TenantAccess" ], "operationId": "TenantAccess_Get", - "description": "Get tenant access information details.", + "description": "Get tenant access information details without secrets.", "x-ms-examples": { "ApiManagementGetTenantAccess": { "$ref": "./examples/ApiManagementGetTenantAccess.json" + }, + "ApiManagementGetTenantGitAccess": { + "$ref": "./examples/ApiManagementGetTenantGitAccess.json" } }, "parameters": [ @@ -60,14 +162,75 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { "200": { "description": "Tenant Access information.", "schema": { - "$ref": "#/definitions/AccessInformationContract" + "$ref": "./definitions.json#/definitions/AccessInformationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "TenantAccess" + ], + "operationId": "TenantAccess_Create", + "description": "Update tenant access information details.", + "x-ms-examples": { + "ApiManagementCreateTenantAccess": { + "$ref": "./examples/ApiManagementCreateTenantAccess.json" + } + }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationCreateParameters" + }, + "description": "Parameters supplied to retrieve the Tenant Access Information." + }, + { + "$ref": "./apimanagement.json#/parameters/AccessParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Tenant Access information was updated successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationContract" }, "headers": { "ETag": { @@ -75,6 +238,12 @@ "type": "string" } } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } } }, @@ -101,12 +270,12 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AccessInformationUpdateParameters" + "$ref": "./definitions.json#/definitions/AccessInformationUpdateParameters" }, "description": "Parameters supplied to retrieve the Tenant Access Information." }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" }, { "$ref": "./apimanagement.json#/parameters/IfMatchRequiredParameter" @@ -119,8 +288,17 @@ } ], "responses": { - "204": { - "description": "Tenant's access information updated successfully." + "200": { + "description": "Tenant Access information was updated successfully.", + "schema": { + "$ref": "./definitions.json#/definitions/AccessInformationContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } }, "default": { "description": "Error response describing why the operation failed.", @@ -137,7 +315,7 @@ "TenantAccess" ], "operationId": "TenantAccess_RegeneratePrimaryKey", - "description": "Regenerate primary access key.", + "description": "Regenerate primary access key", "x-ms-examples": { "ApiManagementTenantAccessRegenerateKey": { "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json" @@ -157,7 +335,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { @@ -179,7 +357,7 @@ "TenantAccess" ], "operationId": "TenantAccess_RegenerateSecondaryKey", - "description": "Regenerate secondary access key.", + "description": "Regenerate secondary access key", "x-ms-examples": { "ApiManagementTenantAccessRegenerateKey": { "$ref": "./examples/ApiManagementTenantAccessRegenerateKey.json" @@ -199,7 +377,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { @@ -215,16 +393,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/git": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{accessName}/listSecrets": { + "post": { "tags": [ - "TenantAccessGit" + "TenantAccess" ], - "operationId": "TenantAccessGit_Get", - "description": "Gets the Git access configuration for the tenant.", + "operationId": "TenantAccess_ListSecrets", + "description": "Get tenant access information details.", "x-ms-examples": { - "ApiManagementGetTenantAccess": { - "$ref": "./examples/ApiManagementGetTenantAccess.json" + "ApiManagementListSecretsTenantAccess": { + "$ref": "./examples/ApiManagementListSecretsTenantAccess.json" } }, "parameters": [ @@ -241,14 +419,14 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { "200": { - "description": "Git Access Information for the Service.", + "description": "Tenant Access information.", "schema": { - "$ref": "#/definitions/AccessInformationContract" + "$ref": "./definitions.json#/definitions/AccessInformationSecretsContract" }, "headers": { "ETag": { @@ -292,7 +470,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { @@ -334,7 +512,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccessParameter" + "$ref": "./apimanagement.json#/parameters/AccessParameter" } ], "responses": { @@ -378,7 +556,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DeployConfigurationParameters" + "$ref": "./definitions.json#/definitions/DeployConfigurationParameters" }, "description": "Deploy Configuration parameters." }, @@ -389,7 +567,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ConfigurationParameter" + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" } ], "responses": { @@ -397,9 +575,9 @@ "description": "Accepted: Location header contains the URL where the status of the long running operation can be checked." }, "200": { - "description": "Result of appplying changes from Git branch to database.", + "description": "Result of applying changes from Git branch to database.", "schema": { - "$ref": "#/definitions/OperationResultContract" + "$ref": "./definitions.json#/definitions/OperationResultContract" } }, "default": { @@ -409,7 +587,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/save": { @@ -440,7 +621,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/SaveConfigurationParameter" + "$ref": "./definitions.json#/definitions/SaveConfigurationParameter" }, "description": "Save Configuration parameters." }, @@ -451,7 +632,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ConfigurationParameter" + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" } ], "responses": { @@ -461,7 +642,7 @@ "200": { "description": "Result of creating a commit in the repository.", "schema": { - "$ref": "#/definitions/OperationResultContract" + "$ref": "./definitions.json#/definitions/OperationResultContract" } }, "default": { @@ -471,7 +652,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/validate": { @@ -498,7 +682,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DeployConfigurationParameters" + "$ref": "./definitions.json#/definitions/DeployConfigurationParameters" }, "description": "Validate Configuration parameters." }, @@ -509,7 +693,7 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ConfigurationParameter" + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" } ], "responses": { @@ -519,7 +703,7 @@ "200": { "description": "Result of validating the changes in the specified Git branch.", "schema": { - "$ref": "#/definitions/OperationResultContract" + "$ref": "./definitions.json#/definitions/OperationResultContract" } }, "default": { @@ -529,7 +713,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/tenant/{configurationName}/syncState": { @@ -558,215 +745,26 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ConfigurationParameter" + "$ref": "./apimanagement.json#/parameters/ConfigurationParameter" } ], "responses": { "200": { "description": "Sync state result.", "schema": { - "$ref": "#/definitions/TenantConfigurationSyncStateContract" + "$ref": "./definitions.json#/definitions/TenantConfigurationSyncStateContract" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } } } } }, - "definitions": { - "AccessInformationContract": { - "properties": { - "id": { - "type": "string", - "description": "Identifier." - }, - "primaryKey": { - "type": "string", - "description": "Primary access key." - }, - "secondaryKey": { - "type": "string", - "description": "Secondary access key." - }, - "enabled": { - "type": "boolean", - "description": "Tenant access information of the API Management service." - } - }, - "description": "Tenant access information contract of the API Management service." - }, - "AccessInformationUpdateParameters": { - "properties": { - "enabled": { - "type": "boolean", - "description": "Tenant access information of the API Management service." - } - }, - "description": "Tenant access information update parameters of the API Management service." - }, - "DeployConfigurationParameters": { - "properties": { - "branch": { - "type": "string", - "description": "The name of the Git branch from which the configuration is to be deployed to the configuration database." - }, - "force": { - "type": "boolean", - "description": "The value enforcing deleting subscriptions to products that are deleted in this update." - } - }, - "required": [ - "branch" - ], - "description": "Parameters supplied to the Deploy Configuration operation." - }, - "OperationResultContract": { - "properties": { - "id": { - "type": "string", - "description": "Operation result identifier." - }, - "status": { - "type": "string", - "description": "Status of an async operation.", - "enum": [ - "Started", - "InProgress", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "AsyncOperationStatus", - "modelAsString": false - } - }, - "started": { - "type": "string", - "format": "date-time", - "description": "Start time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "updated": { - "type": "string", - "format": "date-time", - "description": "Last update time of an async operation. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "resultInfo": { - "type": "string", - "description": "Optional result info." - }, - "error": { - "$ref": "./apimanagement.json#/definitions/ErrorResponse", - "description": "Error Body Contract" - }, - "actionLog": { - "type": "array", - "items": { - "$ref": "#/definitions/OperationResultLogItemContract" - }, - "readOnly": true, - "description": "This property if only provided as part of the TenantConfiguration_Validate operation. It contains the log the entities which will be updated/created/deleted as part of the TenantConfiguration_Deploy operation." - } - }, - "description": "Operation Result." - }, - "OperationResultLogItemContract": { - "properties": { - "objectType": { - "type": "string", - "description": "The type of entity contract." - }, - "action": { - "type": "string", - "description": "Action like create/update/delete." - }, - "objectKey": { - "type": "string", - "description": "Identifier of the entity being created/updated/deleted." - } - }, - "description": "Log of the entity being created, updated or deleted." - }, - "SaveConfigurationParameter": { - "properties": { - "branch": { - "type": "string", - "description": "The name of the Git branch in which to commit the current configuration snapshot." - }, - "force": { - "type": "boolean", - "description": "The value if true, the current configuration database is committed to the Git repository, even if the Git repository has newer changes that would be overwritten." - } - }, - "required": [ - "branch" - ], - "description": "Parameters supplied to the Save Tenant Configuration operation." - }, - "TenantConfigurationSyncStateContract": { - "properties": { - "branch": { - "type": "string", - "description": "The name of Git branch." - }, - "commitId": { - "type": "string", - "description": "The latest commit Id." - }, - "isExport": { - "type": "boolean", - "description": "value indicating if last sync was save (true) or deploy (false) operation." - }, - "isSynced": { - "type": "boolean", - "description": "value indicating if last synchronization was later than the configuration change." - }, - "isGitEnabled": { - "type": "boolean", - "description": "value indicating whether Git configuration access is enabled." - }, - "syncDate": { - "type": "string", - "format": "date-time", - "description": "The date of the latest synchronization. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - }, - "configurationChangeDate": { - "type": "string", - "format": "date-time", - "description": "The date of the latest configuration change. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - } - }, - "description": "Tenant Configuration Synchronization State." - } - }, - "parameters": { - "AccessParameter": { - "name": "accessName", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "access" - ], - "x-ms-enum": { - "modelAsString": true, - "name": "AccessIdName" - }, - "description": "The identifier of the Access configuration.", - "x-ms-parameter-location": "method" - }, - "ConfigurationParameter": { - "name": "configurationName", - "in": "path", - "required": true, - "type": "string", - "enum": [ - "configuration" - ], - "x-ms-enum": { - "modelAsString": true, - "name": "configurationIdName" - }, - "description": "The identifier of the Git Configuration Operation.", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimusers.json b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimusers.json index e52d1a35..37f99902 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimusers.json +++ b/App_Data/SwaggerSpecs/Microsoft.ApiManagement/apimusers.json @@ -3,7 +3,7 @@ "info": { "title": "ApiManagementClient", "description": "Use these REST APIs for performing operations on User entity in Azure API Management deployment. The User entity in API Management represents the developers that call the APIs of the products to which they are subscribed.", - "version": "2018-01-01" + "version": "2021-08-01" }, "host": "management.azure.com", "schemes": [ @@ -37,7 +37,7 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users": { "get": { "tags": [ - "Users" + "User" ], "operationId": "User_ListByService", "description": "Lists a collection of registered users in the specified service instance.", @@ -58,7 +58,7 @@ "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|------------------|------------------------|-----------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| firstName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| lastName | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| email | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | N/A |\n| registrationDate | ge, le, eq, ne, gt, lt | N/A |\n| note | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|-------------|-------------|-------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| firstName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| lastName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| email | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| state | filter | eq | |
| registrationDate | filter | ge, le, eq, ne, gt, lt | |
| note | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| groups | expand | | |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -66,6 +66,12 @@ { "$ref": "./apimanagement.json#/parameters/SkipQueryParameter" }, + { + "name": "expandGroups", + "in": "query", + "type": "boolean", + "description": "Detailed Group in response." + }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" }, @@ -77,7 +83,7 @@ "200": { "description": "Lists a collection of User entities.", "schema": { - "$ref": "#/definitions/UserCollection" + "$ref": "./definitions.json#/definitions/UserCollection" } }, "default": { @@ -90,13 +96,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/UserContract" + "x-ms-odata": "./definitions.json#/definitions/UserContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}": { "head": { "tags": [ - "Users" + "User" ], "operationId": "User_GetEntityTag", "description": "Gets the entity state (Etag) version of the user specified by its identifier.", @@ -113,7 +119,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -142,7 +148,7 @@ }, "get": { "tags": [ - "Users" + "User" ], "operationId": "User_Get", "description": "Gets the details of the user specified by its identifier.", @@ -159,7 +165,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -172,7 +178,7 @@ "200": { "description": "Gets the specified user entity.", "schema": { - "$ref": "#/definitions/UserContract" + "$ref": "./definitions.json#/definitions/UserContract" }, "headers": { "ETag": { @@ -191,13 +197,13 @@ }, "put": { "tags": [ - "Users" + "User" ], "operationId": "User_CreateOrUpdate", "description": "Creates or Updates a user.", "x-ms-examples": { - "ApiManagementCreateUserBasic": { - "$ref": "./examples/ApiManagementCreateUserBasic.json" + "ApiManagementCreateUser": { + "$ref": "./examples/ApiManagementCreateUser.json" } }, "parameters": [ @@ -208,17 +214,24 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UserCreateParameters" + "$ref": "./definitions.json#/definitions/UserCreateParameters" }, "description": "Create or update parameters." }, + { + "name": "notify", + "in": "query", + "required": false, + "type": "boolean", + "description": "Send an Email notification to the User." + }, { "$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter" }, @@ -233,13 +246,25 @@ "201": { "description": "User was successfully created.", "schema": { - "$ref": "#/definitions/UserContract" + "$ref": "./definitions.json#/definitions/UserContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } } }, "200": { "description": "User was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, "schema": { - "$ref": "#/definitions/UserContract" + "$ref": "./definitions.json#/definitions/UserContract" } }, "default": { @@ -252,13 +277,13 @@ }, "patch": { "tags": [ - "Users" + "User" ], "operationId": "User_Update", "description": "Updates the details of the user specified by its identifier.", "x-ms-examples": { - "ApiManagementUpdateUserBasic": { - "$ref": "./examples/ApiManagementUpdateUserBasic.json" + "ApiManagementUpdateUser": { + "$ref": "./examples/ApiManagementUpdateUser.json" } }, "parameters": [ @@ -269,14 +294,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UserUpdateParameters" + "$ref": "./definitions.json#/definitions/UserUpdateParameters" }, "description": "Update parameters." }, @@ -291,11 +316,20 @@ } ], "responses": { - "204": { - "description": "The user details were successfully updated." + "200": { + "description": "User was successfully updated.", + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + }, + "schema": { + "$ref": "./definitions.json#/definitions/UserContract" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 405 Administrator user cannot be modified\n\n * 4XX Error response giving details why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "./apimanagement.json#/definitions/ErrorResponse" } @@ -304,7 +338,7 @@ }, "delete": { "tags": [ - "Users" + "User" ], "operationId": "User_Delete", "description": "Deletes specific user.", @@ -321,7 +355,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "deleteSubscriptions", @@ -345,6 +379,9 @@ }, { "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } ], "responses": { @@ -363,7 +400,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/generateSsoUrl": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/generateSsoUrl": { "post": { "tags": [ "Users" @@ -371,8 +408,8 @@ "operationId": "User_GenerateSsoUrl", "description": "Retrieves a redirection URL containing an authentication token for signing a given user into the developer portal.", "x-ms-examples": { - "ApiManagementUsersGenerateSsoUrl": { - "$ref": "./examples/ApiManagementUsersGenerateSsoUrl.json" + "ApiManagementUserGenerateSsoUrl": { + "$ref": "./examples/ApiManagementUserGenerateSsoUrl.json" } }, "parameters": [ @@ -383,7 +420,7 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -397,7 +434,7 @@ "description": "The response body contains the single sign-on URL.", "schema": { "x-ms-client-flatten": true, - "$ref": "#/definitions/GenerateSsoUrlResult" + "$ref": "./definitions.json#/definitions/GenerateSsoUrlResult" } }, "default": { @@ -409,10 +446,10 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/groups": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/groups": { "get": { "tags": [ - "UserGroups" + "UserGroup" ], "operationId": "UserGroup_List", "description": "Lists all user groups.", @@ -429,14 +466,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|-------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| description | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|------------------------|-----------------------------------|
| name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
| description | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -455,7 +492,7 @@ "200": { "description": "Lists a collection of Group entities.", "schema": { - "$ref": "./apimgroups.json#/definitions/GroupCollection" + "$ref": "./definitions.json#/definitions/GroupCollection" } }, "default": { @@ -468,13 +505,13 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimgroups.json#/definitions/GroupContract" + "x-ms-odata": "./definitions.json#/definitions/GroupContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/subscriptions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions": { "get": { "tags": [ - "UserSubscriptions" + "UserSubscription" ], "operationId": "UserSubscription_List", "description": "Lists the collection of subscriptions of the specified user.", @@ -491,14 +528,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "| Field | Supported operators | Supported functions |\n|--------------|------------------------|---------------------------------------------|\n| id | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| name | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| stateComment | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| userId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| productId | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |\n| state | eq | |" + "description": "| Field | Usage | Supported operators | Supported functions |
|-------------|------------------------|-----------------------------------|
|name | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|displayName | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|stateComment | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|ownerId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|scope | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|userId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
|productId | filter | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
" }, { "$ref": "./apimanagement.json#/parameters/TopQueryParameter" @@ -517,7 +554,7 @@ "200": { "description": "Lists a collection of Subscription entities.", "schema": { - "$ref": "./apimsubscriptions.json#/definitions/SubscriptionCollection" + "$ref": "./definitions.json#/definitions/SubscriptionCollection" } }, "default": { @@ -530,19 +567,19 @@ "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "./apimsubscriptions.json#/definitions/SubscriptionContract" + "x-ms-odata": "./definitions.json#/definitions/SubscriptionContract" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/identities": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/subscriptions/{sid}": { "get": { "tags": [ - "UserIdentities" + "Subscription" ], - "operationId": "UserIdentities_List", - "description": "Lists all user identities.", + "operationId": "UserSubscription_Get", + "description": "Gets the specified Subscription entity associated with a particular user.", "x-ms-examples": { - "ApiManagementListUsersIdentities": { - "$ref": "./examples/ApiManagementListUsersIdentities.json" + "ApiManagementGetUserSubscription": { + "$ref": "./examples/ApiManagementGetUserSubscription.json" } }, "parameters": [ @@ -553,7 +590,10 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionEntityIdParameter" }, { "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" @@ -562,14 +602,62 @@ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" } ], - "x-ms-pageable": { - "nextLinkName": "nextLink" + "responses": { + "200": { + "description": "The response body contains the specified Subscription entity.", + "schema": { + "$ref": "./definitions.json#/definitions/SubscriptionContract" + }, + "headers": { + "ETag": { + "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/identities": { + "get": { + "tags": [ + "UserIdentity" + ], + "operationId": "UserIdentities_List", + "description": "List of all user identities.", + "x-ms-examples": { + "ApiManagementListUserIdentities": { + "$ref": "./examples/ApiManagementListUserIdentities.json" + } }, + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + } + ], "responses": { "200": { "description": "Lists of User Identities.", "schema": { - "$ref": "#/definitions/UserIdentityCollection" + "$ref": "./definitions.json#/definitions/UserIdentityCollection" } }, "default": { @@ -578,19 +666,22 @@ "$ref": "./apimanagement.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{uid}/token": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/token": { "post": { "tags": [ - "Users" + "UserToken" ], "operationId": "User_GetSharedAccessToken", "description": "Gets the Shared Access Authorization Token for the User.", "x-ms-examples": { - "ApiManagementUsersGetToken": { - "$ref": "./examples/ApiManagementUsersGetToken.json" + "ApiManagementUserToken": { + "$ref": "./examples/ApiManagementUserToken.json" } }, "parameters": [ @@ -601,14 +692,14 @@ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" }, { - "$ref": "#/parameters/UserIdParameter" + "$ref": "./apimanagement.json#/parameters/UserIdParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UserTokenParameters" + "$ref": "./definitions.json#/definitions/UserTokenParameters" }, "description": "Create Authorization Token parameters." }, @@ -624,7 +715,7 @@ "description": "The response body contains the authorization token for the user.", "schema": { "x-ms-client-flatten": true, - "$ref": "#/definitions/UserTokenResult" + "$ref": "./definitions.json#/definitions/UserTokenResult" } }, "default": { @@ -635,327 +726,53 @@ } } } - } - }, - "definitions": { - "GenerateSsoUrlResult": { - "properties": { - "value": { - "type": "string", - "description": "Redirect Url containing the SSO URL value." - } - }, - "description": "Generate SSO Url operations response details." - }, - "UserCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/UserContract" - }, - "description": "Page values." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "Paged Users list representation." - }, - "UserContract": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/UserContractProperties", - "description": "User entity contract properties." - } - }, - "allOf": [ - { - "$ref": "./apimanagement.json#/definitions/Resource" - } - ], - "description": "User details." }, - "UserContractProperties": { - "properties": { - "firstName": { - "type": "string", - "description": "First name." - }, - "lastName": { - "type": "string", - "description": "Last name." - }, - "email": { - "type": "string", - "description": "Email address." - }, - "registrationDate": { - "type": "string", - "format": "date-time", - "description": "Date of user registration. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/users/{userId}/confirmations/password/send": { + "post": { + "tags": [ + "UserConfirmationPasswordSend" + ], + "operationId": "UserConfirmationPassword_Send", + "description": "Sends confirmation", + "x-ms-examples": { + "ApiManagementUserConfirmationPasswordSend": { + "$ref": "./examples/ApiManagementUserConfirmationPasswordSend.json" + } }, - "groups": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "./apimgroups.json#/definitions/GroupContractProperties" + "parameters": [ + { + "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter" }, - "description": "Collection of groups user is part of." - } - }, - "allOf": [ - { - "$ref": "#/definitions/UserEntityBaseParameters" - } - ], - "description": "User profile." - }, - "UserCreateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/UserCreateParameterProperties", - "description": "User entity create contract properties." - } - }, - "description": "User create details." - }, - "UserCreateParameterProperties": { - "properties": { - "email": { - "type": "string", - "description": "Email address. Must not be empty and must be unique within the service instance.", - "minLength": 1, - "maxLength": 254 - }, - "firstName": { - "type": "string", - "description": "First name.", - "minLength": 1, - "maxLength": 100 - }, - "lastName": { - "type": "string", - "description": "Last name.", - "minLength": 1, - "maxLength": 100 - }, - "password": { - "type": "string", - "description": "User Password. If no value is provided, a default password is generated." - }, - "confirmation": { - "type": "string", - "description": "Determines the type of confirmation e-mail that will be sent to the newly created user.", - "enum": [ - "signup", - "invite" - ], - "x-ms-enum": { - "name": "Confirmation", - "modelAsString": true, - "values": [ - { - "value": "signup", - "description": "Send an e-mail to the user confirming they have successfully signed up." - }, - { - "value": "invite", - "description": "Send an e-mail inviting the user to sign-up and complete registration." - } - ] - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/UserEntityBaseParameters" - } - ], - "required": [ - "email", - "firstName", - "lastName" - ], - "description": "Parameters supplied to the Create User operation." - }, - "UserEntityBaseParameters": { - "properties": { - "state": { - "type": "string", - "description": "Account state. Specifies whether the user is active or not. Blocked users are unable to sign into the developer portal or call any APIs of subscribed products. Default state is Active.", - "enum": [ - "active", - "blocked", - "pending", - "deleted" - ], - "default": "active", - "x-ms-enum": { - "name": "UserState", - "modelAsString": true, - "values": [ - { - "value": "active", - "description": "User state is active." - }, - { - "value": "blocked", - "description": "User is blocked. Blocked users cannot authenticate at developer portal or call API." - }, - { - "value": "pending", - "description": "User account is pending. Requires identity confirmation before it can be made active." - }, - { - "value": "deleted", - "description": "User account is closed. All identities and related entities are removed." - } - ] + { + "$ref": "./apimanagement.json#/parameters/ServiceNameParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/UserIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./apimanagement.json#/parameters/AppTypeParameter" } - }, - "note": { - "type": "string", - "description": "Optional note about a user set by the administrator." - }, - "identities": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/UserIdentityContract" + ], + "responses": { + "204": { + "description": "Notification successfully sent" }, - "description": "Collection of user identities." - } - }, - "description": "User Entity Base Parameters set." - }, - "UserIdentityCollection": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/UserIdentityContract" - }, - "description": "User Identity values." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "Total record count number across all pages." - }, - "nextLink": { - "type": "string", - "description": "Next page link if any." - } - }, - "description": "List of Users Identity list representation." - }, - "UserIdentityContract": { - "properties": { - "provider": { - "type": "string", - "description": "Identity provider name." - }, - "id": { - "type": "string", - "description": "Identifier value within provider." - } - }, - "description": "User identity details." - }, - "UserTokenParameters": { - "properties": { - "keyType": { - "type": "string", - "description": "The Key to be used to generate token for user.", - "enum": [ - "primary", - "secondary" - ], - "default": "primary", - "x-ms-enum": { - "name": "KeyType", - "modelAsString": false + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./apimanagement.json#/definitions/ErrorResponse" + } } - }, - "expiry": { - "type": "string", - "format": "date-time", - "description": "The Expiry time of the Token. Maximum token expiry time is set to 30 days. The date conforms to the following format: `yyyy-MM-ddTHH:mm:ssZ` as specified by the ISO 8601 standard.\n" - } - }, - "required": [ - "keyType", - "expiry" - ], - "description": "Parameters supplied to the Get User Token operation." - }, - "UserTokenResult": { - "properties": { - "value": { - "type": "string", - "description": "Shared Access Authorization token for the User." } - }, - "description": "Get User Token response details." - }, - "UserUpdateParameters": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/UserUpdateParametersProperties", - "description": "User entity update contract properties." - } - }, - "description": "User update parameters." - }, - "UserUpdateParametersProperties": { - "properties": { - "email": { - "type": "string", - "description": "Email address. Must not be empty and must be unique within the service instance.", - "minLength": 1, - "maxLength": 254 - }, - "password": { - "type": "string", - "description": "User Password." - }, - "firstName": { - "type": "string", - "description": "First name.", - "minLength": 1, - "maxLength": 100 - }, - "lastName": { - "type": "string", - "description": "Last name.", - "minLength": 1, - "maxLength": 100 - } - }, - "allOf": [ - { - "$ref": "#/definitions/UserEntityBaseParameters" - } - ], - "description": "Parameters supplied to the Update User operation." + } } }, - "parameters": { - "UserIdParameter": { - "name": "uid", - "in": "path", - "required": true, - "type": "string", - "description": "User identifier. Must be unique in the current API Management service instance.", - "minLength": 1, - "maxLength": 80, - "pattern": "(^[\\w]+$)|(^[\\w][\\w\\-]+[\\w]$)", - "x-ms-parameter-location": "method" - } - } -} \ No newline at end of file + "definitions": {}, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Authorization/locks.json b/App_Data/SwaggerSpecs/Microsoft.Authorization/locks.json index ec121d39..9a58ec7f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Authorization/locks.json +++ b/App_Data/SwaggerSpecs/Microsoft.Authorization/locks.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "ManagementLockClient", - "version": "2016-09-01", + "version": "2020-05-01", "description": "Azure resources can be locked to prevent other users in your organization from deleting or modifying resources." }, "host": "management.azure.com", @@ -34,6 +34,42 @@ } }, "paths": { + "/providers/Microsoft.Authorization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "AuthorizationOperations_List", + "description": "Lists all of the available Microsoft.Authorization REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List provider operations": { + "$ref": "./examples/ListProviderOperations.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/locks/{lockName}": { "put": { "tags": [ @@ -70,7 +106,7 @@ "description": "The management lock parameters." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -88,10 +124,21 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create management lock at resource group level": { + "$ref": "./examples/ManagementLocks_CreateOrUpdateAtResourceGroupLevel.json" } } }, - "delete": { + "delete": { "tags": [ "ManagementLocks" ], @@ -117,7 +164,7 @@ "description": "The name of lock to delete." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -129,10 +176,21 @@ }, "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete management lock at resource group level": { + "$ref": "./examples/ManagementLocks_DeleteAtResourceGroupLevel.json" } } }, - "get": { + "get": { "tags": [ "ManagementLocks" ], @@ -157,7 +215,7 @@ "description": "The name of the lock to get." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -169,6 +227,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get management lock at resource group level": { + "$ref": "./examples/ManagementLocks_GetAtResourceGroupLevel.json" } } } @@ -205,11 +274,11 @@ "description": "Create or update management lock parameters." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { - "200": { + "200": { "description": "OK", "schema": { "$ref": "#/definitions/ManagementLockObject" @@ -220,6 +289,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create management lock at scope": { + "$ref": "./examples/ManagementLocks_CreateOrUpdateAtScope.json" } } }, @@ -245,7 +325,7 @@ "description": "The name of lock." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -254,6 +334,17 @@ }, "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete management lock at scope": { + "$ref": "./examples/ManagementLocks_DeleteAtScope.json" } } }, @@ -279,7 +370,7 @@ "description": "The name of lock." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -288,6 +379,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get management lock at scope": { + "$ref": "./examples/ManagementLocks_GetAtScope.json" } } } @@ -358,7 +460,7 @@ "description": "Parameters for creating or updating a management lock." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -376,6 +478,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create management lock at resource level": { + "$ref": "./examples/ManagementLocks_CreateOrUpdateAtResourceLevel.json" } } }, @@ -435,7 +548,7 @@ "description": "The name of the lock to delete." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -447,6 +560,17 @@ }, "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete management lock at resource level": { + "$ref": "./examples/ManagementLocks_DeleteAtResourceLevel.json" } } }, @@ -505,7 +629,7 @@ "description": "The name of lock." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -517,6 +641,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get management lock at resource level": { + "$ref": "./examples/ManagementLocks_GetAtResourceLevel.json" } } } @@ -547,7 +682,7 @@ "description": "The management lock parameters." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -565,6 +700,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create management lock at subscription level": { + "$ref": "./examples/ManagementLocks_CreateOrUpdateAtSubscriptionLevel.json" } } }, @@ -584,7 +730,7 @@ "description": "The name of lock to delete." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -596,6 +742,17 @@ }, "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete management lock at subscription level": { + "$ref": "./examples/ManagementLocks_DeleteAtSubscriptionLevel.json" } } }, @@ -614,7 +771,7 @@ "description": "The name of the lock to get." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -626,6 +783,17 @@ "schema": { "$ref": "#/definitions/ManagementLockObject" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get management lock at subscription level": { + "$ref": "./examples/ManagementLocks_GetAtSubscriptionLevel.json" } } } @@ -656,7 +824,7 @@ "description": "The filter to apply on the operation." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -668,12 +836,23 @@ "schema": { "$ref": "#/definitions/ManagementLockListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ManagementLockObject" + "x-ms-odata": "#/definitions/ManagementLockObject", + "x-ms-examples": { + "List management groups at resource group level": { + "$ref": "./examples/ManagementLocks_ListAtResourceGroupLevel.json" + } + } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/locks": { @@ -732,7 +911,7 @@ "description": "The filter to apply on the operation." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -744,12 +923,23 @@ "schema": { "$ref": "#/definitions/ManagementLockListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ManagementLockObject" + "x-ms-odata": "#/definitions/ManagementLockObject", + "x-ms-examples": { + "List management locks at resource level": { + "$ref": "./examples/ManagementLocks_ListAtResourceLevel.json" + } + } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/locks": { @@ -768,7 +958,7 @@ "description": "The filter to apply on the operation." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -780,12 +970,74 @@ "schema": { "$ref": "#/definitions/ManagementLockListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ManagementLockObject" + "x-ms-odata": "#/definitions/ManagementLockObject", + "x-ms-examples": { + "List management locks at subscription level": { + "$ref": "./examples/ManagementLocks_ListAtSubscriptionLevel.json" + } + } + } + }, + "/{scope}/providers/Microsoft.Authorization/locks": { + "get": { + "tags": [ + "ManagementLocks" + ], + "operationId": "ManagementLocks_ListByScope", + "description": "Gets all the management locks for a scope.", + "parameters": [ + { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope for the lock. When providing a scope for the assignment, use '/subscriptions/{subscriptionId}' for subscriptions, '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}' for resource groups, and '/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePathIfPresent}/{resourceType}/{resourceName}' for resources." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource locks.", + "schema": { + "$ref": "#/definitions/ManagementLockListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ManagementLockObject", + "x-ms-examples": { + "List management locks at scope": { + "$ref": "./examples/ManagementLocks_ListAtScope.json" + } + } } } }, @@ -826,7 +1078,9 @@ "description": "The owners of the lock." } }, - "required": [ "level" ], + "required": [ + "level" + ], "description": "The lock properties." }, "ManagementLockObject": { @@ -847,11 +1101,18 @@ "description": "The resource type of the lock - Microsoft.Authorization/locks." }, "name": { + "readOnly": true, "type": "string", "description": "The name of the lock." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true } }, - "required": [ "properties" ], + "required": [ + "properties" + ], "description": "The lock information.", "x-ms-azure-resource": true }, @@ -870,6 +1131,49 @@ } }, "description": "The list of locks." + }, + "Operation": { + "description": "Microsoft.Authorization operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Authorization", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Authorization operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Authorization operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } } }, "parameters": { @@ -879,13 +1183,6 @@ "required": true, "type": "string", "description": "The ID of the target subscription." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the operation." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/account.json b/App_Data/SwaggerSpecs/Microsoft.Automation/account.json index ebcacaca..89b1edb9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/account.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/account.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2021-06-22", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}": { "patch": { @@ -27,47 +48,43 @@ }, "x-ms-examples": { "Update an automation account": { - "$ref": "../examples/account/updateAutomationAccount.json" + "$ref": "./examples/updateAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "Automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccountUpdateParameters" + "$ref": "#/definitions/AutomationAccountUpdateParameters" }, "description": "Parameters supplied to the update automation account." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccount" + "$ref": "#/definitions/AutomationAccount" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -83,53 +100,49 @@ }, "x-ms-examples": { "Create or update automation account": { - "$ref": "../examples/account/createOrUpdateAutomationAccount.json" + "$ref": "./examples/createOrUpdateAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "Parameters supplied to the create or update automation account." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccountCreateOrUpdateParameters" + "$ref": "#/definitions/AutomationAccountCreateOrUpdateParameters" }, "description": "Parameters supplied to the create or update automation account." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccount" + "$ref": "#/definitions/AutomationAccount" } }, "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccount" + "$ref": "#/definitions/AutomationAccount" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -145,25 +158,21 @@ }, "x-ms-examples": { "Delete automation account": { - "$ref": "../examples/account/deleteAutomationAccount.json" + "$ref": "./examples/deleteAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "Automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -176,7 +185,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -192,38 +201,34 @@ }, "x-ms-examples": { "Get automation account": { - "$ref": "../examples/account/getAutomationAccount.json" + "$ref": "./examples/getAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccount" + "$ref": "#/definitions/AutomationAccount" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -241,31 +246,31 @@ }, "x-ms-examples": { "List automation accounts by resource group": { - "$ref": "../examples/account/listAutomationAccountsByResourceGroup.json" + "$ref": "./examples/listAutomationAccountsByResourceGroup.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccountListResult" + "$ref": "#/definitions/AutomationAccountListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -274,37 +279,6 @@ } } }, - "/providers/Microsoft.Automation/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Lists all of the available Automation REST API operations.", - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/OperationListResult" - } - }, - "default": { - "description": "Automation error response describing why the operation failed.", - "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Automation/automationAccounts": { "get": { "tags": [ @@ -315,28 +289,28 @@ "description": "Retrieve a list of accounts within a given subscription.", "x-ms-examples": { "List automation accounts by resource group": { - "$ref": "../examples/account/listAutomationAccountsBySubscription.json" + "$ref": "./examples/listAutomationAccountsBySubscription.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AutomationAccountListResult" + "$ref": "#/definitions/AutomationAccountListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -357,19 +331,15 @@ }, "x-ms-examples": { "Get statistics of an automation account": { - "$ref": "../examples/account/getStatisticsOfAutomationAccount.json" + "$ref": "./examples/getStatisticsOfAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "$filter", @@ -379,23 +349,23 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/StatisticsListResult" + "$ref": "#/definitions/StatisticsListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -416,38 +386,34 @@ }, "x-ms-examples": { "Get usages of an automation account": { - "$ref": "../examples/account/getUsagesOfAutomationAccount.json" + "$ref": "./examples/getUsagesOfAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/UsageListResult" + "$ref": "#/definitions/UsageListResult" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -455,8 +421,538 @@ "nextLinkName": null } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/listKeys": { + "post": { + "tags": [ + "ListKeys" + ], + "operationId": "Keys_ListByAutomationAccount", + "description": "Retrieve the automation keys for an account.", + "x-ms-examples": { + "Get lists of an automation account": { + "$ref": "./examples/listAutomationAccountKeys.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AutomationAccount": { + "properties": { + "properties": { + "$ref": "#/definitions/AutomationAccountProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the automation account properties." + }, + "etag": { + "type": "string", + "description": "Gets or sets the etag of the resource." + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the automation account type." + }, + "AutomationAccountProperties": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets the SKU of account." + }, + "lastModifiedBy": { + "type": "string", + "description": "Gets or sets the last modified by." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "Gets status of account.", + "enum": [ + "Ok", + "Unavailable", + "Suspended" + ], + "x-ms-enum": { + "name": "AutomationAccountState", + "modelAsString": true + } + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "Encryption properties for the automation account" + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "../../common/v1/definitions.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of Automation operations supported by the Automation resource provider." + }, + "publicNetworkAccess": { + "type": "boolean", + "description": "Indicates whether traffic on the non-ARM endpoint (Webhook/Agent) is allowed from the public internet" + }, + "disableLocalAuth": { + "type": "boolean", + "description": "Indicates whether requests using non-AAD authentication are blocked" + }, + "automationHybridServiceUrl": { + "type": "string", + "description": "URL of automation hybrid service which is used for hybrid worker on-boarding." + } + }, + "description": "Definition of the account property." + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the SKU name of the account.", + "enum": [ + "Free", + "Basic" + ], + "x-ms-enum": { + "name": "SkuNameEnum", + "modelAsString": true + } + }, + "family": { + "type": "string", + "description": "Gets or sets the SKU family." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the SKU capacity." + } + }, + "required": [ + "name" + ], + "description": "The account SKU." + }, + "AutomationAccountCreateOrUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/AutomationAccountCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets account create or update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "identity": { + "type": "object", + "$ref": "#/definitions/Identity", + "description": "Sets the identity property for automation account" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "description": "The parameters supplied to the create or update automation account operation." + }, + "AutomationAccountCreateOrUpdateProperties": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets account SKU." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "Set the encryption properties for the automation account" + }, + "publicNetworkAccess": { + "type": "boolean", + "description": "Indicates whether traffic on the non-ARM endpoint (Webhook/Agent) is allowed from the public internet" + }, + "disableLocalAuth": { + "type": "boolean", + "description": "Indicates whether requests using non-AAD authentication are blocked" + } + }, + "description": "The parameters supplied to the create or update account properties." + }, + "AutomationAccountListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationAccount" + }, + "description": "Gets or sets list of accounts." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list account operation." + }, + "Statistics": { + "properties": { + "counterProperty": { + "type": "string", + "readOnly": true, + "description": "Gets the property value of the statistic." + }, + "counterValue": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Gets the value of the statistic." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the startTime of the statistic.", + "x-nullable": false + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the endTime of the statistic.", + "x-nullable": true + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Gets the id." + } + }, + "description": "Definition of the statistic." + }, + "StatisticsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Statistics" + }, + "description": "Gets or sets a list of statistics." + } + }, + "description": "The response model for the list statistics operation." + }, + "Usage": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "name": { + "$ref": "#/definitions/UsageCounterName", + "description": "Gets or sets the usage counter name." + }, + "unit": { + "type": "string", + "description": "Gets or sets the usage unit name." + }, + "currentValue": { + "type": "number", + "format": "double", + "description": "Gets or sets the current usage value." + }, + "limit": { + "type": "integer", + "format": "int64", + "description": "Gets or sets max limit. -1 for unlimited" + }, + "throttleStatus": { + "type": "string", + "description": "Gets or sets the throttle status." + } + }, + "description": "Definition of Usage." + }, + "UsageCounterName": { + "properties": { + "value": { + "type": "string", + "description": "Gets or sets the usage counter name." + }, + "localizedValue": { + "type": "string", + "description": "Gets or sets the localized usage counter name." + } + }, + "description": "Definition of usage counter name." + }, + "UsageListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "Gets or sets usage." + } + }, + "description": "The response model for the get usage operation." + }, + "Key": { + "properties": { + "KeyName": { + "readOnly": true, + "type": "string", + "description": "Automation key name.", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "AutomationKeyName", + "modelAsString": true + } + }, + "Permissions": { + "readOnly": true, + "type": "string", + "description": "Automation key permissions.", + "enum": [ + "Read", + "Full" + ], + "x-ms-enum": { + "name": "AutomationKeyPermissions", + "modelAsString": true + } + }, + "Value": { + "readOnly": true, + "type": "string", + "description": "Value of the Automation Key used for registration." + } + }, + "description": "Automation key which is used to register a DSC Node" + }, + "KeyListResult": { + "properties": { + "keys": { + "type": "array", + "items": { + "$ref": "#/definitions/Key" + }, + "description": "Lists the automation keys." + } + } + }, + "AutomationAccountUpdateProperties": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "Gets or sets account SKU." + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "Set the encryption properties for the automation account" + }, + "publicNetworkAccess": { + "type": "boolean", + "description": "Indicates whether traffic on the non-ARM endpoint (Webhook/Agent) is allowed from the public internet" + }, + "disableLocalAuth": { + "type": "boolean", + "description": "Indicates whether requests using non-AAD authentication are blocked" + } + }, + "description": "The parameters supplied to the update account properties." + }, + "AutomationAccountUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/AutomationAccountUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets account update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets the name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "identity": { + "type": "object", + "$ref": "#/definitions/Identity", + "description": "Sets the identity property for automation account" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "description": "The parameters supplied to the update automation account operation." + }, + "Identity": { + "description": "Identity for the resource.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "additionalProperties": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + } + } + } + }, + "EncryptionProperties": { + "description": "The encryption settings for automation account", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Key vault properties." + }, + "keySource": { + "type": "string", + "description": "Encryption Key Source", + "enum": [ + "Microsoft.Automation", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "EncryptionKeySourceType", + "modelAsString": false + } + }, + "identity": { + "description": "User identity used for CMK.", + "properties": { + "userAssignedIdentity": { + "type": "object", + "description": "The user identity used for CMK. It will be an ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + } + } + } + }, + "KeyVaultProperties": { + "type": "object", + "description": "Settings concerning key vault encryption for a configuration store.", + "properties": { + "keyvaultUri": { + "description": "The URI of the key vault key used to encrypt data.", + "type": "string" + }, + "keyName": { + "description": "The name of key used to encrypt data.", + "type": "string" + }, + "keyVersion": { + "description": "The key version of the key used to encrypt data.", + "type": "string" + } + } } }, - "definitions": {}, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/certificate.json b/App_Data/SwaggerSpecs/Microsoft.Automation/certificate.json index ac02a2d1..bfaa162f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/certificate.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/certificate.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/certificates/{certificateName}": { "delete": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Delete a certificate": { - "$ref": "../examples/certificate/deleteCertificate.json" + "$ref": "./examples/deleteCertificate.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "certificateName", @@ -49,10 +66,10 @@ "description": "The name of certificate." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -62,7 +79,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -78,19 +95,15 @@ }, "x-ms-examples": { "Get a certificate": { - "$ref": "../examples/certificate/getCertificate.json" + "$ref": "./examples/getCertificate.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "certificateName", @@ -100,23 +113,23 @@ "description": "The name of certificate." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Certificate" + "$ref": "#/definitions/Certificate" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -132,19 +145,15 @@ }, "x-ms-examples": { "Create or update a certificate": { - "$ref": "../examples/certificate/createOrUpdateCertificate.json" + "$ref": "./examples/createOrUpdateCertificate.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "certificateName", @@ -158,34 +167,34 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/CertificateCreateOrUpdateParameters" + "$ref": "#/definitions/CertificateCreateOrUpdateParameters" }, "description": "The parameters supplied to the create or update certificate operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Certificate" + "$ref": "#/definitions/Certificate" } }, "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Certificate" + "$ref": "#/definitions/Certificate" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -201,19 +210,15 @@ }, "x-ms-examples": { "Update a certificate": { - "$ref": "../examples/certificate/updateCertificate.json" + "$ref": "./examples/updateCertificate.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "certificateName", @@ -227,28 +232,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/CertificateUpdateParameters" + "$ref": "#/definitions/CertificateUpdateParameters" }, "description": "The parameters supplied to the update certificate operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Certificate" + "$ref": "#/definitions/Certificate" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -266,38 +271,34 @@ }, "x-ms-examples": { "List certificates": { - "$ref": "../examples/certificate/listCertificatesByAutomationAccount.json" + "$ref": "./examples/listCertificatesByAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/CertificateListResult" + "$ref": "#/definitions/CertificateListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -307,6 +308,145 @@ } } }, - "definitions": {}, + "definitions": { + "CertificateCreateOrUpdateProperties": { + "properties": { + "base64Value": { + "type": "string", + "description": "Gets or sets the base64 encoded value of the certificate." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the certificate." + }, + "thumbprint": { + "type": "string", + "description": "Gets or sets the thumbprint of the certificate." + }, + "isExportable": { + "type": "boolean", + "description": "Gets or sets the is exportable flag of the certificate.", + "x-nullable": false + } + }, + "required": [ + "base64Value" + ], + "description": "The properties of the create certificate operation." + }, + "CertificateCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the certificate." + }, + "properties": { + "$ref": "#/definitions/CertificateCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the certificate." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update or replace certificate operation." + }, + "CertificateProperties": { + "properties": { + "thumbprint": { + "type": "string", + "readOnly": true, + "description": "Gets the thumbprint of the certificate." + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the expiry time of the certificate.", + "x-nullable": false + }, + "isExportable": { + "type": "boolean", + "readOnly": true, + "description": "Gets the is exportable flag of the certificate.", + "x-nullable": false + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Properties of the certificate." + }, + "Certificate": { + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the certificate." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the certificate." + }, + "CertificateListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + }, + "description": "Gets or sets a list of certificates." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list certificate operation." + }, + "CertificateUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the certificate." + } + }, + "description": "The properties of the update certificate operation" + }, + "CertificateUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the certificate." + }, + "properties": { + "$ref": "#/definitions/CertificateUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the certificate." + } + }, + "description": "The parameters supplied to the update certificate operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/connection.json b/App_Data/SwaggerSpecs/Microsoft.Automation/connection.json index 4b53298e..7fd02b9a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/connection.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/connection.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connections/{connectionName}": { "delete": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Delete an existing connection": { - "$ref": "../examples/connection/deleteConnection.json" + "$ref": "./examples/deleteConnection.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionName", @@ -49,18 +66,15 @@ "description": "The name of connection." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/Connection" - } + "description": "OK" }, "204": { "description": "No Content" @@ -68,7 +82,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -84,19 +98,15 @@ }, "x-ms-examples": { "Get a connection": { - "$ref": "../examples/connection/getConnection.json" + "$ref": "./examples/getConnection.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionName", @@ -106,23 +116,23 @@ "description": "The name of connection." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Connection" + "$ref": "#/definitions/Connection" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -138,19 +148,15 @@ }, "x-ms-examples": { "Create or update connection": { - "$ref": "../examples/connection/createOrUpdateConnection.json" + "$ref": "./examples/createOrUpdateConnection.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionName", @@ -164,34 +170,34 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ConnectionCreateOrUpdateParameters" + "$ref": "#/definitions/ConnectionCreateOrUpdateParameters" }, "description": "The parameters supplied to the create or update connection operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Connection" + "$ref": "#/definitions/Connection" } }, "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Connection" + "$ref": "#/definitions/Connection" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -207,19 +213,15 @@ }, "x-ms-examples": { "Update a connection": { - "$ref": "../examples/connection/updateConnection.json" + "$ref": "./examples/updateConnection.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionName", @@ -233,28 +235,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ConnectionUpdateParameters" + "$ref": "#/definitions/ConnectionUpdateParameters" }, "description": "The parameters supplied to the update a connection operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Connection" + "$ref": "#/definitions/Connection" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -272,41 +274,37 @@ }, "x-ms-examples": { "List connections by automation account, first 100": { - "$ref": "../examples/connection/listConnectionsByAutomationAccount_First100.json" + "$ref": "./examples/listConnectionsByAutomationAccount_First100.json" }, "List connections by automation account, next 100": { - "$ref": "../examples/connection/listConnectionsByAutomationAccount_Next100.json" + "$ref": "./examples/listConnectionsByAutomationAccount_Next100.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ConnectionListResult" + "$ref": "#/definitions/ConnectionListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -316,6 +314,153 @@ } } }, - "definitions": {}, + "definitions": { + "ConnectionCreateOrUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the connection." + }, + "connectionType": { + "$ref": "#/definitions/ConnectionTypeAssociationProperty", + "description": "Gets or sets the connectionType of the connection." + }, + "fieldDefinitionValues": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the field definition properties of the connection." + } + }, + "required": [ + "connectionType" + ], + "description": "The properties of the create connection properties" + }, + "ConnectionCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the connection." + }, + "properties": { + "$ref": "#/definitions/ConnectionCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the connection." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update connection operation." + }, + "ConnectionProperties": { + "properties": { + "connectionType": { + "$ref": "#/definitions/ConnectionTypeAssociationProperty", + "description": "Gets or sets the connectionType of the connection." + }, + "fieldDefinitionValues": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true, + "description": "Gets the field definition values of the connection." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of the connection properties." + }, + "Connection": { + "properties": { + "properties": { + "$ref": "#/definitions/ConnectionProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the connection." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the connection." + }, + "ConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Connection" + }, + "description": "Gets or sets a list of connection." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list connection operation." + }, + "ConnectionUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the connection." + }, + "fieldDefinitionValues": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the field definition values of the connection." + } + }, + "description": "The properties of the update connection operation." + }, + "ConnectionUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the connection." + }, + "properties": { + "$ref": "#/definitions/ConnectionUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the connection." + } + }, + "description": "The parameters supplied to the update connection operation." + }, + "ConnectionTypeAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the connection type." + } + }, + "description": "The connection type property associated with the entity." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/connectionType.json b/App_Data/SwaggerSpecs/Microsoft.Automation/connectionType.json index 1871635e..b22091ba 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/connectionType.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/connectionType.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/connectionTypes/{connectionTypeName}": { "delete": { @@ -21,38 +42,34 @@ "ConnectionType" ], "operationId": "ConnectionType_Delete", - "description": "Delete the connectiontype.", + "description": "Delete the connection type.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/connectiontypeoperations" }, "x-ms-examples": { "Delete an existing connection type": { - "$ref": "../examples/connectionType/deleteConnectionType.json" + "$ref": "./examples/deleteConnectionType.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionTypeName", "in": "path", "required": true, "type": "string", - "description": "The name of connectiontype." + "description": "The name of connection type." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -65,7 +82,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -75,51 +92,47 @@ "ConnectionType" ], "operationId": "ConnectionType_Get", - "description": "Retrieve the connectiontype identified by connectiontype name.", + "description": "Retrieve the connection type identified by connection type name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/connectiontypeoperations" }, "x-ms-examples": { "Get connection type": { - "$ref": "../examples/connectionType/getConnectionType.json" + "$ref": "./examples/getConnectionType.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionTypeName", "in": "path", "required": true, "type": "string", - "description": "The name of connectiontype." + "description": "The name of connection type." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ConnectionType" + "$ref": "#/definitions/ConnectionType" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -129,66 +142,56 @@ "ConnectionType" ], "operationId": "ConnectionType_CreateOrUpdate", - "description": "Create a connectiontype.", + "description": "Create a connection type.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/connectiontypeoperations" }, "x-ms-examples": { "Create or update connection type": { - "$ref": "../examples/connectionType/createOrUpdateConnectionType.json" + "$ref": "./examples/createOrUpdateConnectionType.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "connectionTypeName", "in": "path", "required": true, "type": "string", - "description": "The parameters supplied to the create or update connectiontype operation." + "description": "The parameters supplied to the create or update connection type operation." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ConnectionTypeCreateOrUpdateParameters" + "$ref": "#/definitions/ConnectionTypeCreateOrUpdateParameters" }, - "description": "The parameters supplied to the create or update connectiontype operation." + "description": "The parameters supplied to the create or update connection type operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/ConnectionType" - } - }, - "409": { - "description": "Conflict", - "schema": { - "$ref": "./definitions.json#/definitions/ConnectionType" + "$ref": "#/definitions/ConnectionType" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -200,47 +203,43 @@ "ConnectionType" ], "operationId": "ConnectionType_ListByAutomationAccount", - "description": "Retrieve a list of connectiontypes.", + "description": "Retrieve a list of connection types.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/connectiontypeoperations" }, "x-ms-examples": { "Get connection types, first 100": { - "$ref": "../examples/connectionType/getAllConnectionTypes_First100.json" + "$ref": "./examples/getAllConnectionTypes_First100.json" }, "Get connection types, next 100": { - "$ref": "../examples/connectionType/getAllConnectionTypes_Next100.json" + "$ref": "./examples/getAllConnectionTypes_Next100.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ConnectionTypeListResult" + "$ref": "#/definitions/ConnectionTypeListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -250,6 +249,139 @@ } } }, - "definitions": {}, + "definitions": { + "FieldDefinition": { + "properties": { + "isEncrypted": { + "type": "boolean", + "description": "Gets or sets the isEncrypted flag of the connection field definition." + }, + "isOptional": { + "type": "boolean", + "description": "Gets or sets the isOptional flag of the connection field definition." + }, + "type": { + "type": "string", + "description": "Gets or sets the type of the connection field definition." + } + }, + "required": [ + "type" + ], + "description": "Definition of the connection fields." + }, + "ConnectionTypeProperties": { + "properties": { + "isGlobal": { + "type": "boolean", + "description": "Gets or sets a Boolean value to indicate if the connection type is global." + }, + "fieldDefinitions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldDefinition" + }, + "readOnly": true, + "description": "Gets the field definitions of the connection type." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Properties of the connection type." + }, + "ConnectionType": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Gets the id of the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the name of the connection type." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "$ref": "#/definitions/ConnectionTypeProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the connection type." + } + }, + "description": "Definition of the connection type." + }, + "ConnectionTypeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectionType" + }, + "description": "Gets or sets a list of connection types." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list connection type operation." + }, + "ConnectionTypeCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the connection type." + }, + "properties": { + "$ref": "#/definitions/ConnectionTypeCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the value of the connection type." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update connection type operation." + }, + "ConnectionTypeCreateOrUpdateProperties": { + "properties": { + "isGlobal": { + "type": "boolean", + "description": "Gets or sets a Boolean value to indicate if the connection type is global." + }, + "fieldDefinitions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/FieldDefinition" + }, + "description": "Gets or sets the field definitions of the connection type." + } + }, + "required": [ + "fieldDefinitions" + ], + "description": "The properties of the create connection type." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/credential.json b/App_Data/SwaggerSpecs/Microsoft.Automation/credential.json index c92d4366..c6ceb1d3 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/credential.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/credential.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/credentials/{credentialName}": { "delete": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Delete a credential": { - "$ref": "../examples/credential/deleteCredentialExisting.json" + "$ref": "./examples/deleteCredentialExisting.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "credentialName", @@ -49,10 +66,10 @@ "description": "The name of credential." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -62,7 +79,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -78,19 +95,15 @@ }, "x-ms-examples": { "Get a credential": { - "$ref": "../examples/credential/getCredential.json" + "$ref": "./examples/getCredential.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "credentialName", @@ -100,23 +113,23 @@ "description": "The name of credential." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Credential" + "$ref": "#/definitions/Credential" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -132,19 +145,15 @@ }, "x-ms-examples": { "Create a credential": { - "$ref": "../examples/credential/createOrUpdateCredential.json" + "$ref": "./examples/createOrUpdateCredential.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "credentialName", @@ -158,34 +167,34 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/CredentialCreateOrUpdateParameters" + "$ref": "#/definitions/CredentialCreateOrUpdateParameters" }, "description": "The parameters supplied to the create or update credential operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Credential" + "$ref": "#/definitions/Credential" } }, "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Credential" + "$ref": "#/definitions/Credential" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -201,19 +210,15 @@ }, "x-ms-examples": { "Update a credential": { - "$ref": "../examples/credential/updateCredential_patch.json" + "$ref": "./examples/updateCredential_patch.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "credentialName", @@ -227,28 +232,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/CredentialUpdateParameters" + "$ref": "#/definitions/CredentialUpdateParameters" }, "description": "The parameters supplied to the Update credential operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Credential" + "$ref": "#/definitions/Credential" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -266,35 +271,31 @@ }, "x-ms-examples": { "List credentials by automation account, first 100": { - "$ref": "../examples/credential/listCredentialsByAutomationAccount.json" + "$ref": "./examples/listCredentialsByAutomationAccount.json" }, "List credentials by automation account, next 100": { - "$ref": "../examples/credential/listCredentialsByAutomationAccount_next100_using_nextLink.json" + "$ref": "./examples/listCredentialsByAutomationAccount_next100_using_nextLink.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/CredentialListResult" + "$ref": "#/definitions/CredentialListResult" } } }, @@ -304,6 +305,136 @@ } } }, - "definitions": {}, + "definitions": { + "CredentialCreateOrUpdateProperties": { + "properties": { + "userName": { + "type": "string", + "description": "Gets or sets the user name of the credential." + }, + "password": { + "type": "string", + "description": "Gets or sets the password of the credential." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the credential." + } + }, + "required": [ + "userName", + "password" + ], + "description": "The properties of the create credential operation." + }, + "CredentialCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the credential." + }, + "properties": { + "$ref": "#/definitions/CredentialCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the credential." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update credential operation." + }, + "CredentialProperties": { + "properties": { + "userName": { + "type": "string", + "readOnly": true, + "description": "Gets the user name of the credential." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of the credential properties" + }, + "Credential": { + "properties": { + "properties": { + "$ref": "#/definitions/CredentialProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the credential." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the credential." + }, + "CredentialListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Credential" + }, + "description": "Gets or sets a list of credentials." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list credential operation." + }, + "CredentialUpdateProperties": { + "properties": { + "userName": { + "type": "string", + "description": "Gets or sets the user name of the credential." + }, + "password": { + "type": "string", + "description": "Gets or sets the password of the credential." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the credential." + } + }, + "description": "The properties of the Update credential" + }, + "CredentialUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the credential." + }, + "properties": { + "$ref": "#/definitions/CredentialUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the variable." + } + }, + "description": "The parameters supplied to the Update credential operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/dscCompilationJob.json b/App_Data/SwaggerSpecs/Microsoft.Automation/dscCompilationJob.json index 84f073f2..d620d7b0 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/dscCompilationJob.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/dscCompilationJob.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,68 +17,82 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{compilationJobName}": { "put": { "tags": [ "DscCompilationJob" ], "operationId": "DscCompilationJob_Create", + "x-ms-long-running-operation": true, "description": "Creates the Dsc compilation job of the configuration.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/dscconfigurationcompilejoboperations" }, "x-ms-examples": { "Create or update a DSC Compilation job": { - "$ref": "../examples/dscCompilationJob/createCompilationJob.json" + "$ref": "./examples/createCompilationJob.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "name": "compilationJobId", + "name": "compilationJobName", "in": "path", "required": true, "type": "string", - "format": "uuid", - "description": "The the DSC configuration Id." + "description": "The DSC configuration Id." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DscCompilationJobCreateParameters" + "$ref": "#/definitions/DscCompilationJobCreateParameters" }, "description": "The parameters supplied to the create compilation job operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/DscCompilationJob" + "$ref": "#/definitions/DscCompilationJob" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -89,43 +106,43 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/dsccompilationjoboperations" }, + "x-ms-examples": { + "Get a DSC Compilation job": { + "$ref": "./examples/getCompilationJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "name": "compilationJobId", + "name": "compilationJobName", "in": "path", "required": true, - "format": "uuid", "type": "string", - "description": "The Dsc configuration compilation job id." + "description": "The DSC configuration Id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscCompilationJob" + "$ref": "#/definitions/DscCompilationJob" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -141,16 +158,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/compilationjoboperations" }, + "x-ms-examples": { + "List DSC Compilation job in Automation Account": { + "$ref": "./examples/listCompilationJobsByAutomationAccount.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "$filter", @@ -160,28 +178,82 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscCompilationJobListResult" + "$ref": "#/definitions/DscCompilationJobListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DscCompilationJob" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/compilationjobs/{jobId}/streams": { + "get": { + "tags": [ + "DscCompilationJob" + ], + "operationId": "DscCompilationJobStream_ListByJob", + "description": "Retrieve all the job streams for the compilation Job.", + "externalDocs": { + "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" + }, + "x-ms-examples": { + "List DSC Compilation job streams": { + "$ref": "./examples/compilationJobStreamList.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobId", + "in": "path", + "required": true, + "type": "string", + "format": "uuid", + "description": "The job id." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobStreamListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } } } }, @@ -195,16 +267,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" }, + "x-ms-examples": { + "Get a DSC Compilation job stream by job stream id": { + "$ref": "./examples/compilationJobStreamByJobStreamId.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "jobId", @@ -222,29 +295,317 @@ "description": "The job stream id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobStream" + "$ref": "#/definitions/JobStream" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } } }, - "definitions": {}, + "definitions": { + "DscCompilationJob": { + "properties": { + "properties": { + "$ref": "#/definitions/DscCompilationJobProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the Dsc Compilation job." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the Dsc Compilation job." + }, + "DscCompilationJobCreateProperties": { + "properties": { + "configuration": { + "$ref": "#/definitions/DscConfigurationAssociationProperty", + "description": "Gets or sets the configuration." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the job." + }, + "incrementNodeConfigurationBuild": { + "type": "boolean", + "description": "If a new build version of NodeConfiguration is required." + } + }, + "required": [ + "configuration" + ], + "description": "The parameters supplied to the create compilation job operation." + }, + "DscCompilationJobProperties": { + "properties": { + "configuration": { + "$ref": "#/definitions/DscConfigurationAssociationProperty", + "description": "Gets or sets the configuration." + }, + "startedBy": { + "type": "string", + "readOnly": true, + "description": "Gets the compilation job started by." + }, + "jobId": { + "type": "string", + "format": "uuid", + "readOnly": true, + "description": "Gets the id of the job.", + "x-nullable": false + }, + "creationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the creation time of the job.", + "x-nullable": false + }, + "provisioningState": { + "$ref": "#/definitions/JobProvisioningStateProperty", + "description": "The current provisioning state of the job." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the runOn which specifies the group name where the job is to be executed." + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the job.", + "enum": [ + "New", + "Activating", + "Running", + "Completed", + "Failed", + "Stopped", + "Blocked", + "Suspended", + "Disconnected", + "Suspending", + "Stopping", + "Resuming", + "Removing" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "statusDetails": { + "type": "string", + "description": "Gets or sets the status details of the job." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the start time of the job.", + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the end time of the job.", + "x-nullable": true + }, + "exception": { + "type": "string", + "readOnly": true, + "description": "Gets the exception of the job." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last modified time of the job.", + "x-nullable": false + }, + "lastStatusModifiedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last status modified time of the job.", + "x-nullable": true + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the job." + } + }, + "description": "Definition of Dsc Compilation job properties." + }, + "DscCompilationJobListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscCompilationJob" + }, + "description": "Gets or sets a list of Dsc Compilation jobs." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list job operation." + }, + "DscCompilationJobCreateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/DscCompilationJobCreateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the list of compilation job properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create compilation job operation." + }, + "DscConfigurationAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the Dsc configuration." + } + }, + "description": "The Dsc configuration property associated with the entity." + }, + "JobStream": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "properties": { + "$ref": "#/definitions/JobStreamProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the id of the job stream." + } + }, + "description": "Definition of the job stream." + }, + "JobStreamListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobStream" + }, + "description": "A list of job streams." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list job stream operation." + }, + "JobStreamProperties": { + "properties": { + "jobStreamId": { + "type": "string", + "description": "Gets or sets the id of the job stream." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time of the job.", + "x-nullable": false + }, + "streamType": { + "type": "string", + "description": "Gets or sets the stream type.", + "enum": [ + "Progress", + "Output", + "Warning", + "Error", + "Debug", + "Verbose", + "Any" + ], + "x-ms-enum": { + "name": "JobStreamType", + "modelAsString": true + } + }, + "streamText": { + "type": "string", + "description": "Gets or sets the stream text." + }, + "summary": { + "type": "string", + "description": "Gets or sets the summary." + }, + "value": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Gets or sets the values of the job stream." + } + }, + "x-ms-client-flatten": true, + "description": "Definition of the job stream." + }, + "JobProvisioningStateProperty": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Failed", + "Succeeded", + "Suspended", + "Processing" + ], + "x-ms-enum": { + "name": "JobProvisioningState", + "modelAsString": true + } + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/dscConfiguration.json b/App_Data/SwaggerSpecs/Microsoft.Automation/dscConfiguration.json index 1366249a..7e911cb5 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/dscConfiguration.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/dscConfiguration.json @@ -2,18 +2,41 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ - "application/json" + "application/json", + "text/plain; charset=utf-8" ], "produces": [ - "application/json" + "application/json", + "text/plain; charset=utf-8" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/configurations/{configurationName}": { "delete": { @@ -27,19 +50,15 @@ }, "x-ms-examples": { "Delete DSC Configuration": { - "$ref": "../examples/dscConfiguration/deleteDscConfiguration.json" + "$ref": "./examples/deleteDscConfiguration.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "configurationName", @@ -49,10 +68,10 @@ "description": "The configuration name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -65,7 +84,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -81,19 +100,15 @@ }, "x-ms-examples": { "Get a DSC Configuration": { - "$ref": "../examples/dscConfiguration/getDscConfiguration.json" + "$ref": "./examples/getDscConfiguration.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "configurationName", @@ -103,23 +118,23 @@ "description": "The configuration name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscConfiguration" + "$ref": "#/definitions/DscConfiguration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -135,19 +150,15 @@ }, "x-ms-examples": { "Create or Update Configuration": { - "$ref": "../examples/dscConfiguration/createOrUpdateDscConfiguration.json" + "$ref": "./examples/createOrUpdateDscConfiguration.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "configurationName", @@ -161,34 +172,92 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DscConfigurationCreateOrUpdateParameters" + "$ref": "#/definitions/DscConfigurationCreateOrUpdateParameters" }, "description": "The create or update parameters for configuration." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscConfiguration" + "$ref": "#/definitions/DscConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/DscConfiguration" + "$ref": "#/definitions/DscConfiguration" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "DscConfiguration" + ], + "operationId": "DscConfiguration_Update", + "description": "Create the configuration identified by configuration name.", + "externalDocs": { + "url": "http://aka.ms/azureautomationsdk/configurationoperations" + }, + "x-ms-examples": { + "Create or Update Configuration": { + "$ref": "./examples/updateDscConfiguration.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The create or update parameters for configuration." + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/DscConfigurationUpdateParameters" + }, + "description": "The create or update parameters for configuration." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DscConfiguration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -206,19 +275,18 @@ }, "x-ms-examples": { "Get DSC Configuration content": { - "$ref": "../examples/dscConfiguration/getDscConfigurationContent.json" + "$ref": "./examples/getDscConfigurationContent.json" } }, + "produces": [ + "text/powershell" + ], "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "configurationName", @@ -228,23 +296,23 @@ "description": "The configuration name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "string" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -262,47 +330,337 @@ }, "x-ms-examples": { "Get DSC Configuration": { - "$ref": "../examples/dscConfiguration/getAllDscConfigurations.json" + "$ref": "./examples/getAllDscConfigurations.json" + }, + "List Paged DSC Configurations with no filter": { + "$ref": "./examples/getPagedDscConfigurationsWithNoFilter.json" + }, + "List Paged DSC Configurations with name filter": { + "$ref": "./examples/getPagedlDscConfigurationsWithNameFilter.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, "type": "string", - "description": "The automation account name." + "description": "The filter to apply on the operation." + }, + { + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to skip." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to take." }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "name": "$inlinecount", + "in": "query", + "required": false, + "type": "string", + "description": "Return total rows." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscConfigurationListResult" + "$ref": "#/definitions/DscConfigurationListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/DscConfiguration" } } }, - "definitions": {}, + "definitions": { + "ContentHash": { + "properties": { + "algorithm": { + "type": "string", + "description": "Gets or sets the content hash algorithm used to hash the content." + }, + "value": { + "type": "string", + "description": "Gets or sets expected hash value of the content." + } + }, + "required": [ + "algorithm", + "value" + ], + "description": "Definition of the runbook property type." + }, + "ContentSource": { + "properties": { + "hash": { + "$ref": "#/definitions/ContentHash", + "description": "Gets or sets the hash." + }, + "type": { + "type": "string", + "description": "Gets or sets the content source type.", + "enum": [ + "embeddedContent", + "uri" + ], + "x-ms-enum": { + "name": "ContentSourceType", + "modelAsString": true + } + }, + "value": { + "type": "string", + "description": "Gets or sets the value of the content. This is based on the content source type." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the content." + } + }, + "description": "Definition of the content source." + }, + "DscConfigurationCreateOrUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/DscConfigurationCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets configuration create or update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create or update configuration operation." + }, + "DscConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscConfiguration" + }, + "description": "Gets or sets a list of configurations." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + }, + "totalCount": { + "type": "integer", + "description": "Gets the total number of configurations matching filter criteria." + } + }, + "description": "The response model for the list configuration operation." + }, + "DscConfigurationCreateOrUpdateProperties": { + "properties": { + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "logProgress": { + "type": "boolean", + "description": "Gets or sets progress log option." + }, + "source": { + "$ref": "#/definitions/ContentSource", + "description": "Gets or sets the source." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DscConfigurationParameter" + }, + "description": "Gets or sets the configuration parameters." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the configuration." + } + }, + "required": [ + "source" + ], + "description": "The properties to create or update configuration." + }, + "DscConfigurationParameter": { + "properties": { + "type": { + "type": "string", + "description": "Gets or sets the type of the parameter." + }, + "isMandatory": { + "type": "boolean", + "description": "Gets or sets a Boolean value to indicate whether the parameter is mandatory or not." + }, + "position": { + "type": "integer", + "format": "int32", + "description": "Get or sets the position of the parameter." + }, + "defaultValue": { + "type": "string", + "description": "Gets or sets the default value of parameter." + } + }, + "description": "Definition of the configuration parameter type." + }, + "DscConfigurationUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/DscConfigurationCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets configuration create or update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "description": "The parameters supplied to the create or update configuration operation." + }, + "DscConfigurationProperties": { + "properties": { + "provisioningState": { + "type": "string", + "description": "Gets or sets the provisioning state of the configuration.", + "enum": [ + "Succeeded" + ], + "x-ms-enum": { + "name": "DscConfigurationProvisioningState", + "modelAsString": false + } + }, + "jobCount": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the job count of the configuration." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/DscConfigurationParameter" + }, + "description": "Gets or sets the configuration parameters." + }, + "source": { + "$ref": "#/definitions/ContentSource", + "description": "Gets or sets the source." + }, + "state": { + "type": "string", + "description": "Gets or sets the state of the configuration.", + "enum": [ + "New", + "Edit", + "Published" + ], + "x-ms-enum": { + "name": "DscConfigurationState", + "modelAsString": true + } + }, + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "nodeConfigurationCount": { + "type": "integer", + "description": "Gets the number of compiled node configurations.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of the configuration property type." + }, + "DscConfiguration": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DscConfigurationProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the configuration properties." + }, + "etag": { + "type": "string", + "description": "Gets or sets the etag of the resource." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the configuration type." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/dscNode.json b/App_Data/SwaggerSpecs/Microsoft.Automation/dscNode.json index 68c621bd..62b52633 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/dscNode.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/dscNode.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -12,8 +15,27 @@ "application/json" ], "produces": [ - "application/json" + "application/json", + "text/plain" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/agentRegistrationInformation": { "get": { @@ -25,35 +47,36 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/agentregistrationoperations" }, + "x-ms-examples": { + "Get the agent registration information": { + "$ref": "./examples/getAgentRegistration.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AgentRegistration" + "$ref": "#/definitions/AgentRegistration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -66,47 +89,48 @@ ], "operationId": "AgentRegistrationInformation_RegenerateKey", "description": "Regenerate a primary or secondary agent registration key", + "x-ms-examples": { + "Regenerate registration key": { + "$ref": "./examples/regenerateAgentRegistrationKey.json" + } + }, "externalDocs": { "url": "http://aka.ms/azureautomationsdk/agentregistrationoperations" }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/AgentRegistrationRegenerateKeyParameter" + "$ref": "#/definitions/AgentRegistrationRegenerateKeyParameter" }, "description": "The name of the agent registration key to be regenerated" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/AgentRegistration" + "$ref": "#/definitions/AgentRegistration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -119,19 +143,20 @@ ], "operationId": "DscNode_Delete", "description": "Delete the dsc node identified by node id.", + "x-ms-examples": { + "Delete a DSC Node": { + "$ref": "./examples/deleteDscNode.json" + } + }, "externalDocs": { "url": "http://aka.ms/azureautomationsdk/dscnodeoperations" }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "Automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -141,23 +166,20 @@ "description": "The node id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/DscNode" - } + "description": "OK" }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -173,19 +195,15 @@ }, "x-ms-examples": { "Get a node": { - "$ref": "../examples/dscNodes/getDscNode.json" + "$ref": "./examples/getDscNode.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -195,23 +213,23 @@ "description": "The node id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNode" + "$ref": "#/definitions/DscNode" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -227,19 +245,15 @@ }, "x-ms-examples": { "Update a node": { - "$ref": "../examples/dscNodes/updateDscNode.json" + "$ref": "./examples/updateDscNode.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -249,32 +263,32 @@ "description": "Parameters supplied to the update dsc node." }, { - "name": "parameters", + "name": "dscNodeUpdateParameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DscNodeUpdateParameters" + "$ref": "#/definitions/DscNodeUpdateParameters" }, "description": "Parameters supplied to the update dsc node." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNode" + "$ref": "#/definitions/DscNode" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -292,19 +306,36 @@ }, "x-ms-examples": { "List DSC nodes by Automation Account": { - "$ref": "../examples/dscNodes/listAllDscNodesByAutomationAccount.json" + "$ref": "./examples/listAllDscNodesByAutomationAccount.json" + }, + "List Paged DSC nodes by Automation Account with no filters": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithNoFilter.json" + }, + "List Paged DSC nodes by Automation Account with name filter": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithNameFilter.json" + }, + "List Paged DSC nodes by Automation Account with node status filter": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithStatusFilter.json" + }, + "List Paged DSC nodes by Automation Account with Node Configuration Custom filter": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithNodeConfigurationCustomFilter.json" + }, + "List Paged DSC nodes by Automation Account where Node Configurations are not assigned filter": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithNodeConfigurationNotAssignedFilter.json" + }, + "List Paged DSC nodes by Automation Account with version filter": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithVersionFilter.json" + }, + "List Paged DSC nodes with filters separated by 'and'": { + "$ref": "./examples/listPagedDscNodesByAutomationAccountWithCompositeFilter.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "$filter", @@ -314,29 +345,51 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to skip." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to take." + }, + { + "name": "$inlinecount", + "in": "query", + "required": false, + "type": "string", + "description": "Return total rows." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeListResult" + "$ref": "#/definitions/DscNodeListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/DscNode" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports": { @@ -351,19 +404,18 @@ }, "x-ms-examples": { "List DSC reports by node id.": { - "$ref": "../examples/dscNodes/listDscNodeReportsByNode.json" + "$ref": "./examples/listDscNodeReportsByNode.json" + }, + "List Paged DSC reports by node id.": { + "$ref": "./examples/listPagedDscNodeReportsByNode.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -380,29 +432,30 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeReportListResult" + "$ref": "#/definitions/DscNodeReportListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/DscNodeReport" } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodes/{nodeId}/reports/{reportId}": { @@ -417,19 +470,15 @@ }, "x-ms-examples": { "Get Dsc node report data by node id and report id. ": { - "$ref": "../examples/dscNodes/getDscNodeReport.json" + "$ref": "./examples/getDscNodeReport.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -446,23 +495,23 @@ "description": "The report id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeReport" + "$ref": "#/definitions/DscNodeReport" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -479,20 +528,16 @@ "url": "http://aka.ms/azureautomationsdk/dscnodereportoperations" }, "x-ms-examples": { - "List DSC reports by node id.": { - "$ref": "../examples/dscNodes/listDscNodeReportsByNode.json" + "Get content of node": { + "$ref": "./examples/getDscNodeReportContent.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeId", @@ -509,29 +554,453 @@ "description": "The report id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "object" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } } }, - "definitions": {}, + "definitions": { + "DscNodeReportListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscNodeReport" + }, + "description": "Gets or sets a list of dsc node reports." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list dsc nodes operation." + }, + "DscReportResourceNavigation": { + "properties": { + "resourceId": { + "type": "string", + "description": "Gets or sets the ID of the resource to navigate to." + } + }, + "description": "Navigation for DSC Report Resource." + }, + "DscMetaConfiguration": { + "properties": { + "configurationModeFrequencyMins": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the ConfigurationModeFrequencyMins value of the meta configuration." + }, + "rebootNodeIfNeeded": { + "type": "boolean", + "description": "Gets or sets the RebootNodeIfNeeded value of the meta configuration." + }, + "configurationMode": { + "type": "string", + "description": "Gets or sets the ConfigurationMode value of the meta configuration." + }, + "actionAfterReboot": { + "type": "string", + "description": "Gets or sets the ActionAfterReboot value of the meta configuration." + }, + "certificateId": { + "type": "string", + "description": "Gets or sets the CertificateId value of the meta configuration." + }, + "refreshFrequencyMins": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the RefreshFrequencyMins value of the meta configuration." + }, + "allowModuleOverwrite": { + "type": "boolean", + "description": "Gets or sets the AllowModuleOverwrite value of the meta configuration." + } + }, + "description": "Definition of the DSC Meta Configuration." + }, + "DscNodeReport": { + "properties": { + "endTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the end time of the node report.", + "x-nullable": true + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the lastModifiedTime of the node report.", + "x-nullable": false + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the start time of the node report.", + "x-nullable": true + }, + "type": { + "type": "string", + "description": "Gets or sets the type of the node report." + }, + "reportId": { + "type": "string", + "description": "Gets or sets the id of the node report." + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the node report." + }, + "refreshMode": { + "type": "string", + "description": "Gets or sets the refreshMode of the node report." + }, + "rebootRequested": { + "type": "string", + "description": "Gets or sets the rebootRequested of the node report." + }, + "reportFormatVersion": { + "type": "string", + "description": "Gets or sets the reportFormatVersion of the node report." + }, + "configurationVersion": { + "type": "string", + "description": "Gets or sets the configurationVersion of the node report." + }, + "id": { + "type": "string", + "description": "Gets or sets the id." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/DscReportError" + }, + "description": "Gets or sets the errors for the node report." + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/DscReportResource" + }, + "description": "Gets or sets the resource for the node report." + }, + "metaConfiguration": { + "$ref": "#/definitions/DscMetaConfiguration", + "description": "Gets or sets the metaConfiguration of the node at the time of the report." + }, + "hostName": { + "type": "string", + "description": "Gets or sets the hostname of the node that sent the report." + }, + "iPV4Addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the IPv4 address of the node that sent the report." + }, + "iPV6Addresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the IPv6 address of the node that sent the report." + }, + "numberOfResources": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the number of resource in the node report." + }, + "rawErrors": { + "type": "string", + "description": "Gets or sets the unparsed errors for the node report." + } + }, + "description": "Definition of the dsc node report type." + }, + "DscReportResource": { + "properties": { + "resourceId": { + "type": "string", + "description": "Gets or sets the ID of the resource." + }, + "sourceInfo": { + "type": "string", + "description": "Gets or sets the source info of the resource." + }, + "dependsOn": { + "type": "array", + "items": { + "$ref": "#/definitions/DscReportResourceNavigation" + }, + "description": "Gets or sets the Resource Navigation values for resources the resource depends on." + }, + "moduleName": { + "type": "string", + "description": "Gets or sets the module name of the resource." + }, + "moduleVersion": { + "type": "string", + "description": "Gets or sets the module version of the resource." + }, + "resourceName": { + "type": "string", + "description": "Gets or sets the name of the resource." + }, + "error": { + "type": "string", + "description": "Gets or sets the error of the resource." + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the resource." + }, + "durationInSeconds": { + "type": "number", + "format": "double", + "description": "Gets or sets the duration in seconds for the resource." + }, + "startDate": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the start date of the resource.", + "x-nullable": false + } + }, + "description": "Definition of the DSC Report Resource." + }, + "DscReportError": { + "properties": { + "errorSource": { + "type": "string", + "description": "Gets or sets the source of the error." + }, + "resourceId": { + "type": "string", + "description": "Gets or sets the resource ID which generated the error." + }, + "errorCode": { + "type": "string", + "description": "Gets or sets the error code." + }, + "errorMessage": { + "type": "string", + "description": "Gets or sets the error message." + }, + "locale": { + "type": "string", + "description": "Gets or sets the locale of the error." + }, + "errorDetails": { + "type": "string", + "description": "Gets or sets the error details." + } + }, + "description": "Definition of the dsc node report error type." + }, + "AgentRegistration": { + "properties": { + "dscMetaConfiguration": { + "type": "string", + "description": "Gets or sets the dsc meta configuration." + }, + "endpoint": { + "type": "string", + "description": "Gets or sets the dsc server endpoint." + }, + "keys": { + "$ref": "#/definitions/AgentRegistrationKeys", + "description": "Gets or sets the agent registration keys." + }, + "id": { + "type": "string", + "description": "Gets or sets the id." + } + }, + "description": "Definition of the agent registration information type." + }, + "AgentRegistrationKeys": { + "properties": { + "primary": { + "type": "string", + "description": "Gets or sets the primary key." + }, + "secondary": { + "type": "string", + "description": "Gets or sets the secondary key." + } + }, + "description": "Definition of the agent registration keys." + }, + "DscNode": { + "description": "Definition of a DscNode", + "properties": { + "properties": { + "$ref": "#/definitions/DscNodeProperties", + "x-ms-client-flatten": true, + "description": "The properties of a DscNode." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ] + }, + "DscNodeProperties": { + "description": "The properties of a DscNode", + "properties": { + "lastSeen": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last seen time of the node.", + "x-nullable": false + }, + "registrationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the registration time of the node.", + "x-nullable": false + }, + "ip": { + "type": "string", + "description": "Gets or sets the ip of the node." + }, + "accountId": { + "type": "string", + "description": "Gets or sets the account id of the node." + }, + "nodeConfiguration": { + "x-nullable": true, + "x-ms-client-flatten": true, + "$ref": "#/definitions/DscNodeConfigurationAssociationProperty", + "description": "Gets or sets the configuration of the node." + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the node." + }, + "nodeId": { + "type": "string", + "description": "Gets or sets the node id." + }, + "etag": { + "type": "string", + "description": "Gets or sets the etag of the resource." + }, + "totalCount": { + "type": "integer", + "description": "Gets the total number of records matching filter criteria." + }, + "extensionHandler": { + "type": "array", + "description": "Gets or sets the list of extensionHandler properties for a Node.", + "items": { + "$ref": "#/definitions/DscNodeExtensionHandlerAssociationProperty" + } + } + } + }, + "DscNodeExtensionHandlerAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the extension handler." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the extension handler." + } + }, + "description": "The dsc extensionHandler property associated with the node" + }, + "DscNodeConfigurationAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the dsc node configuration." + } + }, + "description": "The dsc node configuration property associated with the entity." + }, + "AgentRegistrationRegenerateKeyParameter": { + "properties": { + "keyName": { + "type": "string", + "description": "Gets or sets the agent registration key name - primary or secondary.", + "enum": [ + "primary", + "secondary" + ], + "x-ms-enum": { + "name": "AgentRegistrationKeyName", + "modelAsString": true + } + } + }, + "required": [ + "keyName" + ], + "description": "The parameters supplied to the regenerate keys operation." + }, + "DscNodeUpdateParameters": { + "properties": { + "nodeId": { + "type": "string", + "description": "Gets or sets the id of the dsc node." + }, + "properties": { + "properties": { + "nodeConfiguration": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DscNodeConfigurationAssociationProperty", + "description": "Gets or sets the configuration of the node." + } + } + } + }, + "description": "The parameters supplied to the update dsc node operation." + }, + "DscNodeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscNode" + }, + "description": "Gets or sets a list of dsc nodes." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + }, + "totalCount": { + "type": "integer", + "description": "Gets the total number of nodes matching filter criteria." + } + }, + "description": "The response model for the list dsc nodes operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/dscNodeConfiguration.json b/App_Data/SwaggerSpecs/Microsoft.Automation/dscNodeConfiguration.json index b9d57301..1dcc1c6d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/dscNodeConfiguration.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/dscNodeConfiguration.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/nodeConfigurations/{nodeConfigurationName}": { "delete": { @@ -27,19 +48,18 @@ }, "x-ms-examples": { "Delete a DSC node configuration": { - "$ref": "../examples/dscNodeConfiguration/deleteDscNodeConfiguration.json" + "$ref": "./examples/deleteDscNodeConfiguration.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeConfigurationName", @@ -49,10 +69,7 @@ "description": "The Dsc node configuration name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -62,7 +79,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -78,19 +95,18 @@ }, "x-ms-examples": { "Get a DSC node configuration": { - "$ref": "../examples/dscNodeConfiguration/getDscNodeConfiguration.json" + "$ref": "./examples/getDscNodeConfiguration.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeConfigurationName", @@ -100,23 +116,20 @@ "description": "The Dsc node configuration name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeConfiguration" + "$ref": "#/definitions/DscNodeConfiguration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -126,61 +139,60 @@ "DscNodeConfiguration" ], "operationId": "DscNodeConfiguration_CreateOrUpdate", + "x-ms-long-running-operation": true, "description": "Create the node configuration identified by node configuration name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/dscnodeconfigurations" }, + "x-ms-examples": { + "Create node configuration": { + "$ref": "./examples/createOrUpdateDscNodeConfiguration.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "nodeConfigurationName", "in": "path", "required": true, "type": "string", - "description": "The create or update parameters for configuration." + "description": "The Dsc node configuration name." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/DscNodeConfigurationCreateOrUpdateParameters" + "$ref": "#/definitions/DscNodeConfigurationCreateOrUpdateParameters" }, "description": "The create or update parameters for configuration." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/DscNodeConfiguration" - } + "description": "OK" }, "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeConfiguration" + "$ref": "#/definitions/DscNodeConfiguration" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -198,19 +210,27 @@ }, "x-ms-examples": { "List DSC node configurations by Automation Account": { - "$ref": "../examples/dscNodeConfiguration/listDscNodeConfigurations.json" + "$ref": "./examples/listDscNodeConfigurations.json" + }, + "List Paged DSC node configurations by Automation Account with no filter": { + "$ref": "./examples/listPagedDscNodeConfigurationsWithNoFilter.json" + }, + "List Paged DSC node configurations by Automation Account with name filter": { + "$ref": "./examples/listPagedDscNodeConfigurationsWithNameFilter.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { "name": "$filter", @@ -220,32 +240,229 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "name": "$skip", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to skip." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "description": "The number of rows to take." }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "name": "$inlinecount", + "in": "query", + "required": false, + "type": "string", + "description": "Return total rows." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/DscNodeConfigurationListResult" + "$ref": "#/definitions/DscNodeConfigurationListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DscNodeConfiguration" + } + } + }, + "definitions": { + "ContentHash": { + "properties": { + "algorithm": { + "type": "string", + "description": "Gets or sets the content hash algorithm used to hash the content." + }, + "value": { + "type": "string", + "description": "Gets or sets expected hash value of the content." + } + }, + "required": [ + "algorithm", + "value" + ], + "description": "Definition of the runbook property type." + }, + "ContentSource": { + "properties": { + "hash": { + "$ref": "#/definitions/ContentHash", + "description": "Gets or sets the hash." + }, + "type": { + "type": "string", + "description": "Gets or sets the content source type.", + "enum": [ + "embeddedContent", + "uri" + ], + "x-ms-enum": { + "name": "ContentSourceType", + "modelAsString": true + } + }, + "value": { + "type": "string", + "description": "Gets or sets the value of the content. This is based on the content source type." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the content." + } + }, + "description": "Definition of the content source." + }, + "DscNodeConfiguration": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DscNodeConfigurationProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the configuration properties." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the dsc node configuration." + }, + "DscNodeConfigurationProperties": { + "description": "Properties for the DscNodeConfiguration", + "properties": { + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets creation time.", + "x-nullable": false + }, + "configuration": { + "$ref": "#/definitions/DscConfigurationAssociationProperty", + "description": "Gets or sets the configuration of the node." + }, + "source": { + "type": "string", + "description": "Source of node configuration." + }, + "nodeCount": { + "type": "integer", + "format": "int64", + "description": "Number of nodes with this node configuration assigned" + }, + "incrementNodeConfigurationBuild": { + "type": "boolean", + "description": "If a new build version of NodeConfiguration is required." } } + }, + "DscNodeConfigurationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DscNodeConfiguration" + }, + "description": "Gets or sets a list of Dsc node configurations." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + }, + "totalCount": { + "type": "integer", + "description": "Gets or sets the total rows in query." + } + }, + "description": "The response model for the list job operation." + }, + "DscNodeExtensionHandlerAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the extension handler." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the extension handler." + } + }, + "description": "The dsc extensionHandler property associated with the node" + }, + "DscNodeConfigurationCreateOrUpdateParameters": { + "description": "The parameters supplied to the create or update node configuration operation.", + "properties": { + "properties": { + "$ref": "#/definitions/DscNodeConfigurationCreateOrUpdateParametersProperties", + "x-ms-client-flatten": true, + "description": "Node configuration properties" + }, + "name": { + "type": "string", + "description": "Name of the node configuration." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + } + }, + "DscNodeConfigurationCreateOrUpdateParametersProperties": { + "properties": { + "source": { + "$ref": "#/definitions/ContentSource", + "description": "Gets or sets the source." + }, + "configuration": { + "$ref": "#/definitions/DscConfigurationAssociationProperty", + "description": "Gets or sets the configuration of the node." + }, + "incrementNodeConfigurationBuild": { + "type": "boolean", + "description": "If a new build version of NodeConfiguration is required." + } + }, + "required": [ + "source", + "configuration" + ], + "description": "The parameter properties supplied to the create or update node configuration operation." + }, + "DscConfigurationAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the Dsc configuration." + } + }, + "description": "The Dsc configuration property associated with the entity." } }, - "definitions": {}, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/hybridRunbookWorkerGroup.json b/App_Data/SwaggerSpecs/Microsoft.Automation/hybridRunbookWorkerGroup.json index 810d1a60..47a98c4a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/hybridRunbookWorkerGroup.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/hybridRunbookWorkerGroup.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2021-06-22", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/hybridRunbookWorkerGroups/{hybridRunbookWorkerGroupName}": { "delete": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Delete a hybrid worker group": { - "$ref": "../examples/hybridRunbookWorkerGroup/deleteHybridRunbookWorkerGroup.json" + "$ref": "./examples/deleteHybridRunbookWorkerGroup.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "Automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "hybridRunbookWorkerGroupName", @@ -49,10 +66,10 @@ "description": "The hybrid runbook worker group name" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -62,7 +79,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -78,19 +95,65 @@ }, "x-ms-examples": { "Get a hybrid worker group": { - "$ref": "../examples/hybridRunbookWorkerGroup/hybridRunbookWorkerGroupGet.json" + "$ref": "./examples/getHybridRunbookWorkerGroup.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "hybridRunbookWorkerGroupName", "in": "path", "required": true, "type": "string", - "description": "The automation account name." + "description": "The hybrid runbook worker group name" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HybridRunbookWorkerGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "HybridRunbookWorkerGroup" + ], + "operationId": "HybridRunbookWorkerGroup_Create", + "description": "Create a hybrid runbook worker group.", + "externalDocs": { + "url": "http://aka.ms/azureautomationsdk/hybridrunbookworkergroupoperations" + }, + "x-ms-examples": { + "Create a hybrid worker group": { + "$ref": "./examples/putHybridRunbookWorkerGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "hybridRunbookWorkerGroupName", @@ -100,23 +163,32 @@ "description": "The hybrid runbook worker group name" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "name": "HybridRunbookWorkerGroupCreationParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HybridRunbookWorkerGroupCreateOrUpdateParameters" + }, + "description": "The create or update parameters for hybrid runbook worker group." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/HybridRunbookWorkerGroup" + "$ref": "#/definitions/HybridRunbookWorkerGroup" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -130,16 +202,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/hybridrunbookworkergroupoperations" }, + "x-ms-examples": { + "Update hybrid worker group": { + "$ref": "./examples/updateHybridRunbookWorkerGroup.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "hybridRunbookWorkerGroupName", @@ -153,28 +226,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/HybridRunbookWorkerGroupUpdateParameters" + "$ref": "#/definitions/HybridRunbookWorkerGroupCreateOrUpdateParameters" }, "description": "The hybrid runbook worker group" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/HybridRunbookWorkerGroup" + "$ref": "#/definitions/HybridRunbookWorkerGroup" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -192,47 +265,168 @@ }, "x-ms-examples": { "List hybrid worker groups by Automation Account": { - "$ref": "../examples/hybridRunbookWorkerGroup/hybridRunbookWorkerGroupList.json" + "$ref": "./examples/listHybridRunbookWorkerGroup.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, "type": "string", - "description": "The automation account name." + "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/HybridRunbookWorkerGroupsListResult" + "$ref": "#/definitions/HybridRunbookWorkerGroupsListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/HybridRunbookWorkerGroup" } } }, - "definitions": {}, + "definitions": { + "RunAsCredentialAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the credential." + } + }, + "description": "Definition of RunAs credential to use for hybrid worker." + }, + "HybridRunbookWorkerLegacy": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the worker machine name." + }, + "ip": { + "type": "string", + "description": "Gets or sets the assigned machine IP address." + }, + "registrationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the registration time of the worker machine.", + "x-nullable": false + }, + "lastSeenDateTime": { + "type": "string", + "format": "date-time", + "description": "Last Heartbeat from the Worker", + "x-nullable": false + } + }, + "description": "Definition of hybrid runbook worker Legacy." + }, + "HybridRunbookWorkerGroup": { + "x-ms-azure-resource": true, + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "name": { + "type": "string", + "description": "Gets or sets the name of the group." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource." + }, + "hybridRunbookWorkers": { + "type": "array", + "items": { + "$ref": "#/definitions/HybridRunbookWorkerLegacy" + }, + "description": "Gets or sets the list of hybrid runbook workers." + }, + "credential": { + "$ref": "#/definitions/RunAsCredentialAssociationProperty", + "description": "Sets the credential of a worker group." + }, + "groupType": { + "type": "string", + "description": "Type of the HybridWorkerGroup.", + "enum": [ + "User", + "System" + ], + "x-ms-enum": { + "name": "GroupTypeEnum", + "modelAsString": true + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "Resource system metadata." + } + }, + "description": "Definition of hybrid runbook worker group." + }, + "HybridRunbookWorkerGroupsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HybridRunbookWorkerGroup" + }, + "description": "Gets or sets a list of hybrid runbook worker groups." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list hybrid runbook worker groups." + }, + "HybridRunbookWorkerGroupUpdateParameters": { + "properties": { + "credential": { + "$ref": "#/definitions/RunAsCredentialAssociationProperty", + "description": "Sets the credential of a worker group." + } + }, + "description": "Parameters supplied to the update operation." + }, + "HybridRunbookWorkerGroupCreateOrUpdateParameters": { + "type": "object", + "properties": { + "credential": { + "$ref": "#/definitions/RunAsCredentialAssociationProperty", + "description": "Sets the credential of a worker group." + } + }, + "description": "The parameters supplied to the create or update hybrid runbook worker group operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/job.json b/App_Data/SwaggerSpecs/Microsoft.Automation/job.json index 81c6319b..fea329e2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/job.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/job.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,153 +17,178 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/output": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/output": { "get": { "tags": [ "Job" ], "operationId": "Job_GetOutput", - "description": "Retrieve the job output identified by job id.", + "description": "Retrieve the job output identified by job name.", + "produces": [ + "text/plain" + ], "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, "x-ms-examples": { - "Get Job": { - "$ref": "../examples/job/getJob.json" + "Get Job Output": { + "$ref": "./examples/job/getJobOutput.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The name of the job to be created.", "type": "string", - "description": "The job id." + "required": true, + "in": "path" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "string" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/runbookContent": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/runbookContent": { "get": { "tags": [ "Job" ], "operationId": "Job_GetRunbookContent", - "description": "Retrieve the runbook content of the job identified by job id.", + "description": "Retrieve the runbook content of the job identified by job name.", + "produces": [ + "text/powershell" + ], "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, + "x-ms-examples": { + "Get Job Runbook Content": { + "$ref": "./examples/job/getJobRunbookContent.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The job name.", "type": "string", - "description": "The job id." + "required": true, + "in": "path" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "string" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/suspend": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/suspend": { "post": { "tags": [ "Job" ], "operationId": "Job_Suspend", - "description": "Suspend the job identified by jobId.", + "description": "Suspend the job identified by job name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, "x-ms-examples": { "Suspend job": { - "$ref": "../examples/job/suspendJob.json" + "$ref": "./examples/job/suspendJob.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The job name.", "type": "string", - "format": "uuid", - "description": "The job id." + "required": true, + "in": "path" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { @@ -170,51 +198,49 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/stop": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/stop": { "post": { "tags": [ "Job" ], "operationId": "Job_Stop", - "description": "Stop the job identified by jobId.", + "description": "Stop the job identified by jobName.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, "x-ms-examples": { "Stop job": { - "$ref": "../examples/job/stopJob.json" + "$ref": "./examples/job/stopJob.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "name": "jobName", + "description": "The job name.", "type": "string", - "format": "uuid", - "description": "The job id." + "required": true, + "in": "path" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { @@ -224,59 +250,62 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}": { "get": { "tags": [ "Job" ], "operationId": "Job_Get", - "description": "Retrieve the job identified by job id.", + "description": "Retrieve the job identified by job name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, + "x-ms-examples": { + "Get job": { + "$ref": "./examples/job/getJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The job name.", "type": "string", - "format": "uuid", - "description": "The job id." + "required": true, + "in": "path" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Job" + "$ref": "#/definitions/Job" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -292,55 +321,53 @@ }, "x-ms-examples": { "Create job": { - "$ref": "../examples/job/createJob.json" + "$ref": "./examples/job/createJob.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The job name.", "type": "string", - "format": "uuid", - "description": "The job id." + "required": true, + "in": "path" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/JobCreateParameters" + "$ref": "#/definitions/JobCreateParameters" }, "description": "The parameters supplied to the create job operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Job" + "$ref": "#/definitions/Job" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -358,19 +385,15 @@ }, "x-ms-examples": { "List jobs by automation account": { - "$ref": "../examples/job/listJobsByAutomationAccount.json" + "$ref": "./examples/job/listJobsByAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "$filter", @@ -380,70 +403,72 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobListResult" + "$ref": "#/definitions/JobListResultV2" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/JobCollectionItem" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/resume": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/resume": { "post": { "tags": [ "Job" ], "operationId": "Job_Resume", - "description": "Resume the job identified by jobId.", + "description": "Resume the job identified by jobName.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/joboperations" }, "x-ms-examples": { "Resume job": { - "$ref": "../examples/job/resumeJob.json" + "$ref": "./examples/job/resumeJob.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "name": "jobName", + "description": "The job name.", "type": "string", - "format": "uuid", - "description": "The job id." + "required": true, + "in": "path" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { @@ -453,13 +478,13 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams/{jobStreamId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/streams/{jobStreamId}": { "get": { "tags": [ "JobStream" @@ -469,23 +494,27 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" }, + "x-ms-examples": { + "Get job stream": { + "$ref": "./examples/job/getJobStream.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "jobName", + "description": "The job name.", "type": "string", - "description": "The job id." + "required": true, + "in": "path" }, { "name": "jobStreamId", @@ -495,55 +524,56 @@ "description": "The job stream id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobStream" + "$ref": "#/definitions/JobStream" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobId}/streams": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobs/{jobName}/streams": { "get": { "tags": [ "JobStream" ], "operationId": "JobStream_ListByJob", - "description": "Retrieve a list of jobs streams identified by job id.", + "description": "Retrieve a list of jobs streams identified by job name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" }, + "x-ms-examples": { + "List job streams by job name": { + "$ref": "./examples/job/listJobStreamsByJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "name": "jobId", - "in": "path", - "required": true, + "name": "jobName", + "description": "The job name.", "type": "string", - "description": "The job Id." + "required": true, + "in": "path" }, { "name": "$filter", @@ -553,23 +583,26 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/clientRequestId" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobStreamListResult" + "$ref": "#/definitions/JobStreamListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -579,6 +612,370 @@ } } }, - "definitions": {}, + "definitions": { + "JobStream": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "properties": { + "$ref": "#/definitions/JobStreamProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the id of the job stream." + } + }, + "description": "Definition of the job stream." + }, + "JobStreamProperties": { + "properties": { + "jobStreamId": { + "type": "string", + "description": "Gets or sets the id of the job stream." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time of the job.", + "x-nullable": false + }, + "streamType": { + "type": "string", + "description": "Gets or sets the stream type.", + "enum": [ + "Progress", + "Output", + "Warning", + "Error", + "Debug", + "Verbose", + "Any" + ], + "x-ms-enum": { + "name": "JobStreamType", + "modelAsString": true + } + }, + "streamText": { + "type": "string", + "description": "Gets or sets the stream text." + }, + "summary": { + "type": "string", + "description": "Gets or sets the summary." + }, + "value": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Gets or sets the values of the job stream." + } + }, + "x-ms-client-flatten": true, + "description": "Definition of the job stream." + }, + "JobStreamListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobStream" + }, + "description": "A list of job streams." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list job stream operation." + }, + "Job": { + "description": "Definition of the job.", + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "properties": { + "$ref": "#/definitions/JobProperties", + "x-ms-client-flatten": true, + "description": "The properties of the job." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ] + }, + "JobListResultV2": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobCollectionItem", + "readOnly": true + }, + "description": "List of jobs." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link to the next page." + } + }, + "description": "The response model for the list job operation." + }, + "JobCollectionItem": { + "description": "Job collection item properties.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Job properties.", + "$ref": "#/definitions/JobCollectionItemProperties" + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ] + }, + "JobProperties": { + "properties": { + "runbook": { + "$ref": "#/definitions/RunbookAssociationProperty", + "description": "Gets or sets the runbook." + }, + "startedBy": { + "type": "string", + "description": "Gets or sets the job started by." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the runOn which specifies the group name where the job is to be executed." + }, + "jobId": { + "type": "string", + "format": "uuid", + "description": "Gets or sets the id of the job.", + "x-nullable": false + }, + "creationTime": { + "type": "string", + "format": "date-time", + "x-nullable": false, + "description": "Gets or sets the creation time of the job." + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the job.", + "enum": [ + "New", + "Activating", + "Running", + "Completed", + "Failed", + "Stopped", + "Blocked", + "Suspended", + "Disconnected", + "Suspending", + "Stopping", + "Resuming", + "Removing" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "statusDetails": { + "type": "string", + "description": "Gets or sets the status details of the job." + }, + "startTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "description": "Gets or sets the start time of the job." + }, + "endTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "description": "Gets or sets the end time of the job." + }, + "exception": { + "type": "string", + "description": "Gets or sets the exception of the job." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "description": "Gets or sets the last modified time of the job." + }, + "lastStatusModifiedTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "description": "Gets or sets the last status modified time of the job." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the job." + }, + "provisioningState": { + "$ref": "#/definitions/JobProvisioningStateProperty", + "description": "The current provisioning state of the job." + } + }, + "description": "Definition of job properties." + }, + "RunbookAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the runbook." + } + }, + "description": "The runbook property associated with the entity." + }, + "JobCreateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/JobCreateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the list of job properties." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create job operation." + }, + "JobCollectionItemProperties": { + "description": "Job collection item properties.", + "properties": { + "runbook": { + "$ref": "#/definitions/RunbookAssociationProperty", + "readOnly": true, + "description": "The runbook association." + }, + "jobId": { + "type": "string", + "format": "uuid", + "readOnly": true, + "description": "The id of the job.", + "x-nullable": false + }, + "creationTime": { + "type": "string", + "format": "date-time", + "x-nullable": false, + "readOnly": true, + "description": "The creation time of the job." + }, + "status": { + "type": "string", + "readOnly": true, + "description": "The status of the job.", + "enum": [ + "New", + "Activating", + "Running", + "Completed", + "Failed", + "Stopped", + "Blocked", + "Suspended", + "Disconnected", + "Suspending", + "Stopping", + "Resuming", + "Removing" + ], + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": true + } + }, + "startTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true, + "description": "The start time of the job." + }, + "endTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true, + "description": "The end time of the job." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "x-nullable": true, + "readOnly": true, + "description": "The last modified time of the job." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of a resource.", + "readOnly": true + }, + "runOn": { + "type": "string", + "description": "Specifies the runOn group name where the job was executed." + } + } + }, + "JobCreateProperties": { + "properties": { + "runbook": { + "$ref": "#/definitions/RunbookAssociationProperty", + "description": "Gets or sets the runbook." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the job." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the runOn which specifies the group name where the job is to be executed." + } + } + }, + "JobProvisioningStateProperty": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the resource.", + "enum": [ + "Failed", + "Succeeded", + "Suspended", + "Processing" + ], + "x-ms-enum": { + "name": "JobProvisioningState", + "modelAsString": true + } + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/jobSchedule.json b/App_Data/SwaggerSpecs/Microsoft.Automation/jobSchedule.json index 07c4d685..95975561 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/jobSchedule.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/jobSchedule.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/jobSchedules/{jobScheduleId}": { "delete": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Delete a job schedule": { - "$ref": "../examples/jobSchedule/deleteJobSchedule.json" + "$ref": "./examples/deleteJobSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "jobScheduleId", @@ -50,10 +67,10 @@ "description": "The job schedule name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -63,7 +80,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -79,19 +96,15 @@ }, "x-ms-examples": { "Get a job schedule": { - "$ref": "../examples/jobSchedule/getJobSchedule.json" + "$ref": "./examples/getJobSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "jobScheduleId", @@ -102,23 +115,23 @@ "description": "The job schedule name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobSchedule" + "$ref": "#/definitions/JobSchedule" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -134,19 +147,15 @@ }, "x-ms-examples": { "Create a job schedule": { - "$ref": "../examples/jobSchedule/createJobSchedule.json" + "$ref": "./examples/createJobSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "jobScheduleId", @@ -161,28 +170,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/JobScheduleCreateParameters" + "$ref": "#/definitions/JobScheduleCreateParameters" }, "description": "The parameters supplied to the create job schedule operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/JobSchedule" + "$ref": "#/definitions/JobSchedule" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -200,47 +209,180 @@ }, "x-ms-examples": { "List all job schedules by automation account": { - "$ref": "../examples/jobSchedule/listAllJobSchedulesByAutomationAccount.json" + "$ref": "./examples/listAllJobSchedulesByAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, "type": "string", - "description": "The automation account name." + "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobScheduleListResult" + "$ref": "#/definitions/JobScheduleListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/JobSchedule" } } }, - "definitions": {}, + "definitions": { + "JobScheduleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobSchedule" + }, + "description": "Gets or sets a list of job schedules." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list job schedule operation." + }, + "JobSchedule": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Gets the id of the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the name of the variable." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Resource type" + }, + "properties": { + "$ref": "#/definitions/JobScheduleProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the job schedule." + } + }, + "description": "Definition of the job schedule." + }, + "ScheduleAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the Schedule." + } + }, + "description": "The schedule property associated with the entity." + }, + "RunbookAssociationProperty": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the runbook." + } + }, + "description": "The runbook property associated with the entity." + }, + "JobScheduleProperties": { + "properties": { + "jobScheduleId": { + "type": "string", + "description": "Gets or sets the id of job schedule." + }, + "schedule": { + "$ref": "#/definitions/ScheduleAssociationProperty", + "description": "Gets or sets the schedule." + }, + "runbook": { + "$ref": "#/definitions/RunbookAssociationProperty", + "description": "Gets or sets the runbook." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the hybrid worker group that the scheduled job should run on." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the job schedule." + } + }, + "description": "Definition of job schedule parameters." + }, + "JobScheduleCreateProperties": { + "properties": { + "schedule": { + "$ref": "#/definitions/ScheduleAssociationProperty", + "description": "Gets or sets the schedule." + }, + "runbook": { + "$ref": "#/definitions/RunbookAssociationProperty", + "description": "Gets or sets the runbook." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the hybrid worker group that the scheduled job should run on." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of job properties." + } + }, + "required": [ + "schedule", + "runbook" + ], + "description": "The parameters supplied to the create job schedule operation." + }, + "JobScheduleCreateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/JobScheduleCreateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the list of job schedule properties." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create job schedule operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/module.json b/App_Data/SwaggerSpecs/Microsoft.Automation/module.json index 9cd20a44..60d442f5 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/module.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/module.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/modules/{moduleName}/activities/{activityName}": { "get": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Get Activity in a module": { - "$ref": "../examples/module/getActivityInAModule.json" + "$ref": "./examples/getActivityInAModule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -56,23 +73,23 @@ "description": "The name of activity." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Activity" + "$ref": "#/definitions/Activity" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -90,19 +107,15 @@ }, "x-ms-examples": { "List activities by a module": { - "$ref": "../examples/module/listActivitiesByModule.json" + "$ref": "./examples/listActivitiesByModule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -112,23 +125,23 @@ "description": "The name of module." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ActivityListResult" + "$ref": "#/definitions/ActivityListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -149,19 +162,15 @@ }, "x-ms-examples": { "Delete a module": { - "$ref": "../examples/module/deleteModule.json" + "$ref": "./examples/deleteModule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -171,10 +180,10 @@ "description": "The module name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -184,7 +193,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -200,19 +209,15 @@ }, "x-ms-examples": { "Get a module": { - "$ref": "../examples/module/getModule.json" + "$ref": "./examples/getModule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -222,23 +227,23 @@ "description": "The module name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Module" + "$ref": "#/definitions/Module" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -254,19 +259,15 @@ }, "x-ms-examples": { "Create or update a module": { - "$ref": "../examples/module/createOrUpdateModule.json" + "$ref": "./examples/createOrUpdateModule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -280,34 +281,34 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ModuleCreateOrUpdateParameters" + "$ref": "#/definitions/ModuleCreateOrUpdateParameters" }, "description": "The create or update parameters for module." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Module" + "$ref": "#/definitions/Module" } }, "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Module" + "$ref": "#/definitions/Module" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -321,16 +322,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/moduleoperations" }, + "x-ms-examples": { + "Update a module": { + "$ref": "./examples/updateModule.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -344,28 +346,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ModuleUpdateParameters" + "$ref": "#/definitions/ModuleUpdateParameters" }, "description": "The update parameters for module." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Module" + "$ref": "#/definitions/Module" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -383,38 +385,34 @@ }, "x-ms-examples": { "List modules by automation account": { - "$ref": "../examples/module/listModulesByAutomationAccount.json" + "$ref": "./examples/listModulesByAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ModuleListResult" + "$ref": "#/definitions/ModuleListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -433,16 +431,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/objectdatatypeoperations" }, + "x-ms-examples": { + "Get a list of fields of a given type": { + "$ref": "./examples/listFieldsByModuleAndType.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -459,23 +458,23 @@ "description": "The name of type." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/TypeFieldListResult" + "$ref": "#/definitions/TypeFieldListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -494,16 +493,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/objectdatatypeoperations" }, + "x-ms-examples": { + "Get a list of fields of a given type across all accessible modules": { + "$ref": "./examples/listFieldsByType.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "typeName", @@ -513,23 +513,23 @@ "description": "The name of type." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/TypeFieldListResult" + "$ref": "#/definitions/TypeFieldListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -548,16 +548,17 @@ "externalDocs": { "url": "http://aka.ms/azureautomationsdk/typefieldoperations" }, + "x-ms-examples": { + "Get a list of fields of a given type": { + "$ref": "./examples/listFieldsByModuleAndType.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "moduleName", @@ -574,23 +575,23 @@ "description": "The name of type." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/TypeFieldListResult" + "$ref": "#/definitions/TypeFieldListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -600,6 +601,426 @@ } } }, - "definitions": {}, + "definitions": { + "ActivityParameter": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the activity parameter." + }, + "type": { + "type": "string", + "description": "Gets or sets the type of the activity parameter." + }, + "isMandatory": { + "type": "boolean", + "description": "Gets or sets a Boolean value that indicates true if the parameter is required. If the value is false, the parameter is optional." + }, + "isDynamic": { + "type": "boolean", + "description": "Gets or sets a Boolean value that indicates true if the parameter is dynamic." + }, + "position": { + "type": "integer", + "format": "int64", + "description": "Gets or sets the position of the activity parameter." + }, + "valueFromPipeline": { + "type": "boolean", + "description": "Gets or sets a Boolean value that indicates true if the parameter can take values from the incoming pipeline objects. This setting is used if the cmdlet must access the complete input object. false indicates that the parameter cannot take values from the complete input object." + }, + "valueFromPipelineByPropertyName": { + "type": "boolean", + "description": "Gets or sets a Boolean value that indicates true if the parameter can be filled from a property of the incoming pipeline object that has the same name as this parameter. false indicates that the parameter cannot be filled from the incoming pipeline object property with the same name. " + }, + "valueFromRemainingArguments": { + "type": "boolean", + "description": "Gets or sets a Boolean value that indicates true if the cmdlet parameter accepts all the remaining command-line arguments that are associated with this parameter in the form of an array. false if the cmdlet parameter does not accept all the remaining argument values." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the activity parameter." + }, + "validationSet": { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityParameterValidationSet" + }, + "description": "Gets or sets the validation set of activity parameter." + } + }, + "description": "Definition of the activity parameter." + }, + "ActivityParameterSet": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the activity parameter set." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityParameter" + }, + "description": "Gets or sets the parameters of the activity parameter set." + } + }, + "description": "Definition of the activity parameter set." + }, + "ActivityParameterValidationSet": { + "properties": { + "memberValue": { + "type": "string", + "description": "Gets or sets the name of the activity parameter validation set member." + } + }, + "description": "Definition of the activity parameter validation set." + }, + "ActivityOutputType": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the activity output type." + }, + "type": { + "type": "string", + "description": "Gets or sets the type of the activity output type." + } + }, + "description": "Definition of the activity output type." + }, + "ActivityProperties": { + "properties": { + "definition": { + "type": "string", + "description": "Gets or sets the user name of the activity." + }, + "parameterSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityParameterSet" + }, + "description": "Gets or sets the parameter sets of the activity." + }, + "outputTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/ActivityOutputType" + }, + "description": "Gets or sets the output types of the activity." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Properties of the activity." + }, + "Activity": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the name of the activity." + }, + "properties": { + "$ref": "#/definitions/ActivityProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the activity." + } + }, + "description": "Definition of the activity." + }, + "ActivityListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Activity" + }, + "description": "Gets or sets a list of activities." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list activity operation." + }, + "ModuleErrorInfo": { + "properties": { + "code": { + "type": "string", + "description": "Gets or sets the error code." + }, + "message": { + "type": "string", + "description": "Gets or sets the error message." + } + }, + "description": "Definition of the module error info type." + }, + "ModuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Module" + }, + "description": "Gets or sets a list of modules." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list module operation." + }, + "ContentHash": { + "properties": { + "algorithm": { + "type": "string", + "description": "Gets or sets the content hash algorithm used to hash the content." + }, + "value": { + "type": "string", + "description": "Gets or sets expected hash value of the content." + } + }, + "required": [ + "algorithm", + "value" + ], + "description": "Definition of the runbook property type." + }, + "ContentLink": { + "properties": { + "uri": { + "type": "string", + "description": "Gets or sets the uri of the runbook content." + }, + "contentHash": { + "$ref": "#/definitions/ContentHash", + "description": "Gets or sets the hash." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the content." + } + }, + "description": "Definition of the content link." + }, + "ModuleCreateOrUpdateProperties": { + "properties": { + "contentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the module content link." + } + }, + "required": [ + "contentLink" + ], + "description": "The parameters supplied to the create or update module properties." + }, + "ModuleCreateOrUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/ModuleCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the module create properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create or update module operation." + }, + "ModuleProperties": { + "properties": { + "isGlobal": { + "type": "boolean", + "description": "Gets or sets the isGlobal flag of the module." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the module." + }, + "sizeInBytes": { + "type": "integer", + "format": "int64", + "description": "Gets or sets the size in bytes of the module." + }, + "activityCount": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the activity count of the module." + }, + "provisioningState": { + "type": "string", + "description": "Gets or sets the provisioning state of the module.", + "enum": [ + "Created", + "Creating", + "StartingImportModuleRunbook", + "RunningImportModuleRunbook", + "ContentRetrieved", + "ContentDownloaded", + "ContentValidated", + "ConnectionTypeImported", + "ContentStored", + "ModuleDataStored", + "ActivitiesStored", + "ModuleImportRunbookComplete", + "Succeeded", + "Failed", + "Cancelled", + "Updating" + ], + "x-ms-enum": { + "name": "ModuleProvisioningState", + "modelAsString": false + } + }, + "contentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the contentLink of the module." + }, + "error": { + "$ref": "#/definitions/ModuleErrorInfo", + "description": "Gets or sets the error info of the module." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + }, + "isComposite": { + "type": "boolean", + "description": "Gets or sets type of module, if its composite or not." + } + }, + "description": "Definition of the module property type." + }, + "ModuleUpdateProperties": { + "properties": { + "contentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the module content link." + } + }, + "description": "The parameters supplied to the update properties." + }, + "ModuleUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/ModuleUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the module update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "description": "The parameters supplied to the update module operation." + }, + "Module": { + "properties": { + "properties": { + "$ref": "#/definitions/ModuleProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the module properties." + }, + "etag": { + "type": "string", + "description": "Gets or sets the etag of the resource." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the module type." + }, + "TypeField": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the field." + }, + "type": { + "type": "string", + "description": "Gets or sets the type of the field." + } + }, + "description": "Information about a field of a type." + }, + "TypeFieldListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/TypeField" + }, + "description": "Gets or sets a list of fields." + } + }, + "description": "The response model for the list fields operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/runbook.json b/App_Data/SwaggerSpecs/Microsoft.Automation/runbook.json index 4b10e8d1..b9022ca6 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/runbook.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/runbook.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/content": { "get": { @@ -27,19 +48,21 @@ }, "x-ms-examples": { "Get runbook draft content": { - "$ref": "../examples/runbook/getRunbookDraftContent.json" + "$ref": "./examples/getRunbookDraftContent.json" } }, + "produces": [ + "text/powershell" + ], "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -49,23 +72,20 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "string" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -74,26 +94,28 @@ "tags": [ "RunbookDraft" ], - "operationId": "RunbookDraft_CreateOrUpdate", - "description": "Updates the runbook draft with runbookStream as its content.", + "operationId": "RunbookDraft_ReplaceContent", + "description": "Replaces the runbook draft content.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/runbookdraftoperations" }, "x-ms-examples": { "Create or update runbook draft": { - "$ref": "../examples/runbook/createOrUpdateRunbookDraft.json" + "$ref": "./examples/replaceRunbookDraftContent.json" } }, + "consumes": [ + "text/powershell" + ], "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -110,30 +132,36 @@ "type": "object", "format": "file" }, - "description": "The runbook draft content." + "description": "The runbook draft content." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { - "202": { - "description": "Accepted and the operation will complete asynchronously." - }, "200": { - "description": "OK." + "description": "OK" + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + } + } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft": { @@ -148,19 +176,18 @@ }, "x-ms-examples": { "Get runbook draft": { - "$ref": "../examples/runbook/getRunbookDraft.json" + "$ref": "./examples/getRunbookDraft.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -170,53 +197,49 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/RunbookDraft" + "$ref": "#/definitions/RunbookDraft" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/publish": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/publish": { "post": { "tags": [ - "RunbookDraft" + "Runbook" ], - "operationId": "RunbookDraft_Publish", + "operationId": "Runbook_Publish", "description": "Publish runbook draft.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/runbookdraftoperations" }, "x-ms-examples": { "Publish runbook draft": { - "$ref": "../examples/runbook/publishRunbookDraft.json" + "$ref": "./examples/publishRunbook.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -226,26 +249,23 @@ "description": "The parameters supplied to the publish runbook operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "202": { - "description": "Accepted and the operation will complete asynchronously." - }, - "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/Runbook" + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "description": "URL to query for status of the operation.", + "type": "string" + } } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -258,25 +278,24 @@ "RunbookDraft" ], "operationId": "RunbookDraft_UndoEdit", - "description": "Retrieve the runbook identified by runbook name.", + "description": "Undo draft edit to last known published state identified by runbook name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/runbookdraftoperations" }, "x-ms-examples": { "Undo draft edit to last known published state": { - "$ref": "../examples/runbook/undoDraftEditToLastKnownPublishedState.json" + "$ref": "./examples/undoDraftEditToLastKnownPublishedState.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -286,23 +305,17 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/RunbookDraftUndoEditResult" - } + "description": "OK" }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -320,19 +333,21 @@ }, "x-ms-examples": { "Get runbook content": { - "$ref": "../examples/runbook/getRunbookContent.json" + "$ref": "./examples/getRunbookContent.json" } }, + "produces": [ + "text/powershell" + ], "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -342,23 +357,20 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "type": "file" + "type": "string" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -376,19 +388,18 @@ }, "x-ms-examples": { "Get runbook": { - "$ref": "../examples/runbook/getRunbook.json" + "$ref": "./examples/getRunbook.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -398,23 +409,20 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Runbook" + "$ref": "#/definitions/Runbook" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -429,20 +437,22 @@ "url": "http://aka.ms/azureautomationsdk/runbookoperations" }, "x-ms-examples": { - "Create or update runbook": { - "$ref": "../examples/runbook/createOrUpdateRunbook.json" + "Create or update runbook and publish it": { + "$ref": "./examples/createOrUpdateRunbook.json" + }, + "Create runbook as draft": { + "$ref": "./examples/createRunbookAsDraft.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -456,31 +466,31 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/RunbookCreateOrUpdateParameters" + "$ref": "#/definitions/RunbookCreateOrUpdateParameters" }, "description": "The create or update parameters for runbook. Provide either content link for a published runbook or draft, not both." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/Runbook" + } }, "201": { - "description": "Created" - }, - "400": { - "description": "Bad Request. Cannot specify the content link for a published runbook and draft at the same time." + "description": "Created", + "schema": { + "$ref": "#/definitions/Runbook" + } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -496,19 +506,18 @@ }, "x-ms-examples": { "Update runbook": { - "$ref": "../examples/runbook/updateRunbook.json" + "$ref": "./examples/updateRunbook.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -522,28 +531,25 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/RunbookUpdateParameters" + "$ref": "#/definitions/RunbookUpdateParameters" }, "description": "The update parameters for runbook." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Runbook" + "$ref": "#/definitions/Runbook" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -559,19 +565,18 @@ }, "x-ms-examples": { "Delete a runbook": { - "$ref": "../examples/runbook/deleteRunbook.json" + "$ref": "./examples/deleteRunbook.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -581,20 +586,20 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, + "204": { + "description": "No Content" + }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -612,38 +617,34 @@ }, "x-ms-examples": { "List runbooks by automation account": { - "$ref": "../examples/runbook/listRunbooksByAutomationAccount.json" + "$ref": "./examples/listRunbooksByAutomationAccount.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/RunbookListResult" + "$ref": "#/definitions/RunbookListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -655,23 +656,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams/{jobStreamId}": { "get": { "tags": [ - "TestJobStreams" + "TestJobStream" ], "operationId": "TestJobStreams_Get", - "description": "Retrieve a test job streams identified by runbook name and stream id.", + "description": "Retrieve a test job stream of the test job identified by runbook name and stream id.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" }, + "x-ms-examples": { + "Get test job stream": { + "$ref": "./examples/getTestJobStream.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -688,23 +693,20 @@ "description": "The job stream id." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobStream" + "$ref": "#/definitions/JobStream" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -713,23 +715,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/streams": { "get": { "tags": [ - "TestJobStreams" + "TestJobStream" ], "operationId": "TestJobStreams_ListByTestJob", "description": "Retrieve a list of test job streams identified by runbook name.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/jobstreamoperations" }, + "x-ms-examples": { + "List job streams by job name": { + "$ref": "./examples/listTestJobStreamsByJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -746,23 +752,20 @@ "description": "The filter to apply on the operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/JobStreamListResult" + "$ref": "#/definitions/JobStreamListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -774,23 +777,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob": { "put": { "tags": [ - "TestJobs" + "TestJob" ], - "operationId": "TestJobs_Create", + "operationId": "TestJob_Create", "description": "Create a test job of the runbook.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/testjoboperations" }, + "x-ms-examples": { + "Create test job": { + "$ref": "./examples/createTestJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -804,51 +811,52 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/TestJobCreateParameters" + "$ref": "#/definitions/TestJobCreateParameters" }, "description": "The parameters supplied to the create test job operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/TestJob" + "$ref": "#/definitions/TestJob" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } }, "get": { "tags": [ - "TestJobs" + "TestJob" ], - "operationId": "TestJobs_Get", + "operationId": "TestJob_Get", "description": "Retrieve the test job for the specified runbook.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/testjoboperations" }, + "x-ms-examples": { + "Get test job": { + "$ref": "./examples/getTestJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -858,23 +866,20 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/TestJob" + "$ref": "#/definitions/TestJob" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -883,23 +888,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/resume": { "post": { "tags": [ - "TestJobs" + "TestJob" ], - "operationId": "TestJobs_Resume", + "operationId": "TestJob_Resume", "description": "Resume the test job.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/testjoboperations" }, + "x-ms-examples": { + "Resume test job": { + "$ref": "./examples/resumeTestJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -909,10 +918,7 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -922,7 +928,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -931,23 +937,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/stop": { "post": { "tags": [ - "TestJobs" + "TestJob" ], - "operationId": "TestJobs_Stop", + "operationId": "TestJob_Stop", "description": "Stop the test job.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/testjoboperations" }, + "x-ms-examples": { + "Stop test job": { + "$ref": "./examples/stopTestJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -957,10 +967,7 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -970,7 +977,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -979,23 +986,27 @@ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/runbooks/{runbookName}/draft/testJob/suspend": { "post": { "tags": [ - "TestJobs" + "TestJob" ], - "operationId": "TestJobs_Suspend", + "operationId": "TestJob_Suspend", "description": "Suspend the test job.", "externalDocs": { "url": "http://aka.ms/azureautomationsdk/testjoboperations" }, + "x-ms-examples": { + "Suspend test job": { + "$ref": "./examples/suspendTestJob.json" + } + }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "runbookName", @@ -1005,10 +1016,7 @@ "description": "The runbook name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -1018,13 +1026,656 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } } } }, - "definitions": {}, + "definitions": { + "JobStream": { + "properties": { + "id": { + "type": "string", + "description": "Gets or sets the id of the resource." + }, + "properties": { + "$ref": "#/definitions/JobStreamProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the id of the job stream." + } + }, + "description": "Definition of the job stream." + }, + "JobStreamProperties": { + "properties": { + "jobStreamId": { + "type": "string", + "description": "Gets or sets the id of the job stream." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time of the job.", + "x-nullable": false + }, + "streamType": { + "type": "string", + "description": "Gets or sets the stream type.", + "enum": [ + "Progress", + "Output", + "Warning", + "Error", + "Debug", + "Verbose", + "Any" + ], + "x-ms-enum": { + "name": "JobStreamType", + "modelAsString": true + } + }, + "streamText": { + "type": "string", + "description": "Gets or sets the stream text." + }, + "summary": { + "type": "string", + "description": "Gets or sets the summary." + }, + "value": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "description": "Gets or sets the values of the job stream." + } + }, + "x-ms-client-flatten": true, + "description": "Definition of the job stream." + }, + "JobStreamListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/JobStream" + }, + "description": "A list of job streams." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list job stream operation." + }, + "ContentHash": { + "properties": { + "algorithm": { + "type": "string", + "description": "Gets or sets the content hash algorithm used to hash the content." + }, + "value": { + "type": "string", + "description": "Gets or sets expected hash value of the content." + } + }, + "required": [ + "algorithm", + "value" + ], + "description": "Definition of the runbook property type." + }, + "ContentLink": { + "properties": { + "uri": { + "type": "string", + "description": "Gets or sets the uri of the runbook content." + }, + "contentHash": { + "$ref": "#/definitions/ContentHash", + "description": "Gets or sets the hash." + }, + "version": { + "type": "string", + "description": "Gets or sets the version of the content." + } + }, + "description": "Definition of the content link." + }, + "RunbookProperties": { + "properties": { + "runbookType": { + "type": "string", + "description": "Gets or sets the type of the runbook.", + "enum": [ + "Script", + "Graph", + "PowerShellWorkflow", + "PowerShell", + "GraphPowerShellWorkflow", + "GraphPowerShell" + ], + "x-ms-enum": { + "name": "RunbookTypeEnum", + "modelAsString": true + } + }, + "publishContentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the published runbook content link." + }, + "state": { + "type": "string", + "description": "Gets or sets the state of the runbook.", + "enum": [ + "New", + "Edit", + "Published" + ], + "x-ms-enum": { + "name": "RunbookState", + "modelAsString": true + } + }, + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "logProgress": { + "type": "boolean", + "description": "Gets or sets progress log option." + }, + "logActivityTrace": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the option to log activity trace of the runbook." + }, + "jobCount": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the job count of the runbook." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RunbookParameter" + }, + "description": "Gets or sets the runbook parameters." + }, + "outputTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the runbook output types." + }, + "draft": { + "$ref": "#/definitions/RunbookDraft", + "description": "Gets or sets the draft runbook properties." + }, + "provisioningState": { + "type": "string", + "description": "Gets or sets the provisioning state of the runbook.", + "enum": [ + "Succeeded" + ], + "x-ms-enum": { + "name": "RunbookProvisioningState", + "modelAsString": false + } + }, + "lastModifiedBy": { + "type": "string", + "description": "Gets or sets the last modified by." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of the runbook property type." + }, + "Runbook": { + "properties": { + "properties": { + "$ref": "#/definitions/RunbookProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the runbook properties." + }, + "etag": { + "type": "string", + "description": "Gets or sets the etag of the resource." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" + } + ], + "description": "Definition of the runbook type." + }, + "RunbookListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Runbook" + }, + "description": "Gets or sets a list of runbooks." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list runbook operation." + }, + "RunbookCreateOrUpdateProperties": { + "properties": { + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "logProgress": { + "type": "boolean", + "description": "Gets or sets progress log option." + }, + "runbookType": { + "type": "string", + "description": "Gets or sets the type of the runbook.", + "enum": [ + "Script", + "Graph", + "PowerShellWorkflow", + "PowerShell", + "GraphPowerShellWorkflow", + "GraphPowerShell" + ], + "x-ms-enum": { + "name": "RunbookTypeEnum", + "modelAsString": true + } + }, + "draft": { + "$ref": "#/definitions/RunbookDraft", + "description": "Gets or sets the draft runbook properties." + }, + "publishContentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the published runbook content link." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the runbook." + }, + "logActivityTrace": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the activity-level tracing options of the runbook." + } + }, + "required": [ + "runbookType" + ], + "description": "The parameters supplied to the create or update runbook properties." + }, + "RunbookCreateOrUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/RunbookCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets runbook create or update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets the name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "required": [ + "properties" + ], + "description": "The parameters supplied to the create or update runbook operation." + }, + "RunbookUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the runbook." + }, + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "logProgress": { + "type": "boolean", + "description": "Gets or sets progress log option." + }, + "logActivityTrace": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the activity-level tracing options of the runbook." + } + }, + "description": "The parameters supplied to the update runbook properties." + }, + "RunbookUpdateParameters": { + "properties": { + "properties": { + "$ref": "#/definitions/RunbookUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the runbook update properties." + }, + "name": { + "type": "string", + "description": "Gets or sets the name of the resource." + }, + "location": { + "type": "string", + "description": "Gets or sets the location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the tags attached to the resource." + } + }, + "description": "The parameters supplied to the update runbook operation." + }, + "RunbookDraftUndoEditResult": { + "properties": { + "statusCode": { + "type": "string", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": true + } + }, + "requestId": { + "type": "string" + } + }, + "description": "The response model for the undo edit runbook operation." + }, + "RunbookDraft": { + "properties": { + "inEdit": { + "type": "boolean", + "description": "Gets or sets whether runbook is in edit mode." + }, + "draftContentLink": { + "$ref": "#/definitions/ContentLink", + "description": "Gets or sets the draft runbook content link." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time of the runbook draft.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time of the runbook draft.", + "x-nullable": false + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RunbookParameter" + }, + "description": "Gets or sets the runbook draft parameters." + }, + "outputTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets or sets the runbook output types." + } + } + }, + "RunbookParameter": { + "properties": { + "type": { + "type": "string", + "description": "Gets or sets the type of the parameter." + }, + "isMandatory": { + "type": "boolean", + "description": "Gets or sets a Boolean value to indicate whether the parameter is mandatory or not." + }, + "position": { + "type": "integer", + "format": "int32", + "description": "Get or sets the position of the parameter." + }, + "defaultValue": { + "type": "string", + "description": "Gets or sets the default value of parameter." + } + }, + "description": "Definition of the runbook parameter type." + }, + "TestJobCreateParameters": { + "properties": { + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the test job." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the runOn which specifies the group name where the job is to be executed." + } + }, + "description": "The parameters supplied to the create test job operation." + }, + "TestJob": { + "x-ms-mutability": [ + "read", + "create" + ], + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time of the test job.", + "x-nullable": false + }, + "status": { + "type": "string", + "description": "Gets or sets the status of the test job." + }, + "statusDetails": { + "type": "string", + "description": "Gets or sets the status details of the test job." + }, + "runOn": { + "type": "string", + "description": "Gets or sets the runOn which specifies the group name where the job is to be executed." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the start time of the test job.", + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the end time of the test job.", + "x-nullable": true + }, + "exception": { + "type": "string", + "description": "Gets or sets the exception of the test job." + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time of the test job.", + "x-nullable": false + }, + "lastStatusModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last status modified time of the test job.", + "x-nullable": true + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets the parameters of the test job." + }, + "logActivityTrace": { + "type": "integer", + "format": "int32", + "description": "The activity-level tracing options of the runbook." + } + }, + "description": "Definition of the test job." + }, + "RunbookCreateOrUpdateDraftProperties": { + "properties": { + "logVerbose": { + "type": "boolean", + "description": "Gets or sets verbose log option." + }, + "logProgress": { + "type": "boolean", + "description": "Gets or sets progress log option." + }, + "runbookType": { + "type": "string", + "description": "Gets or sets the type of the runbook.", + "enum": [ + "Script", + "Graph", + "PowerShellWorkflow", + "PowerShell", + "GraphPowerShellWorkflow", + "GraphPowerShell" + ], + "x-ms-enum": { + "name": "RunbookTypeEnum", + "modelAsString": true + } + }, + "draft": { + "$ref": "#/definitions/RunbookDraft", + "description": "Gets or sets the draft runbook properties." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the runbook." + }, + "logActivityTrace": { + "type": "integer", + "format": "int32", + "description": "Gets or sets the activity-level tracing options of the runbook." + } + }, + "required": [ + "runbookType", + "draft" + ], + "description": "The parameters supplied to the create or update draft runbook properties." + }, + "RunbookCreateOrUpdateDraftParameters": { + "properties": { + "runbookContent": { + "type": "string", + "description": "Content of the Runbook." + } + }, + "x-ms-client-flatten": true, + "required": [ + "runbookContent" + ], + "description": "The parameters supplied to the create or update runbook operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/schedule.json b/App_Data/SwaggerSpecs/Microsoft.Automation/schedule.json index e6940448..42c67d85 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/schedule.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/schedule.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/schedules/{scheduleName}": { "put": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Create or update a schedule": { - "$ref": "../examples/schedule/createOrUpdateSchedule.json" + "$ref": "./examples/createOrUpdateSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "scheduleName", @@ -53,22 +70,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ScheduleCreateOrUpdateParameters" + "$ref": "#/definitions/ScheduleCreateOrUpdateParameters" }, "description": "The parameters supplied to the create or update schedule operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Schedule" + "$ref": "#/definitions/Schedule" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" } }, "409": { @@ -77,7 +100,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -93,19 +116,15 @@ }, "x-ms-examples": { "Update a schedule": { - "$ref": "../examples/schedule/updateSchedule.json" + "$ref": "./examples/updateSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "scheduleName", @@ -119,28 +138,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/ScheduleUpdateParameters" + "$ref": "#/definitions/ScheduleUpdateParameters" }, "description": "The parameters supplied to the update schedule operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Schedule" + "$ref": "#/definitions/Schedule" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -156,19 +175,15 @@ }, "x-ms-examples": { "Get a schedule": { - "$ref": "../examples/schedule/getSchedule.json" + "$ref": "./examples/getSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "scheduleName", @@ -178,23 +193,23 @@ "description": "The schedule name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Schedule" + "$ref": "#/definitions/Schedule" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -210,19 +225,15 @@ }, "x-ms-examples": { "Delete schedule": { - "$ref": "../examples/schedule/deleteSchedule.json" + "$ref": "./examples/deleteSchedule.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "scheduleName", @@ -232,23 +243,20 @@ "description": "The schedule name." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK" }, - "404": { - "description": "Not Found" - }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -266,41 +274,37 @@ }, "x-ms-examples": { "List schedules by automation account, first 100": { - "$ref": "../examples/schedule/listSchedulesByAutomationAccount_First100.json" + "$ref": "./examples/listSchedulesByAutomationAccount_First100.json" }, "List schedules by automation account, next 100": { - "$ref": "../examples/schedule/listSchedulesByAutomationAccount_Next100.json" + "$ref": "./examples/listSchedulesByAutomationAccount_Next100.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/ScheduleListResult" + "$ref": "#/definitions/ScheduleListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -310,6 +314,295 @@ } } }, - "definitions": {}, + "definitions": { + "AdvancedSchedule": { + "properties": { + "weekDays": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Days of the week that the job should execute on." + }, + "monthDays": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "description": "Days of the month that the job should execute on. Must be between 1 and 31." + }, + "monthlyOccurrences": { + "type": "array", + "items": { + "$ref": "#/definitions/AdvancedScheduleMonthlyOccurrence" + }, + "description": "Occurrences of days within a month." + } + }, + "description": "The properties of the create Advanced Schedule." + }, + "AdvancedScheduleMonthlyOccurrence": { + "properties": { + "occurrence": { + "type": "integer", + "format": "int32", + "description": "Occurrence of the week within the month. Must be between 1 and 5" + }, + "day": { + "type": "string", + "description": "Day of the occurrence. Must be one of monday, tuesday, wednesday, thursday, friday, saturday, sunday.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "ScheduleDay", + "modelAsString": true + } + } + }, + "description": "The properties of the create advanced schedule monthly occurrence." + }, + "ScheduleCreateOrUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the schedule." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the start time of the schedule.", + "x-nullable": false + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the end time of the schedule.", + "x-nullable": true + }, + "interval": { + "description": "Gets or sets the interval of the schedule." + }, + "frequency": { + "type": "string", + "description": "Gets or sets the frequency of the schedule.", + "$ref": "#/definitions/scheduleFrequency" + }, + "timeZone": { + "type": "string", + "description": "Gets or sets the time zone of the schedule." + }, + "advancedSchedule": { + "$ref": "#/definitions/AdvancedSchedule", + "description": "Gets or sets the AdvancedSchedule." + } + }, + "required": [ + "startTime", + "frequency" + ], + "description": "The parameters supplied to the create or update schedule operation." + }, + "scheduleFrequency": { + "type": "string", + "description": "Gets or sets the frequency of the schedule.", + "enum": [ + "OneTime", + "Day", + "Hour", + "Week", + "Month", + "Minute" + ], + "x-ms-enum": { + "name": "ScheduleFrequency", + "modelAsString": true, + "values": [ + { + "value": "OneTime" + }, + { + "value": "Day" + }, + { + "value": "Hour" + }, + { + "value": "Week" + }, + { + "value": "Month" + }, + { + "value": "Minute", + "description": "The minimum allowed interval for Minute schedules is 15 minutes." + } + ] + } + }, + "ScheduleCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the Schedule." + }, + "properties": { + "$ref": "#/definitions/ScheduleCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the list of schedule properties." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update schedule operation." + }, + "Schedule": { + "properties": { + "properties": { + "$ref": "#/definitions/ScheduleProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the schedule." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the schedule." + }, + "ScheduleProperties": { + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the start time of the schedule.", + "x-nullable": false + }, + "startTimeOffsetMinutes": { + "readOnly": true, + "type": "number", + "format": "double", + "description": "Gets the start time's offset in minutes.", + "x-nullable": false + }, + "expiryTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the end time of the schedule.", + "x-nullable": true + }, + "expiryTimeOffsetMinutes": { + "type": "number", + "format": "double", + "description": "Gets or sets the expiry time's offset in minutes.", + "x-nullable": false + }, + "isEnabled": { + "type": "boolean", + "default": false, + "description": "Gets or sets a value indicating whether this schedule is enabled." + }, + "nextRun": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the next run time of the schedule.", + "x-nullable": true + }, + "nextRunOffsetMinutes": { + "type": "number", + "format": "double", + "description": "Gets or sets the next run time's offset in minutes.", + "x-nullable": false + }, + "interval": { + "description": "Gets or sets the interval of the schedule." + }, + "frequency": { + "type": "string", + "description": "Gets or sets the frequency of the schedule.", + "$ref": "#/definitions/scheduleFrequency" + }, + "timeZone": { + "type": "string", + "description": "Gets or sets the time zone of the schedule." + }, + "advancedSchedule": { + "$ref": "#/definitions/AdvancedSchedule", + "description": "Gets or sets the advanced schedule." + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of schedule parameters." + }, + "ScheduleUpdateProperties": { + "properties": { + "description": { + "type": "string", + "description": "Gets or sets the description of the schedule." + }, + "isEnabled": { + "type": "boolean", + "description": "Gets or sets a value indicating whether this schedule is enabled." + } + }, + "description": "The parameters supplied to the update schedule operation." + }, + "ScheduleUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the Schedule." + }, + "properties": { + "$ref": "#/definitions/ScheduleUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the list of schedule properties." + } + }, + "description": "The parameters supplied to the update schedule operation." + }, + "ScheduleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "description": "Gets or sets a list of schedules." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list schedule operation." + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Automation/variable.json b/App_Data/SwaggerSpecs/Microsoft.Automation/variable.json index bec01ed4..99aeb136 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Automation/variable.json +++ b/App_Data/SwaggerSpecs/Microsoft.Automation/variable.json @@ -2,7 +2,10 @@ "swagger": "2.0", "info": { "title": "AutomationManagement", - "version": "2015-10-31" + "version": "2019-06-01", + "x-ms-code-generation-settings": { + "useDateTimeOffset": true + } }, "host": "management.azure.com", "schemes": [ @@ -14,6 +17,24 @@ "produces": [ "application/json" ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automation/automationAccounts/{automationAccountName}/variables/{variableName}": { "put": { @@ -27,19 +48,15 @@ }, "x-ms-examples": { "Create or update a variable": { - "$ref": "../examples/variable/createOrUpdateVariable.json" + "$ref": "./examples/createOrUpdateVariable.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "variableName", @@ -53,34 +70,34 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/VariableCreateOrUpdateParameters" + "$ref": "#/definitions/VariableCreateOrUpdateParameters" }, "description": "The parameters supplied to the create or update variable operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Variable" + "$ref": "#/definitions/Variable" } }, "201": { "description": "Created", "schema": { - "$ref": "./definitions.json#/definitions/Variable" + "$ref": "#/definitions/Variable" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -96,19 +113,15 @@ }, "x-ms-examples": { "Update a variable": { - "$ref": "../examples/variable/updateVariable_patch.json" + "$ref": "./examples/updateVariable_patch.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "variableName", @@ -122,28 +135,28 @@ "in": "body", "required": true, "schema": { - "$ref": "./definitions.json#/definitions/VariableUpdateParameters" + "$ref": "#/definitions/VariableUpdateParameters" }, "description": "The parameters supplied to the update variable operation." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Variable" + "$ref": "#/definitions/Variable" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -159,19 +172,15 @@ }, "x-ms-examples": { "Delete a variable": { - "$ref": "../examples/variable/deleteVariable.json" + "$ref": "./examples/deleteVariable.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "variableName", @@ -181,10 +190,10 @@ "description": "The name of variable." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -194,7 +203,7 @@ "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -210,19 +219,15 @@ }, "x-ms-examples": { "Get a variable": { - "$ref": "../examples/variable/getVariable.json" + "$ref": "./examples/getVariable.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { "name": "variableName", @@ -232,23 +237,23 @@ "description": "The name of variable." }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/Variable" + "$ref": "#/definitions/Variable" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } } @@ -266,41 +271,37 @@ }, "x-ms-examples": { "List variables, First 100": { - "$ref": "../examples/variable/listVariables_First100.json" + "$ref": "./examples/listVariables_First100.json" }, "List variables, Next 100": { - "$ref": "../examples/variable/listVariables_Next100.json" + "$ref": "./examples/listVariables_Next100.json" } }, "parameters": [ { - "$ref": "./definitions.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "name": "automationAccountName", - "in": "path", - "required": true, - "type": "string", - "description": "The automation account name." + "$ref": "../../common/v1/definitions.json#/parameters/AutomationAccountNameParameter" }, { - "$ref": "./definitions.json#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "./definitions.json#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "./definitions.json#/definitions/VariableListResult" + "$ref": "#/definitions/VariableListResult" } }, "default": { "description": "Automation error response describing why the operation failed.", "schema": { - "$ref": "./definitions.json#/definitions/ErrorResponse" + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } } }, @@ -310,6 +311,130 @@ } } }, - "definitions": {}, + "definitions": { + "VariableCreateOrUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the variable." + }, + "properties": { + "$ref": "#/definitions/VariableCreateOrUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the variable." + } + }, + "required": [ + "name", + "properties" + ], + "description": "The parameters supplied to the create or update variable operation." + }, + "VariableCreateOrUpdateProperties": { + "properties": { + "value": { + "type": "string", + "description": "Gets or sets the value of the variable." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the variable." + }, + "isEncrypted": { + "type": "boolean", + "description": "Gets or sets the encrypted flag of the variable." + } + }, + "description": "The properties of the create variable operation." + }, + "Variable": { + "properties": { + "properties": { + "$ref": "#/definitions/VariableProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the properties of the variable." + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Definition of the variable." + }, + "VariableListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Variable" + }, + "description": "Gets or sets a list of variables." + }, + "nextLink": { + "type": "string", + "description": "Gets or sets the next link." + } + }, + "description": "The response model for the list variables operation." + }, + "VariableUpdateParameters": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the name of the variable." + }, + "properties": { + "$ref": "#/definitions/VariableUpdateProperties", + "x-ms-client-flatten": true, + "description": "Gets or sets the value of the variable." + } + }, + "description": "The parameters supplied to the update variable operation." + }, + "VariableUpdateProperties": { + "properties": { + "value": { + "type": "string", + "description": "Gets or sets the value of the variable." + }, + "description": { + "type": "string", + "description": "Gets or sets the description of the variable." + } + }, + "description": "The properties of the update variable" + }, + "VariableProperties": { + "properties": { + "value": { + "type": "string", + "description": "Gets or sets the value of the variable." + }, + "isEncrypted": { + "type": "boolean", + "description": "Gets or sets the encrypted flag of the variable.", + "x-nullable": true + }, + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the creation time.", + "x-nullable": false + }, + "lastModifiedTime": { + "type": "string", + "format": "date-time", + "description": "Gets or sets the last modified time.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Gets or sets the description." + } + }, + "description": "Definition of the variable properties" + } + }, "parameters": {} -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Batch/BatchManagement.json b/App_Data/SwaggerSpecs/Microsoft.Batch/BatchManagement.json index 1a537f86..38fb4c0e 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Batch/BatchManagement.json +++ b/App_Data/SwaggerSpecs/Microsoft.Batch/BatchManagement.json @@ -1,11 +1,9 @@ { "swagger": "2.0", "info": { - "title": "BatchManagement", - "version": "2018-12-01", - "x-ms-code-generation-settings": { - "name": "BatchManagementClient" - } + "title": "BatchManagementClient", + "description": "The Batch Management Client.", + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -43,8 +41,21 @@ ], "operationId": "BatchAccount_Create", "x-ms-examples": { - "BatchAccountCreate_Default": { "$ref": "./examples/BatchAccountCreate_Default.json" }, - "BatchAccountCreate_BYOS": { "$ref": "./examples/BatchAccountCreate_BYOS.json" } + "BatchAccountCreate_Default": { + "$ref": "./examples/BatchAccountCreate_Default.json" + }, + "BatchAccountCreate_BYOS": { + "$ref": "./examples/BatchAccountCreate_BYOS.json" + }, + "PrivateBatchAccountCreate": { + "$ref": "./examples/PrivateBatchAccountCreate.json" + }, + "BatchAccountCreate_SystemAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_SystemAssignedIdentity.json" + }, + "BatchAccountCreate_UserAssignedIdentity": { + "$ref": "./examples/BatchAccountCreate_UserAssignedIdentity.json" + } }, "description": "Creates a new Batch account with the specified parameters. Existing accounts cannot be updated with this API and should instead be updated with the Update Batch Account API.", "parameters": [ @@ -56,7 +67,7 @@ "in": "path", "required": true, "type": "string", - "pattern": "^[-\\w\\._]+$", + "pattern": "^[a-z0-9]+$", "minLength": 3, "maxLength": 24, "description": "A name for the Batch account which must be unique within the region. Batch account names must be between 3 and 24 characters in length and must use only numbers and lowercase letters. This name is used as part of the DNS name that is used to access the Batch service in the region in which the account is created. For example: http://accountname.region.batch.azure.com/." @@ -105,7 +116,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } }, "patch": { "tags": [ @@ -113,7 +127,9 @@ ], "operationId": "BatchAccount_Update", "x-ms-examples": { - "BatchAccountUpdate": { "$ref": "./examples/BatchAccountUpdate.json" } + "BatchAccountUpdate": { + "$ref": "./examples/BatchAccountUpdate.json" + } }, "description": "Updates the properties of an existing Batch account.", "parameters": [ @@ -160,7 +176,9 @@ ], "operationId": "BatchAccount_Delete", "x-ms-examples": { - "BatchAccountDelete": { "$ref": "./examples/BatchAccountDelete.json" } + "BatchAccountDelete": { + "$ref": "./examples/BatchAccountDelete.json" + } }, "description": "Deletes the specified Batch account.", "parameters": [ @@ -205,7 +223,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } }, "get": { "tags": [ @@ -213,7 +234,12 @@ ], "operationId": "BatchAccount_Get", "x-ms-examples": { - "BatchAccountGet": { "$ref": "./examples/BatchAccountGet.json" } + "BatchAccountGet": { + "$ref": "./examples/BatchAccountGet.json" + }, + "PrivateBatchAccountGet": { + "$ref": "./examples/PrivateBatchAccountGet.json" + } }, "description": "Gets information about the specified Batch account.", "parameters": [ @@ -253,7 +279,9 @@ ], "operationId": "BatchAccount_List", "x-ms-examples": { - "BatchAccountList": { "$ref": "./examples/BatchAccountList.json" } + "BatchAccountList": { + "$ref": "./examples/BatchAccountList.json" + } }, "description": "Gets information about the Batch accounts associated with the subscription.", "parameters": [ @@ -290,7 +318,9 @@ ], "operationId": "BatchAccount_ListByResourceGroup", "x-ms-examples": { - "BatchAccountListByResourceGroup": { "$ref": "./examples/BatchAccountListByResourceGroup.json" } + "BatchAccountListByResourceGroup": { + "$ref": "./examples/BatchAccountListByResourceGroup.json" + } }, "description": "Gets information about the Batch accounts associated with the specified resource group.", "parameters": [ @@ -330,9 +360,11 @@ ], "operationId": "BatchAccount_SynchronizeAutoStorageKeys", "x-ms-examples": { - "BatchAccountSynchronizeAutoStorageKeys": { "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" } + "BatchAccountSynchronizeAutoStorageKeys": { + "$ref": "./examples/BatchAccountSynchronizeAutoStorageKeys.json" + } }, - "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account.", + "description": "Synchronizes access keys for the auto-storage account configured for the specified Batch account, only if storage key authentication is being used.", "parameters": [ { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -367,9 +399,12 @@ ], "operationId": "BatchAccount_RegenerateKey", "x-ms-examples": { - "BatchAccountRegenerateKey": { "$ref": "./examples/BatchAccountRegenerateKey.json" } + "BatchAccountRegenerateKey": { + "$ref": "./examples/BatchAccountRegenerateKey.json" + } }, - "description": "Regenerates the specified account key for the Batch account.", + "summary": "Regenerates the specified account key for the Batch account.", + "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, regenerating the keys will fail.", "parameters": [ { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -416,10 +451,12 @@ ], "operationId": "BatchAccount_GetKeys", "x-ms-examples": { - "BatchAccountGetKeys": { "$ref": "./examples/BatchAccountGetKeys.json" } + "BatchAccountGetKeys": { + "$ref": "./examples/BatchAccountGetKeys.json" + } }, "summary": "Gets the account keys for the specified Batch account.", - "description": "This operation applies only to Batch accounts created with a poolAllocationMode of 'BatchService'. If the Batch account was created with a poolAllocationMode of 'UserSubscription', clients cannot use access to keys to authenticate, and must use Azure Active Directory instead. In this case, getting the keys will fail.", + "description": "This operation applies only to Batch accounts with allowedAuthenticationModes containing 'SharedKey'. If the Batch account doesn't contain 'SharedKey' in its allowedAuthenticationMode, clients cannot use shared keys to authenticate, and must use another allowedAuthenticationModes instead. In this case, getting the keys will fail.", "parameters": [ { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -457,9 +494,11 @@ ], "operationId": "ApplicationPackage_Activate", "x-ms-examples": { - "ApplicationPackageActivate": { "$ref": "./examples/ApplicationPackageActivate.json" } + "ApplicationPackageActivate": { + "$ref": "./examples/ApplicationPackageActivate.json" + } }, - "description": "Activates the specified application package.", + "description": "Activates the specified application package. This should be done after the `ApplicationPackage` was created and uploaded. This needs to be done before an `ApplicationPackage` can be used on Pools or Tasks.", "parameters": [ { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -512,7 +551,9 @@ ], "operationId": "Application_Create", "x-ms-examples": { - "ApplicationCreate": { "$ref": "./examples/ApplicationCreate.json" } + "ApplicationCreate": { + "$ref": "./examples/ApplicationCreate.json" + } }, "description": "Adds an application to the specified Batch account.", "parameters": [ @@ -562,7 +603,9 @@ ], "operationId": "Application_Delete", "x-ms-examples": { - "ApplicationDelete": { "$ref": "./examples/ApplicationDelete.json" } + "ApplicationDelete": { + "$ref": "./examples/ApplicationDelete.json" + } }, "description": "Deletes an application.", "parameters": [ @@ -603,7 +646,9 @@ ], "operationId": "Application_Get", "x-ms-examples": { - "ApplicationGet": { "$ref": "./examples/ApplicationGet.json" } + "ApplicationGet": { + "$ref": "./examples/ApplicationGet.json" + } }, "description": "Gets information about the specified application.", "parameters": [ @@ -644,7 +689,9 @@ ], "operationId": "Application_Update", "x-ms-examples": { - "ApplicationUpdate": { "$ref": "./examples/ApplicationUpdate.json" } + "ApplicationUpdate": { + "$ref": "./examples/ApplicationUpdate.json" + } }, "description": "Updates settings for the specified application.", "parameters": [ @@ -696,9 +743,11 @@ ], "operationId": "ApplicationPackage_Create", "x-ms-examples": { - "ApplicationPackageCreate": { "$ref": "./examples/ApplicationPackageCreate.json" } + "ApplicationPackageCreate": { + "$ref": "./examples/ApplicationPackageCreate.json" + } }, - "description": "Creates an application package record.", + "description": "Creates an application package record. The record contains a storageUrl where the package should be uploaded to. Once it is uploaded the `ApplicationPackage` needs to be activated using `ApplicationPackageActive` before it can be used. If the auto storage account was configured to use storage keys, the URL returned will contain a SAS.", "parameters": [ { "$ref": "#/parameters/ResourceGroupNameParameter" @@ -749,7 +798,9 @@ ], "operationId": "ApplicationPackage_Delete", "x-ms-examples": { - "ApplicationPackageDelete": { "$ref": "./examples/ApplicationPackageDelete.json" } + "ApplicationPackageDelete": { + "$ref": "./examples/ApplicationPackageDelete.json" + } }, "description": "Deletes an application package record and its associated binary file.", "parameters": [ @@ -793,7 +844,9 @@ ], "operationId": "ApplicationPackage_Get", "x-ms-examples": { - "ApplicationPackageGet": { "$ref": "./examples/ApplicationPackageGet.json" } + "ApplicationPackageGet": { + "$ref": "./examples/ApplicationPackageGet.json" + } }, "description": "Gets information about the specified application package.", "parameters": [ @@ -839,7 +892,9 @@ ], "operationId": "Application_List", "x-ms-examples": { - "ApplicationList": { "$ref": "./examples/ApplicationList.json" } + "ApplicationList": { + "$ref": "./examples/ApplicationList.json" + } }, "description": "Lists all of the applications in the specified account.", "parameters": [ @@ -890,7 +945,9 @@ ], "operationId": "ApplicationPackage_List", "x-ms-examples": { - "ApplicationList": { "$ref": "./examples/ApplicationPackageList.json" } + "ApplicationPackageList": { + "$ref": "./examples/ApplicationPackageList.json" + } }, "description": "Lists all of the application packages in the specified application.", "parameters": [ @@ -944,7 +1001,9 @@ ], "operationId": "Location_GetQuotas", "x-ms-examples": { - "LocationGetQuotas": { "$ref": "./examples/LocationGetQuotas.json" } + "LocationGetQuotas": { + "$ref": "./examples/LocationGetQuotas.json" + } }, "description": "Gets the Batch service quotas for the specified subscription at the given location.", "parameters": [ @@ -978,6 +1037,128 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/virtualMachineSkus": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_ListSupportedVirtualMachineSkus", + "x-ms-examples": { + "LocationListVirtualMachineSkus": { + "$ref": "./examples/LocationListVirtualMachineSkus.json" + } + }, + "description": "Gets the list of Batch supported Virtual Machine VM sizes available at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service supported SKUs." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"familyName\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service supported virtual machine vm sizes for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/SupportedSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Batch/locations/{locationName}/cloudServiceSkus": { + "get": { + "tags": [ + "Location" + ], + "operationId": "Location_ListSupportedCloudServiceSkus", + "x-ms-examples": { + "LocationListCloudServiceSkus": { + "$ref": "./examples/LocationListCloudServiceSkus.json" + } + }, + "description": "Gets the list of Batch supported Cloud Service VM sizes available at the given location.", + "parameters": [ + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The region for which to retrieve Batch service supported SKUs." + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are \"familyName\"." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the Batch service supported Cloud Service VM sizes for the subscription in the specified location.", + "schema": { + "$ref": "#/definitions/SupportedSkusResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/providers/Microsoft.Batch/operations": { "get": { "tags": [ @@ -1014,8 +1195,12 @@ "operationId": "Location_CheckNameAvailability", "description": "Checks whether the Batch account name is available in the specified region.", "x-ms-examples": { - "LocationCheckNameAvailability_Available": { "$ref": "./examples/LocationCheckNameAvailability_Available.json" }, - "LocationCheckNameAvailability_AlreadyExists": { "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" } + "LocationCheckNameAvailability_Available": { + "$ref": "./examples/LocationCheckNameAvailability_Available.json" + }, + "LocationCheckNameAvailability_AlreadyExists": { + "$ref": "./examples/LocationCheckNameAvailability_AlreadyExists.json" + } }, "parameters": [ { @@ -1065,8 +1250,12 @@ "operationId": "Certificate_ListByBatchAccount", "description": "Lists all of the certificates in the specified account.", "x-ms-examples": { - "ListCertificates": { "$ref": "./examples/CertificateList.json" }, - "ListCertificates - Filter and Select": { "$ref": "./examples/CertificateListWithFilter.json" } + "ListCertificates": { + "$ref": "./examples/CertificateList.json" + }, + "ListCertificates - Filter and Select": { + "$ref": "./examples/CertificateListWithFilter.json" + } }, "parameters": [ { @@ -1131,9 +1320,15 @@ "operationId": "Certificate_Create", "description": "Creates a new certificate inside the specified account.", "x-ms-examples": { - "CreateCertificate - Minimal Pfx": { "$ref": "./examples/CertificateCreate_Minimal.json" }, - "CreateCertificate - Minimal Cer": { "$ref": "./examples/CertificateCreate_MinimalCer.json" }, - "CreateCertificate - Full": { "$ref": "./examples/CertificateCreate_Full.json" } + "CreateCertificate - Minimal Pfx": { + "$ref": "./examples/CertificateCreate_Minimal.json" + }, + "CreateCertificate - Minimal Cer": { + "$ref": "./examples/CertificateCreate_MinimalCer.json" + }, + "CreateCertificate - Full": { + "$ref": "./examples/CertificateCreate_Full.json" + } }, "parameters": [ { @@ -1194,8 +1389,7 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true + } }, "patch": { "tags": [ @@ -1204,7 +1398,9 @@ "operationId": "Certificate_Update", "description": "Updates the properties of an existing certificate.", "x-ms-examples": { - "UpdateCertificate": { "$ref": "./examples/CertificateUpdate.json" } + "UpdateCertificate": { + "$ref": "./examples/CertificateUpdate.json" + } }, "parameters": [ { @@ -1267,7 +1463,9 @@ "operationId": "Certificate_Delete", "description": "Deletes the specified certificate.", "x-ms-examples": { - "CertificateDelete": { "$ref": "./examples/CertificateDelete.json" } + "CertificateDelete": { + "$ref": "./examples/CertificateDelete.json" + } }, "parameters": [ { @@ -1290,9 +1488,6 @@ "200": { "description": "The operation was successful." }, - "204": { - "description": "The operation was successful." - }, "202": { "description": "The operation will be completed asynchronously.", "headers": { @@ -1307,6 +1502,9 @@ } } }, + "204": { + "description": "The operation was successful." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -1314,7 +1512,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } }, "get": { "tags": [ @@ -1323,8 +1524,12 @@ "operationId": "Certificate_Get", "description": "Gets information about the specified certificate.", "x-ms-examples": { - "Get Certificate": { "$ref": "./examples/CertificateGet.json" }, - "Get Certificate with Deletion Error": { "$ref": "./examples/CertificateGetWithDeletionError.json" } + "Get Certificate": { + "$ref": "./examples/CertificateGet.json" + }, + "Get Certificate with Deletion Error": { + "$ref": "./examples/CertificateGetWithDeletionError.json" + } }, "parameters": [ { @@ -1374,7 +1579,9 @@ "summary": "Cancels a failed deletion of a certificate from the specified account.", "description": "If you try to delete a certificate that is being used by a pool or compute node, the status of the certificate changes to deleteFailed. If you decide that you want to continue using the certificate, you can use this operation to set the status of the certificate back to active. If you intend to delete the certificate, you do not need to run this operation after the deletion failed. You must make sure that the certificate is not being used by any resources, and then you can try again to delete the certificate.", "x-ms-examples": { - "CertificateCancelDeletion": { "$ref": "./examples/CertificateCancelDeletion.json" } + "CertificateCancelDeletion": { + "$ref": "./examples/CertificateCancelDeletion.json" + } }, "parameters": [ { @@ -1415,24 +1622,31 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources": { "get": { "tags": [ - "Pool" + "PrivateLinkResource" ], - "operationId": "Pool_ListByBatchAccount", - "description": "Lists all of the pools in the specified account.", + "operationId": "PrivateLinkResource_ListByBatchAccount", + "description": "Lists all of the private link resources in the specified account.", "x-ms-examples": { - "ListPool": { "$ref": "./examples/PoolList.json" }, - "ListPoolWithFilter": { "$ref": "./examples/PoolListWithFilter.json" } + "ListPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } }, "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/AccountNameParameter" }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, { "name": "maxresults", "in": "query", @@ -1440,33 +1654,13 @@ "type": "integer", "format": "int32", "description": "The maximum number of items to return in the response." - }, - { - "name": "$select", - "in": "query", - "required": false, - "type": "string", - "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", "schema": { - "$ref": "#/definitions/ListPoolsResult" + "$ref": "#/definitions/ListPrivateLinkResourcesResult" } }, "default": { @@ -1481,71 +1675,40 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateLinkResources/{privateLinkResourceName}": { + "get": { "tags": [ - "Pool" + "PrivateLinkResource" ], - "operationId": "Pool_Create", - "description": "Creates a new pool inside the specified account.", + "operationId": "PrivateLinkResource_Get", + "description": "Gets information about the specified private link resource.", "x-ms-examples": { - "CreatePool - Minimal CloudServiceConfiguration": { "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" }, - "CreatePool - Minimal VirtualMachineConfiguration": { "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" }, - "CreatePool - Full Example": { "$ref": "./examples/PoolCreate_FullExample.json" }, - "CreatePool - Custom Image": { "$ref": "./examples/PoolCreate_CustomImage.json" }, - "CreatePool - Full VirtualMachineConfiguration": { "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" } + "GetPrivateLinkResource": { + "$ref": "./examples/PrivateLinkResourceGet.json" + } }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/AccountNameParameter" - }, - { - "$ref": "#/parameters/PoolNameParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Pool" - }, - "description": "Additional parameters for pool creation." + "$ref": "#/parameters/ResourceGroupNameParameter" }, { - "name": "If-Match", - "in": "header", - "required": false, - "type": "string", - "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied." + "$ref": "#/parameters/AccountNameParameter" }, { - "name": "If-None-Match", - "in": "header", - "required": false, - "type": "string", - "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored." + "$ref": "#/parameters/PrivateLinkResourceNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The operation was successful. The response contains the pool entity.", + "description": "The operation was successful. The response contains the private link resource.", "schema": { - "$ref": "#/definitions/Pool" - }, - "headers": { - "ETag": { - "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", - "type": "string" - } + "$ref": "#/definitions/PrivateLinkResource" } }, "default": { @@ -1554,39 +1717,392 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true - }, - "patch": { + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections": { + "get": { "tags": [ - "Pool" + "PrivateEndpointConnection" ], - "operationId": "Pool_Update", - "description": "Updates the properties of an existing pool.", + "operationId": "PrivateEndpointConnection_ListByBatchAccount", + "description": "Lists all of the private endpoint connections in the specified account.", "x-ms-examples": { - "UpdatePool - Resize Pool": { "$ref": "./examples/PoolUpdate_ResizePool.json" }, - "UpdatePool - Enable Autoscale": { "$ref": "./examples/PoolUpdate_EnableAutoScale.json" }, - "UpdatePool - Remove Start Task": { "$ref": "./examples/PoolUpdate_RemoveStartTask.json" }, - "UpdatePool - Other Properties": { "$ref": "./examples/PoolUpdate_OtherProperties.json" } + "ListPrivateEndpointConnections": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } }, "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/AccountNameParameter" + "$ref": "#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/PoolNameParameter" + "$ref": "#/parameters/AccountNameParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Pool" - }, - "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of private link resources associated with the account.", + "schema": { + "$ref": "#/definitions/ListPrivateEndpointConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Get", + "description": "Gets information about the specified private endpoint connection.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "PrivateEndpointConnection" + ], + "operationId": "PrivateEndpointConnection_Update", + "description": "Updates the properties of an existing private endpoint connection.", + "x-ms-examples": { + "UpdatePrivateEndpointConnection": { + "$ref": "./examples/PrivateEndpointConnectionUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "PrivateEndpointConnection properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The state (ETag) version of the private endpoint connection to update. This value can be omitted or set to \"*\" to apply the operation unconditionally." + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the PrivateEndpointConnection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The operation was accepted and will be performed in the background.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "The operation was successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools": { + "get": { + "tags": [ + "Pool" + ], + "operationId": "Pool_ListByBatchAccount", + "description": "Lists all of the pools in the specified account.", + "x-ms-examples": { + "ListPool": { + "$ref": "./examples/PoolList.json" + }, + "ListPoolWithFilter": { + "$ref": "./examples/PoolListWithFilter.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "name": "maxresults", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The maximum number of items to return in the response." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "Comma separated list of properties that should be returned. e.g. \"properties/provisioningState\". Only top level properties under properties/ are valid for selection." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are:\n\n name\n properties/allocationState\n properties/allocationStateTransitionTime\n properties/creationTime\n properties/provisioningState\n properties/provisioningStateTransitionTime\n properties/lastModified\n properties/vmSize\n properties/interNodeCommunication\n properties/scaleSettings/autoScale\n properties/scaleSettings/fixedScale" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of certificates associated with the account.", + "schema": { + "$ref": "#/definitions/ListPoolsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}": { + "put": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Create", + "description": "Creates a new pool inside the specified account.", + "x-ms-examples": { + "CreatePool - Minimal CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_MinimalCloudServiceConfiguration.json" + }, + "CreatePool - Minimal VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_MinimalVirtualMachineConfiguration.json" + }, + "CreatePool - Full CloudServiceConfiguration": { + "$ref": "./examples/PoolCreate_CloudServiceConfiguration.json" + }, + "CreatePool - Custom Image": { + "$ref": "./examples/PoolCreate_SharedImageGallery.json" + }, + "CreatePool - Public IPs": { + "$ref": "./examples/PoolCreate_PublicIPs.json" + }, + "CreatePool - Full VirtualMachineConfiguration": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration.json" + }, + "CreatePool - No public IP": { + "$ref": "./examples/PoolCreate_NoPublicIPAddresses.json" + }, + "CreatePool - UserAssignedIdentities": { + "$ref": "./examples/PoolCreate_UserAssignedIdentities.json" + }, + "CreatePool - VirtualMachineConfiguration Extensions": { + "$ref": "./examples/PoolCreate_VirtualMachineConfiguration_Extensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Additional parameters for pool creation." + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "The entity state (ETag) version of the pool to update. A value of \"*\" can be used to apply the operation only if the pool already exists. If omitted, this operation will always be applied." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "description": "Set to '*' to allow a new pool to be created, but to prevent updating an existing pool. Other values will be ignored." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the pool entity.", + "schema": { + "$ref": "#/definitions/Pool" + }, + "headers": { + "ETag": { + "description": "The ETag HTTP response header. This is an opaque string. You can use it to detect whether the resource has changed between requests. In particular, you can pass the ETag to one of the If-Match or If-None-Match headers.", + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Pool" + ], + "operationId": "Pool_Update", + "description": "Updates the properties of an existing pool.", + "x-ms-examples": { + "UpdatePool - Resize Pool": { + "$ref": "./examples/PoolUpdate_ResizePool.json" + }, + "UpdatePool - Enable Autoscale": { + "$ref": "./examples/PoolUpdate_EnableAutoScale.json" + }, + "UpdatePool - Remove Start Task": { + "$ref": "./examples/PoolUpdate_RemoveStartTask.json" + }, + "UpdatePool - Other Properties": { + "$ref": "./examples/PoolUpdate_OtherProperties.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + }, + "description": "Pool properties that should be updated. Properties that are supplied will be updated, any property not supplied will be unchanged." }, { "name": "If-Match", @@ -1630,7 +2146,9 @@ "operationId": "Pool_Delete", "description": "Deletes the specified pool.", "x-ms-examples": { - "DeletePool": { "$ref": "./examples/PoolDelete.json" } + "DeletePool": { + "$ref": "./examples/PoolDelete.json" + } }, "parameters": [ { @@ -1653,9 +2171,6 @@ "200": { "description": "The operation was successful." }, - "204": { - "description": "The operation was successful." - }, "202": { "description": "The operation will be completed asynchronously.", "headers": { @@ -1670,6 +2185,9 @@ } } }, + "204": { + "description": "The operation was successful." + }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -1677,7 +2195,10 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } }, "get": { "tags": [ @@ -1686,7 +2207,12 @@ "operationId": "Pool_Get", "description": "Gets information about the specified pool.", "x-ms-examples": { - "GetPool": { "$ref": "./examples/PoolGet.json" } + "GetPool": { + "$ref": "./examples/PoolGet.json" + }, + "GetPool - VirtualMachineConfiguration Extensions": { + "$ref": "./examples/PoolGet_VirtualMachineConfiguration_Extensions.json" + } }, "parameters": [ { @@ -1735,7 +2261,9 @@ "operationId": "Pool_DisableAutoScale", "description": "Disables automatic scaling for a pool.", "x-ms-examples": { - "Disable AutoScale": { "$ref": "./examples/PoolDisableAutoScale.json" } + "Disable AutoScale": { + "$ref": "./examples/PoolDisableAutoScale.json" + } }, "parameters": [ { @@ -1785,7 +2313,9 @@ "summary": "Stops an ongoing resize operation on the pool.", "description": "This does not restore the pool to its previous state before the resize operation: it only stops any further changes being made, and the pool maintains its current state. After stopping, the pool stabilizes at the number of nodes it was at when the stop operation was done. During the stop operation, the pool allocation state changes first to stopping and then to steady. A resize operation need not be an explicit resize pool request; this API can also be used to halt the initial sizing of the pool when it is created.", "x-ms-examples": { - "StopPoolResize": { "$ref": "./examples/PoolStopResize.json" } + "StopPoolResize": { + "$ref": "./examples/PoolStopResize.json" + } }, "parameters": [ { @@ -1825,14 +2355,88 @@ } } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "BatchAccount" + ], + "operationId": "BatchAccount_ListOutboundNetworkDependenciesEndpoints", + "description": "Lists the endpoints that a Batch Compute Node under this Batch Account may call as part of Batch service administration. If you are deploying a Pool inside of a virtual network that you specify, you must make sure your network allows outbound access to these endpoints. Failure to allow access to these endpoints may cause Batch to mark the affected nodes as unusable. For more information about creating a pool inside of a virtual network, see https://docs.microsoft.com/en-us/azure/batch/batch-virtual-network.", + "x-ms-examples": { + "ListOutboundNetworkDependencies": { + "$ref": "./examples/BatchAccountListOutboundNetworkDependenciesEndpoints.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of outbound network dependencies.", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { "AutoStorageBaseProperties": { + "type": "object", "properties": { "storageAccountId": { "type": "string", "description": "The resource ID of the storage account to be used for auto-storage account." + }, + "authenticationMode": { + "type": "string", + "description": "The authentication mode which the Batch service will use to manage the auto-storage account.", + "default": "StorageKeys", + "enum": [ + "StorageKeys", + "BatchAccountManagedIdentity" + ], + "x-ms-enum": { + "name": "AutoStorageAuthenticationMode", + "modelAsString": false, + "values": [ + { + "value": "StorageKeys", + "description": "The Batch service will authenticate requests to auto-storage using storage account keys." + }, + { + "value": "BatchAccountManagedIdentity", + "description": "The Batch service will authenticate requests to auto-storage using the managed identity assigned to the Batch account." + } + ] + } + }, + "nodeIdentityReference": { + "title": "The reference to the user assigned identity which compute nodes will use to access auto-storage.", + "description": "The identity referenced here must be assigned to pools which have compute nodes that need access to auto-storage.", + "$ref": "#/definitions/ComputeNodeIdentityReference" } }, "required": [ @@ -1841,15 +2445,30 @@ "description": "The properties related to the auto-storage account." }, "BatchAccountUpdateProperties": { + "type": "object", "properties": { "autoStorage": { "$ref": "#/definitions/AutoStorageBaseProperties", "description": "The properties related to the auto-storage account." + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + }, + "allowedAuthenticationModes": { + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." } }, "description": "The properties of a Batch account." }, "BatchAccountCreateProperties": { + "type": "object", "properties": { "autoStorage": { "$ref": "#/definitions/AutoStorageBaseProperties", @@ -1863,11 +2482,57 @@ "keyVaultReference": { "$ref": "#/definitions/KeyVaultReference", "description": "A reference to the Azure key vault associated with the Batch account." + }, + "publicNetworkAccess": { + "title": "The network access type for accessing Azure Batch account.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "$ref": "#/definitions/EncryptionProperties" + }, + "allowedAuthenticationModes": { + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." } }, "description": "The properties of a Batch account." }, + "AuthenticationMode": { + "type": "string", + "description": "The authentication mode for the Batch account.", + "enum": [ + "SharedKey", + "AAD", + "TaskAuthenticationToken" + ], + "x-ms-enum": { + "name": "AuthenticationMode", + "modelAsString": false, + "values": [ + { + "value": "SharedKey", + "description": "The authentication mode using shared keys." + }, + { + "value": "AAD", + "description": "The authentication mode using Azure Active Directory." + }, + { + "value": "TaskAuthenticationToken", + "description": "The authentication mode using task authentication tokens." + } + ] + } + }, "BatchAccountCreateParameters": { + "type": "object", "properties": { "location": { "type": "string", @@ -1884,6 +2549,10 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/BatchAccountCreateProperties", "description": "The properties of the Batch account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." } }, "required": [ @@ -1892,6 +2561,7 @@ "description": "Parameters supplied to the Create operation." }, "KeyVaultReference": { + "type": "object", "properties": { "id": { "type": "string", @@ -1909,6 +2579,7 @@ "description": "Identifies the Azure key vault associated with a Batch account." }, "AutoStorageProperties": { + "type": "object", "properties": { "lastKeySync": { "type": "string", @@ -1926,7 +2597,80 @@ ], "description": "Contains information about the auto-storage account associated with a Batch account." }, + "VirtualMachineFamilyCoreQuota": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "x-nullable": false, + "type": "string", + "description": "The Virtual Machine family name." + }, + "coreQuota": { + "readOnly": true, + "x-nullable": false, + "type": "integer", + "format": "int32", + "description": "The core quota for the VM family for the Batch account." + } + }, + "description": "A VM Family and its associated core quota for the Batch account." + }, + "BatchAccountIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the Batch account. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the Batch account. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the Batch account.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Batch account has a system assigned identity with it." + }, + { + "value": "UserAssigned", + "description": "Batch account has user assigned identities with it." + }, + { + "value": "None", + "description": "Batch account has no identity associated with it. Setting `None` in update account will remove existing identities." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the Batch account.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + } + } + }, + "description": "The identity of the Batch account, if configured. This is used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration or when `ManagedIdentity` is selected as the auto-storage authentication mode.", + "required": [ + "type" + ] + }, "BatchAccountProperties": { + "type": "object", "properties": { "accountEndpoint": { "type": "string", @@ -1988,48 +2732,102 @@ "readOnly": true, "$ref": "#/definitions/KeyVaultReference" }, + "publicNetworkAccess": { + "readOnly": true, + "x-nullable": true, + "title": "The network interface type for accessing Azure Batch service and Batch account operations.", + "description": "If not specified, the default value is 'enabled'.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "privateEndpointConnections": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connections associated with the Batch account" + }, "autoStorage": { "title": "The properties and status of any auto-storage account associated with the Batch account.", "readOnly": true, "$ref": "#/definitions/AutoStorageProperties" }, + "encryption": { + "title": "The encryption configuration for the Batch account.", + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead.", + "readOnly": true, + "$ref": "#/definitions/EncryptionProperties" + }, "dedicatedCoreQuota": { "readOnly": true, - "x-nullable": false, + "x-nullable": true, "type": "integer", "format": "int32", - "title": "The dedicated core quota for this Batch account." + "title": "The dedicated core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." }, "lowPriorityCoreQuota": { "readOnly": true, - "x-nullable": false, + "x-nullable": true, "type": "integer", "format": "int32", - "title": "The low-priority core quota for this Batch account." + "title": "The low-priority core quota for the Batch account.", + "description": "For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamily": { + "readOnly": true, + "x-nullable": true, + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineFamilyCoreQuota" + }, + "description": "A list of the dedicated core quota per Virtual Machine family for the Batch account. For accounts with PoolAllocationMode set to UserSubscription, quota is managed on the subscription so this value is not returned." + }, + "dedicatedCoreQuotaPerVMFamilyEnforced": { + "readOnly": true, + "x-nullable": false, + "type": "boolean", + "title": "A value indicating whether core quotas per Virtual Machine family are enforced for this account", + "description": "Batch is transitioning its core quota system for dedicated cores to be enforced per Virtual Machine family. During this transitional phase, the dedicated core quota per Virtual Machine family may not yet be enforced. If this flag is false, dedicated core quota is enforced via the old dedicatedCoreQuota property on the account and does not consider Virtual Machine family. If this flag is true, dedicated core quota is enforced via the dedicatedCoreQuotaPerVMFamily property on the account, and the old dedicatedCoreQuota does not apply." }, "poolQuota": { "readOnly": true, "x-nullable": false, "type": "integer", "format": "int32", - "title": "The pool quota for this Batch account." + "title": "The pool quota for the Batch account." }, "activeJobAndJobScheduleQuota": { "readOnly": true, "x-nullable": false, "type": "integer", "format": "int32", - "title": "The active job and job schedule quota for this Batch account." + "title": "The active job and job schedule quota for the Batch account." + }, + "allowedAuthenticationModes": { + "readOnly": true, + "x-nullable": false, + "type": "array", + "items": { + "$ref": "#/definitions/AuthenticationMode" + }, + "description": "List of allowed authentication modes for the Batch account that can be used to authenticate with the data plane. This does not affect authentication with the control plane." } }, "description": "Account specific properties." }, "BatchAccount": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/BatchAccountProperties", "description": "The properties associated with the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." } }, "allOf": [ @@ -2040,6 +2838,7 @@ "description": "Contains information about an Azure Batch account." }, "BatchAccountUpdateParameters": { + "type": "object", "properties": { "tags": { "type": "object", @@ -2052,11 +2851,16 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/BatchAccountUpdateProperties", "description": "The properties of the account." + }, + "identity": { + "$ref": "#/definitions/BatchAccountIdentity", + "description": "The identity of the Batch account." } }, "description": "Parameters for updating an Azure Batch account." }, "BatchAccountListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -2072,7 +2876,50 @@ }, "description": "Values returned by the List operation." }, + "EncryptionProperties": { + "type": "object", + "properties": { + "keySource": { + "type": "string", + "description": "Type of the key source.", + "enum": [ + "Microsoft.Batch", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": false, + "values": [ + { + "value": "Microsoft.Batch", + "description": "Batch creates and manages the encryption keys used to protect the account data." + }, + { + "value": "Microsoft.KeyVault", + "description": "The encryption keys used to protect the account data are stored in an external key vault. If this is set then the Batch Account identity must be set to `SystemAssigned` and a valid Key Identifier must also be supplied under the keyVaultProperties." + } + ] + } + }, + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Additional details when using Microsoft.KeyVault" + } + }, + "description": "Configures how customer data is encrypted inside the Batch account. By default, accounts are encrypted using a Microsoft managed key. For additional control, a customer-managed key can be used instead." + }, + "KeyVaultProperties": { + "type": "object", + "properties": { + "keyIdentifier": { + "type": "string", + "description": "Full path to the versioned secret. Example https://mykeyvault.vault.azure.net/keys/testkey/6e34a81fef704045975661e297a4c053. To be usable the following prerequisites must be met:\n\n The Batch Account has a System Assigned identity\n The account identity has been granted Key/Get, Key/Unwrap and Key/Wrap permissions\n The KeyVault has soft-delete and purge protection enabled" + } + }, + "description": "KeyVault configuration when using an encryption KeySource of Microsoft.KeyVault." + }, "BatchAccountRegenerateKeyParameters": { + "type": "object", "properties": { "keyName": { "type": "string", @@ -2103,6 +2950,7 @@ "description": "Parameters supplied to the RegenerateKey operation." }, "BatchAccountKeys": { + "type": "object", "properties": { "accountName": { "type": "string", @@ -2123,6 +2971,7 @@ "description": "A set of Azure Batch account keys." }, "ActivateApplicationPackageParameters": { + "type": "object", "properties": { "format": { "type": "string", @@ -2135,6 +2984,7 @@ "description": "Parameters for an activating an application package." }, "Application": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -2150,6 +3000,7 @@ "description": "Contains information about an application in a Batch account." }, "ApplicationProperties": { + "type": "object", "properties": { "displayName": { "type": "string", @@ -2167,6 +3018,7 @@ "description": "The properties associated with the Application." }, "ApplicationPackage": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -2182,6 +3034,7 @@ "description": "An application package which represents a particular version of an application." }, "ApplicationPackageProperties": { + "type": "object", "properties": { "state": { "type": "string", @@ -2232,6 +3085,7 @@ "description": "Properties of an application package" }, "ListApplicationsResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -2248,6 +3102,7 @@ "description": "The result of performing list applications." }, "ListApplicationPackagesResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -2264,6 +3119,7 @@ "description": "The result of performing list application packages." }, "BatchLocationQuota": { + "type": "object", "properties": { "accountQuota": { "type": "integer", @@ -2275,6 +3131,7 @@ "description": "Quotas associated with a Batch region for a particular subscription." }, "Resource": { + "type": "object", "properties": { "id": { "readOnly": true, @@ -2309,6 +3166,7 @@ "x-ms-azure-resource": true }, "ProxyResource": { + "type": "object", "properties": { "id": { "readOnly": true, @@ -2334,6 +3192,29 @@ "description": "A definition of an Azure resource.", "x-ms-azure-resource": true }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the resources in the Batch account.", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": false, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Azure Batch through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity and enables private connectivity to Azure Batch Service through private endpoint resource." + } + ] + } + }, "PoolAllocationMode": { "type": "string", "description": "The allocation mode for creating pools in the Batch account.", @@ -2357,15 +3238,17 @@ } }, "CertificateBaseProperties": { + "description": "Base certificate properties.", + "type": "object", "properties": { "thumbprintAlgorithm": { "type": "string", - "title": "The algorithm of the certificate thumbprint", + "title": "The algorithm of the certificate thumbprint.", "description": "This must match the first portion of the certificate name. Currently required to be 'SHA1'." }, "thumbprint": { "type": "string", - "title": "The thumbprint of the certificate", + "title": "The thumbprint of the certificate.", "description": "This must match the thumbprint from the name." }, "format": { @@ -2394,6 +3277,7 @@ } }, "CertificateProperties": { + "type": "object", "properties": { "provisioningState": { "type": "string", @@ -2485,6 +3369,7 @@ "description": "Certificate properties." }, "CertificateCreateOrUpdateProperties": { + "type": "object", "allOf": [ { "$ref": "#/definitions/CertificateBaseProperties" @@ -2499,13 +3384,16 @@ "password": { "type": "string", "title": "The password to access the certificate's private key.", - "description": "This is required if the certificate format is pfx and must be omitted if the certificate format is cer." + "description": "This must not be specified if the certificate format is Cer." } }, "description": "Certificate properties for create operations", - "required": [ "data" ] + "required": [ + "data" + ] }, "Certificate": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -2521,6 +3409,7 @@ "description": "Contains information about a certificate." }, "CertificateCreateOrUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, @@ -2536,6 +3425,7 @@ "description": "Contains information about a certificate." }, "ListCertificatesResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -2552,6 +3442,7 @@ "description": "Values returned by the List operation." }, "DeleteCertificateError": { + "type": "object", "properties": { "code": { "type": "string", @@ -2570,18 +3461,195 @@ "items": { "$ref": "#/definitions/DeleteCertificateError" }, - "description": "A list of additional details about the error." - } - }, - "required": [ "code", "message" ], - "description": "An error response from the Batch service." + "description": "A list of additional details about the error." + } + }, + "required": [ + "code", + "message" + ], + "description": "An error response from the Batch service." + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The properties associated with the private link resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "title": "The group id of the private link resource.", + "description": "The group id is used to establish the private link connection.", + "readOnly": true + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required members that are used to establish the private link connection.", + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of required zone names for the private DNS resource name", + "readOnly": true + } + }, + "description": "Private link resource properties." + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties associated with the private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Contains information about a private link resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "x-nullable": false, + "title": "The provisioning state of the private endpoint connection.", + "enum": [ + "Succeeded", + "Updating", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": false, + "values": [ + { + "value": "Succeeded", + "description": "The connection status is final and is ready for use if Status is Approved." + }, + { + "value": "Updating", + "description": "The user has requested that the connection status be updated, but the update operation has not yet completed. You may not reference the connection when connecting the Batch account." + }, + { + "value": "Failed", + "description": "The user requested that the connection be updated and it failed. You may retry the update operation." + } + ] + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "title": "The ARM resource identifier of the private endpoint." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "title": "The private link service connection state of the private endpoint connection." + } + }, + "description": "Private endpoint connection properties." + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "type": "string", + "title": "The ARM resource identifier of the private endpoint. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/privateEndpoints/{privateEndpoint}.", + "readOnly": true + } + }, + "description": "The private endpoint of the private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "title": "The status for the private endpoint connection of Batch account" + }, + "description": { + "type": "string", + "title": "Description of the private Connection state" + }, + "actionRequired": { + "type": "string", + "title": "Action required on the private connection state", + "readOnly": true + } + }, + "required": [ + "status" + ], + "description": "The private link service connection state of the private endpoint connection" + }, + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "title": "The status of the Batch private endpoint connection", + "enum": [ + "Approved", + "Pending", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false, + "values": [ + { + "value": "Approved", + "description": "The private endpoint connection is approved and can be used to access Batch account" + }, + { + "value": "Pending", + "description": "The private endpoint connection is pending and cannot be used to access Batch account" + }, + { + "value": "Rejected", + "description": "The private endpoint connection is rejected and cannot be used to access Batch account" + }, + { + "value": "Disconnected", + "description": "The private endpoint connection is disconnected and cannot be used to access Batch account" + } + ] + } }, "Pool": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/PoolProperties", "description": "The properties associated with the pool." + }, + "identity": { + "title": "The type of identity used for the Batch Pool.", + "description": "The type of identity used for the Batch Pool.", + "$ref": "#/definitions/BatchPoolIdentity" } }, "allOf": [ @@ -2592,6 +3660,7 @@ "description": "Contains information about a pool." }, "PoolProperties": { + "type": "object", "properties": { "displayName": { "type": "string", @@ -2677,7 +3746,7 @@ "vmSize": { "type": "string", "title": "The size of virtual machines in the pool. All VMs in a pool are the same size.", - "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (http://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." + "description": "For information about available sizes of virtual machines for Cloud Services pools (pools created with cloudServiceConfiguration), see Sizes for Cloud Services (https://azure.microsoft.com/documentation/articles/cloud-services-sizes-specs/). Batch supports all Cloud Services VM sizes except ExtraSmall. For information about available VM sizes for pools using images from the Virtual Machines Marketplace (pools created with virtualMachineConfiguration) see Sizes for Virtual Machines (Linux) (https://azure.microsoft.com/documentation/articles/virtual-machines-linux-sizes/) or Sizes for Virtual Machines (Windows) (https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/). Batch supports all Azure VM sizes except STANDARD_A0 and those with premium storage (STANDARD_GS, STANDARD_DS, and STANDARD_DSV2 series)." }, "deploymentConfiguration": { "$ref": "#/definitions/DeploymentConfiguration", @@ -2693,7 +3762,7 @@ "currentLowPriorityNodes": { "type": "integer", "format": "int32", - "title": "The number of low priority compute nodes currently in the pool.", + "title": "The number of low-priority compute nodes currently in the pool.", "readOnly": true }, "scaleSettings": { @@ -2733,14 +3802,16 @@ "$ref": "#/definitions/NetworkConfiguration", "title": "The network configuration for the pool." }, - "maxTasksPerNode": { + "taskSlotsPerNode": { "type": "integer", "format": "int32", - "title": "The maximum number of tasks that can run concurrently on a single compute node in the pool." + "title": "The number of task slots that can be used to run concurrent tasks on a single compute node in the pool.", + "description": "The default value is 1. The maximum value is the smaller of 4 times the number of cores of the vmSize of the pool or 256." }, "taskSchedulingPolicy": { "$ref": "#/definitions/TaskSchedulingPolicy", - "title": "How tasks are distributed across compute nodes in a pool." + "title": "How tasks are distributed across compute nodes in a pool.", + "description": "If not specified, the default is spread." }, "userAccounts": { "type": "array", @@ -2776,7 +3847,7 @@ "$ref": "#/definitions/ApplicationPackageReference" }, "title": "The list of application packages to be installed on each compute node in the pool.", - "description": "Changes to application packages affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged." + "description": "Changes to application package references affect all new compute nodes joining the pool, but do not affect compute nodes that are already in the pool until they are rebooted or reimaged. There is a maximum of 10 application package references on any given pool." }, "applicationLicenses": { "type": "array", @@ -2790,11 +3861,58 @@ "$ref": "#/definitions/ResizeOperationStatus", "title": "Contains details about the current or last completed resize operation.", "readOnly": true + }, + "mountConfiguration": { + "type": "array", + "items": { + "$ref": "#/definitions/MountConfiguration" + }, + "title": "A list of file systems to mount on each node in the pool.", + "description": "This supports Azure Files, NFS, CIFS/SMB, and Blobfuse." } }, "description": "Pool properties." }, + "BatchPoolIdentity": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of identity used for the Batch Pool.", + "enum": [ + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "PoolIdentityType", + "modelAsString": false, + "values": [ + { + "value": "UserAssigned", + "description": "Batch pool has user assigned identities with it." + }, + { + "value": "None", + "description": "Batch pool has no identity associated with it. Setting `None` in update pool will remove existing identities." + } + ] + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the Batch pool.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentities" + } + } + }, + "description": "The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities", + "required": [ + "type" + ] + }, "DeploymentConfiguration": { + "type": "object", "properties": { "cloudServiceConfiguration": { "$ref": "#/definitions/CloudServiceConfiguration", @@ -2810,6 +3928,7 @@ "title": "Deployment configuration properties." }, "ScaleSettings": { + "type": "object", "properties": { "fixedScale": { "$ref": "#/definitions/FixedScaleSettings", @@ -2826,6 +3945,7 @@ "description": "Defines the desired size of the pool. This can either be 'fixedScale' where the requested targetDedicatedNodes is specified, or 'autoScale' which defines a formula which is periodically reevaluated. If this property is not specified, the pool will have a fixed scale with 0 targetDedicatedNodes." }, "AutoScaleSettings": { + "type": "object", "properties": { "formula": { "type": "string", @@ -2842,10 +3962,13 @@ "description": "If omitted, the default value is 15 minutes (PT15M)." } }, - "required": [ "formula" ], + "required": [ + "formula" + ], "title": "AutoScale settings for the pool." }, "FixedScaleSettings": { + "type": "object", "properties": { "resizeTimeout": { "type": "string", @@ -2857,13 +3980,13 @@ "type": "integer", "format": "int32", "title": "The desired number of dedicated compute nodes in the pool.", - "description": "At least one of targetDedicatedNodes, targetLowPriority nodes must be set." + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." }, "targetLowPriorityNodes": { "type": "integer", "format": "int32", "title": "The desired number of low-priority compute nodes in the pool.", - "description": "At least one of targetDedicatedNodes, targetLowPriority nodes must be set." + "description": "At least one of targetDedicatedNodes, targetLowPriorityNodes must be set." }, "nodeDeallocationOption": { "title": "Determines what to do with a node and its running task(s) if the pool size is decreasing.", @@ -2906,6 +4029,7 @@ } }, "CertificateReference": { + "type": "object", "properties": { "id": { "type": "string", @@ -2955,7 +4079,7 @@ "values": [ { "value": "StartTask", - "description": "The certificate should be visible to the user account under which the start task is run." + "description": "The certificate should be visible to the user account under which the start task is run. Note that if AutoUser Scope is Pool for both the StartTask and a Task, this certificate will be visible to the Task as well." }, { "value": "Task", @@ -2971,10 +4095,13 @@ "title": "Which user accounts on the compute node should have access to the private data of the certificate." } }, - "required": [ "id" ], + "required": [ + "id" + ], "title": "A reference to a certificate to be installed on compute nodes in a pool. This must exist inside the same account as the pool." }, "ApplicationPackageReference": { + "type": "object", "properties": { "id": { "type": "string", @@ -2987,9 +4114,12 @@ } }, "title": "Link to an application package inside the batch account", - "required": [ "id" ] + "required": [ + "id" + ] }, "ResizeError": { + "type": "object", "properties": { "code": { "type": "string", @@ -3008,9 +4138,13 @@ } }, "title": "An error that occurred when resizing a pool.", - "required": [ "code", "message" ] + "required": [ + "code", + "message" + ] }, "AutoScaleRunError": { + "type": "object", "properties": { "code": { "type": "string", @@ -3029,9 +4163,13 @@ } }, "title": "An error that occurred when autoscaling a pool.", - "required": [ "code", "message" ] + "required": [ + "code", + "message" + ] }, "AutoScaleRun": { + "type": "object", "properties": { "evaluationTime": { "type": "string", @@ -3048,10 +4186,13 @@ "title": "Details of the error encountered evaluating the autoscale formula on the pool, if the evaluation was unsuccessful." } }, - "required": [ "evaluationTime" ], + "required": [ + "evaluationTime" + ], "title": "The results and errors from an execution of a pool autoscale formula." }, "VirtualMachineConfiguration": { + "type": "object", "properties": { "imageReference": { "$ref": "#/definitions/ImageReference", @@ -3084,18 +4225,40 @@ "$ref": "#/definitions/ContainerConfiguration", "title": "The container configuration for the pool.", "description": "If specified, setup is performed on each node in the pool to allow tasks to run in containers. All regular tasks and job manager tasks run on this pool must specify the containerSettings property, and all other tasks may specify it." + }, + "diskEncryptionConfiguration": { + "$ref": "#/definitions/DiskEncryptionConfiguration", + "title": "The disk encryption configuration for the pool.", + "description": "If specified, encryption is performed on each node in the pool during node provisioning." + }, + "nodePlacementConfiguration": { + "$ref": "#/definitions/NodePlacementConfiguration", + "title": "The node placement configuration for the pool.", + "description": "This configuration will specify rules on how nodes in the pool will be physically allocated." + }, + "extensions": { + "type": "array", + "items": { + "$ref": "#/definitions/VMExtension" + }, + "title": "The virtual machine extension for the pool.", + "description": "If specified, the extensions mentioned in this configuration will be installed on each node." + }, + "osDisk": { + "$ref": "#/definitions/OSDisk", + "title": "Settings for the operating system disk of the Virtual Machine.", + "description": "Contains configuration for ephemeral OSDisk settings." } }, - "required": [ "imageReference", "nodeAgentSkuId" ], + "required": [ + "imageReference", + "nodeAgentSkuId" + ], "title": "The configuration for compute nodes in a pool based on the Azure Virtual Machines infrastructure." }, "ContainerRegistry": { + "type": "object", "properties": { - "registryServer": { - "type": "string", - "title": "The registry URL.", - "description": "If omitted, the default is \"docker.io\"." - }, "username": { "type": "string", "x-ms-client-name": "userName", @@ -3104,12 +4267,58 @@ "password": { "type": "string", "title": "The password to log into the registry server." + }, + "registryServer": { + "type": "string", + "title": "The registry URL.", + "description": "If omitted, the default is \"docker.io\"." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access an Azure Container Registry instead of username and password.", + "$ref": "#/definitions/ComputeNodeIdentityReference" } }, - "required": [ "username", "password" ], "title": "A private container registry." }, + "DiskEncryptionConfiguration": { + "type": "object", + "properties": { + "targets": { + "type": "array", + "items": { + "type": "string", + "x-nullable": false, + "title": "The disks to encrypt on each compute node.", + "description": "If omitted, no disks on the compute nodes in the pool will be encrypted.", + "enum": [ + "OsDisk", + "TemporaryDisk" + ], + "x-ms-enum": { + "name": "DiskEncryptionTarget", + "modelAsString": false, + "values": [ + { + "value": "OsDisk", + "description": "The OS Disk on the compute node is encrypted.", + "name": "OsDisk" + }, + { + "value": "TemporaryDisk", + "description": "The temporary disk on the compute node is encrypted. On Linux this encryption applies to other partitions (such as those on mounted data disks) when encryption occurs at boot time.", + "name": "TemporaryDisk" + } + ] + } + }, + "title": "The list of disk targets Batch Service will encrypt on the compute node", + "description": "On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified." + } + }, + "description": "The disk encryption configuration applied on compute nodes in the pool. Disk encryption configuration is not supported on Linux pool created with Virtual Machine Image or Shared Image Gallery Image." + }, "ContainerConfiguration": { + "type": "object", "properties": { "type": { "type": "string", @@ -3145,10 +4354,97 @@ "description": "If any images must be downloaded from a private registry which requires credentials, then those credentials must be provided here." } }, - "required": [ "type" ], + "required": [ + "type" + ], "title": "The configuration for container-enabled pools." }, + "NodePlacementPolicyType": { + "type": "string", + "title": "The placement policy for allocating nodes in the pool.", + "description": "The default value is regional.", + "enum": [ + "Regional", + "Zonal" + ], + "x-ms-enum": { + "name": "NodePlacementPolicyType", + "modelAsString": false, + "values": [ + { + "value": "Regional", + "description": "All nodes in the pool will be allocated in the same region." + }, + { + "value": "Zonal", + "description": "Nodes in the pool will be spread across different zones with best effort balancing.", + "name": "Zonal" + } + ] + } + }, + "NodePlacementConfiguration": { + "title": "Node placement configuration for batch pools.", + "description": "Allocation configuration used by Batch Service to provision the nodes.", + "type": "object", + "properties": { + "policy": { + "$ref": "#/definitions/NodePlacementPolicyType", + "title": "Node placement Policy type on Batch Pools.", + "description": "Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy." + } + } + }, + "VMExtension": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "The name of the virtual machine extension." + }, + "publisher": { + "type": "string", + "title": "The name of the extension handler publisher." + }, + "type": { + "type": "string", + "title": "The type of the extensions." + }, + "typeHandlerVersion": { + "type": "string", + "title": "The version of script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "settings": { + "type": "object", + "title": "JSON formatted public settings for the extension." + }, + "protectedSettings": { + "x-ms-secret": true, + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all. " + }, + "provisionAfterExtensions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The collection of extension names.", + "description": "Collection of extension names after which this extension needs to be provisioned." + } + }, + "required": [ + "name", + "publisher", + "type" + ], + "title": "The configuration for virtual machine extensions." + }, "WindowsConfiguration": { + "type": "object", "properties": { "enableAutomaticUpdates": { "type": "boolean", @@ -3159,6 +4455,7 @@ "title": "Windows operating system settings to apply to the virtual machine." }, "ImageReference": { + "type": "object", "properties": { "publisher": { "type": "string", @@ -3173,7 +4470,7 @@ "sku": { "type": "string", "title": "The SKU of the Azure Virtual Machines Marketplace image.", - "description": "For example, 14.04.0-LTS or 2012-R2-Datacenter." + "description": "For example, 18.04-LTS or 2019-Datacenter." }, "version": { "type": "string", @@ -3182,19 +4479,20 @@ }, "id": { "type": "string", - "title": "The ARM resource identifier of the virtual machine image. Computes nodes of the pool will be created using this custom image. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}", - "description": "This property is mutually exclusive with other properties. The virtual machine image must be in the same region and subscription as the Azure Batch account. For information about the firewall settings for Batch node agent to communicate with Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration ." + "title": "The ARM resource identifier of the Shared Image Gallery Image. Compute Nodes in the Pool will be created using this Image Id. This is of the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageDefinitionName}/versions/{versionId}.", + "description": "This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration." } }, "title": "A reference to an Azure Virtual Machines Marketplace image or the Azure Image resource of a custom Virtual Machine. To get the list of all imageReferences verified by Azure Batch, see the 'List supported node agent SKUs' operation." }, "DataDisk": { + "type": "object", "properties": { "lun": { "type": "integer", "format": "int32", "title": "The logical unit number.", - "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun." + "description": "The lun is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct lun. The value must be between 0 and 63, inclusive." }, "caching": { "$ref": "#/definitions/CachingType", @@ -3216,9 +4514,10 @@ "lun", "diskSizeGB" ], - "description": "Data Disk settings which will be used by the data disks associated to Compute Nodes in the pool." + "description": "Settings which will be used by the data disks associated to Compute Nodes in the Pool. When using attached data disks, you need to mount and format the disks from within a VM to use them." }, "TaskSchedulingPolicy": { + "type": "object", "properties": { "nodeFillType": { "type": "string", @@ -3237,16 +4536,19 @@ }, { "value": "Pack", - "description": "As many tasks as possible (maxTasksPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool." + "description": "As many tasks as possible (taskSlotsPerNode) should be assigned to each node in the pool before any tasks are assigned to the next node in the pool." } ] } } }, - "required": [ "nodeFillType" ], + "required": [ + "nodeFillType" + ], "title": "Specifies how tasks should be distributed across compute nodes." }, "LinuxUserConfiguration": { + "type": "object", "properties": { "uid": { "type": "integer", @@ -3269,6 +4571,7 @@ "title": "Properties used to create a user account on a Linux node." }, "WindowsUserConfiguration": { + "type": "object", "properties": { "loginMode": { "type": "string", @@ -3297,6 +4600,7 @@ "title": "Properties used to create a user account on a Windows node." }, "UserAccount": { + "type": "object", "properties": { "name": { "type": "string", @@ -3322,10 +4626,14 @@ "$ref": "#/definitions/WindowsUserConfiguration" } }, - "required": [ "name", "password" ], + "required": [ + "name", + "password" + ], "title": "Properties used to create a user on an Azure Batch node." }, "StartTask": { + "type": "object", "properties": { "commandLine": { "type": "string", @@ -3360,7 +4668,7 @@ "waitForSuccess": { "type": "boolean", "title": "Whether the Batch service should wait for the start task to complete successfully (that is, to exit with exit code 0) before scheduling any tasks on the compute node.", - "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is false." + "description": "If true and the start task fails on a compute node, the Batch service retries the start task up to its maximum retry count (maxTaskRetryCount). If the task has still not completed successfully after all retries, then the Batch service marks the compute node unusable, and will not schedule tasks to it. This condition can be detected via the node state and scheduling error detail. If false, the Batch service will not wait for the start task to complete. In this case, other tasks can start executing on the compute node while the start task is still running; and even if the start task fails, new tasks will continue to be scheduled on the node. The default is true." }, "containerSettings": { "$ref": "#/definitions/TaskContainerSettings", @@ -3368,9 +4676,11 @@ "description": "When this is specified, all directories recursively below the AZ_BATCH_NODE_ROOT_DIR (the root of Azure Batch directories on the node) are mapped into the container, all task environment variables are mapped into the container, and the task command line is executed in the container." } }, - "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged." + "title": "A task which is run when a compute node joins a pool in the Azure Batch service, or when the compute node is rebooted or reimaged.", + "description": "In some cases the start task may be re-run even though the node was not rebooted. Due to this, start tasks should be idempotent and exit gracefully if the setup they're performing has already been done. Special care should be taken to avoid start tasks which create breakaway process or install/launch services from the start task working directory, as this will block Batch from being able to re-run the start task." }, "TaskContainerSettings": { + "type": "object", "properties": { "containerRunOptions": { "type": "string", @@ -3386,12 +4696,37 @@ "$ref": "#/definitions/ContainerRegistry", "title": "The private registry which contains the container image.", "description": "This setting can be omitted if was already provided at pool creation." + }, + "workingDirectory": { + "type": "string", + "title": "A flag to indicate where the container task working directory is. The default is 'taskWorkingDirectory'.", + "enum": [ + "TaskWorkingDirectory", + "ContainerImageDefault" + ], + "x-ms-enum": { + "name": "ContainerWorkingDirectory", + "modelAsString": false, + "values": [ + { + "value": "TaskWorkingDirectory", + "description": "Use the standard Batch service task working directory, which will contain the Task resource files populated by Batch." + }, + { + "value": "ContainerImageDefault", + "description": "Using container image defined working directory. Beware that this directory will not contain the resource files downloaded by Batch." + } + ] + } } }, - "required": [ "imageName" ], + "required": [ + "imageName" + ], "title": "The container settings for a task." }, "ResourceFile": { + "type": "object", "properties": { "autoStorageContainerName": { "type": "string", @@ -3401,12 +4736,12 @@ "storageContainerUrl": { "type": "string", "title": "The URL of the blob container within Azure Blob Storage.", - "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the blob, or set the ACL for the blob or its container to allow public access." + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. This URL must be readable and listable from compute nodes. There are three ways to get such a URL for a container in Azure storage: include a Shared Access Signature (SAS) granting read and list permissions on the container, use a managed identity with read and list permissions, or set the ACL for the container to allow public access." }, "httpUrl": { "type": "string", "title": "The URL of the file to download.", - "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL is Azure Blob Storage, it must be readable using anonymous access; that is, the Batch service does not present any credentials when downloading the blob. There are two ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, or set the ACL for the blob or its container to allow public access." + "description": "The autoStorageContainerName, storageContainerUrl and httpUrl properties are mutually exclusive and one of them must be specified. If the URL points to Azure Blob Storage, it must be readable from compute nodes. There are three ways to get such a URL for a blob in Azure storage: include a Shared Access Signature (SAS) granting read permissions on the blob, use a managed identity with read permission, or set the ACL for the blob or its container to allow public access." }, "blobPrefix": { "type": "string", @@ -3422,11 +4757,16 @@ "type": "string", "title": "The file permission mode attribute in octal format.", "description": "This property applies only to files being downloaded to Linux compute nodes. It will be ignored if it is specified for a resourceFile which will be downloaded to a Windows node. If this property is not specified for a Linux node, then a default value of 0770 is applied to the file." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access Azure Blob Storage specified by storageContainerUrl or httpUrl", + "$ref": "#/definitions/ComputeNodeIdentityReference" } }, "title": "A single file or multiple files to be downloaded to a compute node." }, "EnvironmentSetting": { + "type": "object", "properties": { "name": { "type": "string", @@ -3437,10 +4777,13 @@ "title": "The value of the environment variable." } }, - "required": [ "name" ], + "required": [ + "name" + ], "title": "An environment variable to be set on a task process." }, "UserIdentity": { + "type": "object", "properties": { "userName": { "type": "string", @@ -3456,12 +4799,39 @@ "title": "The definition of the user identity under which the task is run.", "description": "Specify either the userName or autoUser property, but not both." }, + "UserAssignedIdentities": { + "type": "object", + "description": "The list of associated user identities.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "ComputeNodeIdentityReference": { + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "description": "The ARM resource id of the user assigned identity." + } + }, + "description": "The reference to a user assigned identity associated with the Batch pool which a compute node will use." + }, "AutoUserSpecification": { + "type": "object", "properties": { "scope": { "type": "string", "title": "The scope for the auto user", - "description": "The default value is task.", + "description": "The default value is Pool. If the pool is running Windows a value of Task should be specified if stricter isolation between tasks is required. For example, if the task mutates the registry in a way which could impact other tasks, or if certificates have been specified on the pool which should not be accessible by normal tasks but should be accessible by start tasks.", "enum": [ "Task", "Pool" @@ -3483,7 +4853,7 @@ }, "elevationLevel": { "title": "The elevation level of the auto user.", - "description": "nonAdmin - The auto user is a standard user without elevated access. admin - The auto user is a user with elevated access and operates with full Administrator permissions. The default value is nonAdmin.", + "description": "The default value is nonAdmin.", "$ref": "#/definitions/ElevationLevel" } }, @@ -3546,26 +4916,113 @@ "modelAsString": false, "values": [ { - "value": "None", - "description": "The caching mode for the disk is not enabled." + "value": "None", + "description": "The caching mode for the disk is not enabled." + }, + { + "value": "ReadOnly", + "description": "The caching mode for the disk is read only." + }, + { + "value": "ReadWrite", + "description": "The caching mode for the disk is read and write." + } + ] + } + }, + "DiffDiskPlacement": { + "type": "string", + "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "enum": [ + "CacheDisk" + ], + "x-ms-enum": { + "name": "DiffDiskPlacement", + "modelAsString": false, + "values": [ + { + "value": "CacheDisk", + "description": "The Ephemeral OS Disk is stored on the VM cache.", + "name": "CacheDisk" + } + ] + } + }, + "DiffDiskSettings": { + "type": "object", + "properties": { + "placement": { + "$ref": "#/definitions/DiffDiskPlacement", + "title": "Specifies the ephemeral disk placement for operating system disk for all VMs in the pool.", + "description": "This property can be used by user in the request to choose which location the operating system should be in. e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements." + } + }, + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + }, + "OSDisk": { + "type": "object", + "properties": { + "ephemeralOSDiskSettings": { + "$ref": "#/definitions/DiffDiskSettings", + "title": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." + } + }, + "title": "Settings for the operating system disk of the virtual machine." + }, + "IPAddressProvisioningType": { + "type": "string", + "title": "The provisioning type for Public IP Addresses for the Batch Pool.", + "enum": [ + "BatchManaged", + "UserManaged", + "NoPublicIPAddresses" + ], + "x-ms-enum": { + "name": "IPAddressProvisioningType", + "modelAsString": false, + "values": [ + { + "value": "BatchManaged", + "description": "A public IP will be created and managed by Batch. There may be multiple public IPs depending on the size of the Pool." }, { - "value": "ReadOnly", - "description": "The caching mode for the disk is read only." + "value": "UserManaged", + "description": "Public IPs are provided by the user and will be used to provision the Compute Nodes." }, { - "value": "ReadWrite", - "description": "The caching mode for the disk is read and write." + "value": "NoPublicIPAddresses", + "description": "No public IP Address will be created for the Compute Nodes in the Pool." } ] } }, + "PublicIPAddressConfiguration": { + "type": "object", + "properties": { + "provision": { + "$ref": "#/definitions/IPAddressProvisioningType", + "title": "The provisioning type for Public IP Addresses for the pool", + "description": "The default value is BatchManaged" + }, + "ipAddressIds": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The list of public IPs which the Batch service will use when provisioning Compute Nodes.", + "description": "The number of IPs specified here limits the maximum size of the Pool - 100 dedicated nodes or 100 low-priority nodes can be allocated for each public IP. For example, a pool needing 250 dedicated VMs would need at least 3 public IPs specified. Each element of this collection is of the form: /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/publicIPAddresses/{ip}." + } + }, + "description": "The public IP Address configuration of the networking configuration of a Pool." + }, "NetworkConfiguration": { + "type": "object", "properties": { "subnetId": { "type": "string", "title": "The ARM resource identifier of the virtual network subnet which the compute nodes of the pool will join. This is of the form /subscriptions/{subscription}/resourceGroups/{group}/providers/{provider}/virtualNetworks/{network}/subnets/{subnet}.", - "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes, and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. For pools created via virtualMachineConfiguration the Batch account must have poolAllocationMode userSubscription in order to use a VNet. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", + "description": "The virtual network must be in the same region and subscription as the Azure Batch account. The specified subnet should have enough free IP addresses to accommodate the number of nodes in the pool. If the subnet doesn't have enough free IP addresses, the pool will partially allocate compute nodes and a resize error will occur. The 'MicrosoftAzureBatch' service principal must have the 'Classic Virtual Machine Contributor' Role-Based Access Control (RBAC) role for the specified VNet. The specified subnet must allow communication from the Azure Batch service to be able to schedule tasks on the compute nodes. This can be verified by checking if the specified VNet has any associated Network Security Groups (NSG). If communication to the compute nodes in the specified subnet is denied by an NSG, then the Batch service will set the state of the compute nodes to unusable. If the specified VNet has any associated Network Security Groups (NSG), then a few reserved system ports must be enabled for inbound communication. For pools created with a virtual machine configuration, enable ports 29876 and 29877, as well as port 22 for Linux and port 3389 for Windows. For pools created with a cloud service configuration, enable ports 10100, 20100, and 30100. Also enable outbound connections to Azure Storage on port 443. For cloudServiceConfiguration pools, only 'classic' VNETs are supported. For more details see: https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration", "externalDocs": { "url": "https://azure.microsoft.com/en-us/documentation/articles/role-based-access-built-in-roles/#classic-virtual-machine-contributor", "description": "Setting up RBAC for Azure Batch VNets" @@ -3575,16 +5032,22 @@ "$ref": "#/definitions/PoolEndpointConfiguration", "title": "The configuration for endpoints on compute nodes in the Batch pool.", "description": "Pool endpoint configuration is only supported on pools with the virtualMachineConfiguration property." + }, + "publicIPAddressConfiguration": { + "$ref": "#/definitions/PublicIPAddressConfiguration", + "title": "The Public IPAddress configuration for Compute Nodes in the Batch Pool.", + "description": "This property is only supported on Pools with the virtualMachineConfiguration property." } }, "description": "The network configuration for a pool." }, "CloudServiceConfiguration": { + "type": "object", "properties": { "osFamily": { "type": "string", "title": "The Azure Guest OS family to be installed on the virtual machines in the pool.", - "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." + "description": "Possible values are: 2 - OS Family 2, equivalent to Windows Server 2008 R2 SP1. 3 - OS Family 3, equivalent to Windows Server 2012. 4 - OS Family 4, equivalent to Windows Server 2012 R2. 5 - OS Family 5, equivalent to Windows Server 2016. 6 - OS Family 6, equivalent to Windows Server 2019. For more information, see Azure Guest OS Releases (https://azure.microsoft.com/documentation/articles/cloud-services-guestos-update-matrix/#releases)." }, "osVersion": { "type": "string", @@ -3592,10 +5055,13 @@ "description": "The default value is * which specifies the latest operating system version for the specified OS family." } }, - "required": [ "osFamily" ], + "required": [ + "osFamily" + ], "title": "The configuration for nodes in a pool based on the Azure Cloud Services platform." }, "MetadataItem": { + "type": "object", "properties": { "name": { "type": "string", @@ -3606,11 +5072,15 @@ "title": "The value of the metadata item." } }, - "required": [ "name", "value" ], + "required": [ + "name", + "value" + ], "title": "A name-value pair associated with a Batch service resource.", "description": "The Batch service does not assign any meaning to this metadata; it is solely for the use of user code." }, "ResizeOperationStatus": { + "type": "object", "properties": { "targetDedicatedNodes": { "type": "integer", @@ -3651,6 +5121,7 @@ "description": "Describes either the current operation (if the pool AllocationState is Resizing) or the previously completed operation (if the AllocationState is Steady)." }, "PoolEndpointConfiguration": { + "type": "object", "properties": { "inboundNatPools": { "type": "array", @@ -3658,13 +5129,16 @@ "$ref": "#/definitions/InboundNatPool" }, "title": "A list of inbound NAT pools that can be used to address specific ports on an individual compute node externally.", - "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400." + "description": "The maximum number of inbound NAT pools per Batch pool is 5. If the maximum number of inbound NAT pools is exceeded the request fails with HTTP status code 400. This cannot be specified if the IPAddressProvisioningType is NoPublicIPAddresses." } }, - "required": [ "inboundNatPools" ], + "required": [ + "inboundNatPools" + ], "title": "The endpoint configuration for a pool." }, "InboundNatPool": { + "type": "object", "properties": { "name": { "type": "string", @@ -3720,16 +5194,23 @@ } } }, - "required": [ "name", "protocol", "backendPort", "frontendPortRangeStart", "frontendPortRangeEnd" ], + "required": [ + "name", + "protocol", + "backendPort", + "frontendPortRangeStart", + "frontendPortRangeEnd" + ], "title": "A inbound NAT pool that can be used to address specific ports on compute nodes in a Batch pool externally." }, "NetworkSecurityGroupRule": { + "type": "object", "properties": { "priority": { "type": "integer", "format": "int32", "title": "The priority for this rule.", - "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 3500. If any reserved or duplicate values are provided the request fails with HTTP status code 400." + "description": "Priorities within a pool must be unique and are evaluated in order of priority. The lower the number the higher the priority. For example, rules could be specified with order numbers of 150, 250, and 350. The rule with the order number of 150 takes precedence over the rule that has an order of 250. Allowed priorities are 150 to 4096. If any reserved or duplicate values are provided the request fails with HTTP status code 400." }, "access": { "type": "string", @@ -3757,12 +5238,59 @@ "type": "string", "title": "The source address prefix or tag to match for the rule.", "description": "Valid values are a single IP address (i.e. 10.10.10.10), IP subnet (i.e. 192.168.1.0/24), default tag, or * (for all addresses). If any other values are provided the request fails with HTTP status code 400." + }, + "sourcePortRanges": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The source port ranges to match for the rule.", + "description": "Valid values are '*' (for all ports 0 - 65535) or arrays of ports or port ranges (i.e. 100-200). The ports should in the range of 0 to 65535 and the port ranges or ports can't overlap. If any other values are provided the request fails with HTTP status code 400. Default value will be *." } }, - "required": [ "priority", "access", "sourceAddressPrefix" ], + "required": [ + "priority", + "access", + "sourceAddressPrefix" + ], "title": "A network security group rule to apply to an inbound endpoint." }, + "ListPrivateLinkResourcesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The collection of returned private link resources." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "ListPrivateEndpointConnectionsResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The collection of returned private endpoint connection." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, "ListPoolsResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -3779,15 +5307,18 @@ "description": "Values returned by the List operation." }, "CloudError": { + "type": "object", "x-ms-external": true, "properties": { "error": { + "description": "The body of the error response.", "$ref": "#/definitions/CloudErrorBody" } }, "description": "An error response from the Batch service." }, "CloudErrorBody": { + "type": "object", "x-ms-external": true, "properties": { "code": { @@ -3812,6 +5343,67 @@ }, "description": "An error response from the Batch service." }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the feature." + }, + "value": { + "type": "string", + "readOnly": true, + "description": "The value of the feature." + } + }, + "description": "A SKU capability, such as the number of cores." + }, + "SupportedSku": { + "type": "object", + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the SKU." + }, + "familyName": { + "readOnly": true, + "type": "string", + "description": "The family name of the SKU." + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "description": "A collection of capabilities which this SKU supports." + } + }, + "description": "Describes a Batch supported SKU." + }, + "SupportedSkusResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SupportedSku" + }, + "description": "The list of SKUs available for the Batch service in the location." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "required": [ + "value" + ], + "description": "The Batch List supported SKUs operation response." + }, "Operation": { "title": "A REST API operation", "type": "object", @@ -3821,8 +5413,13 @@ "description": "This is of the format {provider}/{resource}/{operation}", "type": "string" }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, "display": { "title": "The object that describes the operation.", + "type": "object", "properties": { "provider": { "title": "Friendly name of the resource provider.", @@ -3855,6 +5452,7 @@ }, "OperationListResult": { "title": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "type": "object", "properties": { "value": { "type": "array", @@ -3870,6 +5468,7 @@ } }, "CheckNameAvailabilityParameters": { + "type": "object", "properties": { "name": { "type": "string", @@ -3877,9 +5476,11 @@ }, "type": { "type": "string", - "enum": [ "Microsoft.Batch/batchAccounts" ], + "enum": [ + "Microsoft.Batch/batchAccounts" + ], "x-ms-enum": { - "name": "Type", + "name": "ResourceType", "modelAsString": false, "values": [ { @@ -3889,7 +5490,7 @@ } ] }, - "description": "The resource type. Must be set to Microsoft.Batch/batchAccounts" + "description": "The resource type." } }, "required": [ @@ -3899,6 +5500,7 @@ "description": "Parameters for a check name availability request." }, "CheckNameAvailabilityResult": { + "type": "object", "properties": { "nameAvailable": { "readOnly": true, @@ -3935,6 +5537,242 @@ } }, "description": "The CheckNameAvailability operation response." + }, + "MountConfiguration": { + "type": "object", + "properties": { + "azureBlobFileSystemConfiguration": { + "$ref": "#/definitions/AzureBlobFileSystemConfiguration", + "title": "The Azure Storage Container to mount using blob FUSE on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "nfsMountConfiguration": { + "$ref": "#/definitions/NFSMountConfiguration", + "title": "The NFS file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "cifsMountConfiguration": { + "$ref": "#/definitions/CIFSMountConfiguration", + "title": "The CIFS/SMB file system to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + }, + "azureFileShareConfiguration": { + "$ref": "#/definitions/AzureFileShareConfiguration", + "title": "The Azure File Share to mount on each node.", + "description": "This property is mutually exclusive with all other properties." + } + }, + "title": "The file system to mount on each node." + }, + "AzureBlobFileSystemConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage Account name." + }, + "containerName": { + "type": "string", + "title": "The Azure Blob Storage Container name." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage Account key.", + "description": "This property is mutually exclusive with both sasKey and identity; exactly one must be specified." + }, + "sasKey": { + "type": "string", + "title": "The Azure Storage SAS token.", + "description": "This property is mutually exclusive with both accountKey and identity; exactly one must be specified." + }, + "blobfuseOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "identityReference": { + "title": "The reference to the user assigned identity to use to access containerName", + "description": "This property is mutually exclusive with both accountKey and sasKey; exactly one must be specified.", + "$ref": "#/definitions/ComputeNodeIdentityReference" + } + }, + "required": [ + "accountName", + "containerName", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Storage Container using Blobfuse." + }, + "NFSMountConfiguration": { + "type": "object", + "properties": { + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "source", + "relativeMountPath" + ], + "title": "Information used to connect to an NFS file system." + }, + "CIFSMountConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string", + "title": "The user to use for authentication against the CIFS file system." + }, + "source": { + "type": "string", + "title": "The URI of the file system to mount." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + }, + "password": { + "type": "string", + "title": "The password to use for authentication against the CIFS file system." + } + }, + "required": [ + "username", + "source", + "password", + "relativeMountPath" + ], + "title": "Information used to connect to a CIFS file system." + }, + "AzureFileShareConfiguration": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "title": "The Azure Storage account name." + }, + "azureFileUrl": { + "type": "string", + "title": "The Azure Files URL.", + "description": "This is of the form 'https://{account}.file.core.windows.net/'." + }, + "accountKey": { + "type": "string", + "title": "The Azure Storage account key." + }, + "relativeMountPath": { + "type": "string", + "title": "The relative path on the compute node where the file system will be mounted", + "description": "All file systems are mounted relative to the Batch mounts directory, accessible via the AZ_BATCH_NODE_MOUNTS_DIR environment variable." + }, + "mountOptions": { + "type": "string", + "title": "Additional command line options to pass to the mount command.", + "description": "These are 'net use' options in Windows and 'mount' options in Linux." + } + }, + "required": [ + "accountName", + "azureFileUrl", + "accountKey", + "relativeMountPath" + ], + "title": "Information used to connect to an Azure Fileshare." + }, + "OutboundEnvironmentEndpointCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "description": "The collection of outbound network dependency endpoints returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "OutboundEnvironmentEndpoint": { + "type": "object", + "properties": { + "category": { + "type": "string", + "readOnly": true, + "description": "The type of service that the Batch service connects to." + }, + "endpoints": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "description": "The endpoints for this service to which the Batch service makes outbound calls." + } + }, + "description": "A collection of related endpoints from the same service for which the Batch service requires outbound access." + }, + "EndpointDependency": { + "type": "object", + "properties": { + "domainName": { + "type": "string", + "readOnly": true, + "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Human-readable supplemental information about the dependency and when it is applicable." + }, + "endpointDetails": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "description": "The list of connection details for this endpoint." + } + }, + "description": "A domain name and connection details used to access a dependency." + }, + "EndpointDetail": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The port an endpoint is connected to." + } + }, + "description": "Details about the connection between the Batch service and the endpoint." } }, "parameters": { @@ -3965,7 +5803,7 @@ "in": "path", "required": true, "type": "string", - "pattern": "^[-\\w\\._]+$", + "pattern": "^[a-zA-Z0-9]+$", "minLength": 3, "maxLength": 24, "description": "The name of the Batch account.", @@ -3993,6 +5831,28 @@ "description": "The pool name. This must be unique within the account.", "x-ms-parameter-location": "method" }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private link resource name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_-]+\\.?[a-fA-F0-9-]*$", + "minLength": 1, + "maxLength": 101, + "description": "The private endpoint connection name. This must be unique within the account.", + "x-ms-parameter-location": "method" + }, "ApplicationNameParameter": { "name": "applicationName", "in": "path", diff --git a/App_Data/SwaggerSpecs/Microsoft.Billing/billing.json b/App_Data/SwaggerSpecs/Microsoft.Billing/billing.json index 05eb5119..d26a16a2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Billing/billing.json +++ b/App_Data/SwaggerSpecs/Microsoft.Billing/billing.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "version": "2017-04-24-preview", + "version": "2020-05-01", "title": "BillingManagementClient", - "description": "Billing client provides access to billing resources for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API." + "description": "Billing client provides access to billing resources for Azure subscriptions." }, "host": "management.azure.com", "schemes": [ @@ -15,76 +15,45 @@ "produces": [ "application/json" ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow.", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods": { + "/providers/Microsoft.Billing/billingAccounts": { "get": { "tags": [ - "BillingPeriods" + "BillingAccounts" ], - "operationId": "BillingPeriods_List", - "description": "Lists the available billing periods for a subscription in reverse chronological order.", - "externalDocs": { - "url": "https://go.microsoft.com/fwlink/?linkid=844490" - }, "x-ms-examples": { - "BillingPeriodsList": { - "$ref": "../examples/BillingPeriodsList.json" + "BillingAccountsList": { + "$ref": "./examples/BillingAccountsList.json" + }, + "BillingAccountsListWithExpand": { + "$ref": "./examples/BillingAccountsListWithExpand.json" + }, + "BillingAccountsListWithExpandForEnrollmentDetails": { + "$ref": "./examples/BillingAccountsListWithExpandForEnrollmentDetails.json" } }, + "operationId": "BillingAccounts_List", + "description": "Lists the billing accounts that a user has access to.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, { "$ref": "#/parameters/apiVersionParameter" }, { - "name": "$filter", - "description": "May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "name": "$expand", + "description": "May be used to expand the soldTo, invoice sections and billing profiles.", "in": "query", "required": false, "type": "string" - }, - { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N billing periods.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 100 } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingPeriodsListResult" + "$ref": "#/definitions/BillingAccountListResult" } }, "default": { @@ -99,30 +68,36 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}": { "get": { "tags": [ - "BillingPeriods" + "BillingAccounts" ], - "operationId": "BillingPeriods_Get", - "description": "Gets a named billing period.", "x-ms-examples": { - "BillingPeriodsGet": { - "$ref": "../examples/BillingPeriodsGet.json" + "BillingAccounts": { + "$ref": "./examples/BillingAccount.json" + }, + "BillingAccountWithExpand": { + "$ref": "./examples/BillingAccountWithExpand.json" } }, + "operationId": "BillingAccounts_Get", + "description": "Gets a billing account by its ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "#/parameters/apiVersionParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "#/parameters/billingAccountNameParameter" }, { - "name": "billingPeriodName", - "description": "The name of a BillingPeriod resource.", - "in": "path", - "required": true, + "name": "$expand", + "description": "May be used to expand the soldTo, invoice sections and billing profiles.", + "in": "query", + "required": false, "type": "string" } ], @@ -130,7 +105,7 @@ "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/BillingPeriod" + "$ref": "#/definitions/BillingAccount" } }, "default": { @@ -140,69 +115,86 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices": { - "get": { + }, + "patch": { "tags": [ - "Invoices" + "BillingAccounts" ], - "operationId": "Invoices_List", - "description": "Lists the available invoices for a subscription in reverse chronological order beginning with the most recent invoice. In preview, invoices are available via this API only for invoice periods which end December 1, 2016 or later.", - "externalDocs": { - "url": "https://go.microsoft.com/fwlink/?linkid=842057" + "operationId": "BillingAccounts_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" }, + "description": "Updates the properties of a billing account. Currently, displayName and address can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", "x-ms-examples": { - "InvoicesList": { - "$ref": "../examples/InvoicesList.json" - }, - "InvoicesExpand": { - "$ref": "../examples/InvoicesExpand.json" + "UpdateBillingAccount": { + "$ref": "./examples/UpdateBillingAccount.json" } }, "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, { "$ref": "#/parameters/apiVersionParameter" }, { - "name": "$expand", - "description": "May be used to expand the downloadUrl property within a list of invoices. This enables download links to be generated for multiple invoices at once. By default, downloadURLs are not included when listing invoices.", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/billingAccountNameParameter" }, { - "name": "$filter", - "description": "May be used to filter invoices by invoicePeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", - "in": "query", - "required": false, - "type": "string" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccountUpdateRequest" + }, + "description": "Request parameters that are provided to the update billing account operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } }, + "202": { + "description": "Accepted. Billing account update is in progress." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission": { + "post": { + "tags": [ + "BillingAccounts" + ], + "x-ms-examples": { + "InvoiceSectionsListWithCreateSubPermission": { + "$ref": "./examples/InvoiceSectionsListWithCreateSubPermission.json" + } + }, + "operationId": "BillingAccounts_ListInvoiceSectionsByCreateSubscriptionPermission", + "description": "Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ { - "name": "$skiptoken", - "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/apiVersionParameter" }, { - "name": "$top", - "description": "May be used to limit the number of results to the most recent N invoices.", - "in": "query", - "required": false, - "type": "integer", - "minimum": 1, - "maximum": 100 + "$ref": "#/parameters/billingAccountNameParameter" } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/InvoicesListResult" + "$ref": "#/definitions/InvoiceSectionListWithCreateSubPermissionResult" } }, "default": { @@ -217,38 +209,42 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}": { - "get": { + "/providers/Microsoft.Billing/validateAddress": { + "post": { "tags": [ - "Invoices" + "Address" ], - "operationId": "Invoices_Get", - "description": "Gets a named invoice resource. When getting a single invoice, the downloadUrl property is expanded automatically.", "x-ms-examples": { - "InvoicesGet": { - "$ref": "../examples/InvoicesGet.json" + "AddressValid": { + "$ref": "./examples/AddressValid.json" + }, + "AddressInvalid": { + "$ref": "./examples/AddressInvalid.json" } }, + "operationId": "Address_Validate", + "description": "Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, { "$ref": "#/parameters/apiVersionParameter" }, { - "name": "invoiceName", - "description": "The name of an invoice resource.", - "in": "path", + "name": "address", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/AddressDetails" + } } ], "responses": { "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/Invoice" + "$ref": "#/definitions/ValidateAddressResponse" } }, "default": { @@ -260,21 +256,27 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/latest": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default": { "get": { "tags": [ - "Invoices" + "AvailableBalances" ], - "operationId": "Invoices_GetLatest", - "description": "Gets the most recent invoice. When getting a single invoice, the downloadUrl property is expanded automatically.", + "operationId": "AvailableBalances_Get", + "description": "The available credit balance for a billing profile. This is the balance that can be used for pay now to settle due or past due invoices. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, "x-ms-examples": { - "InvoicesGetLatest": { - "$ref": "../examples/InvoicesGetLatest.json" + "AvailableBalanceByBillingProfile": { + "$ref": "./examples/AvailableBalanceByBillingProfile.json" } }, "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" }, { "$ref": "#/parameters/apiVersionParameter" @@ -284,7 +286,7 @@ "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/Invoice" + "$ref": "#/definitions/AvailableBalance" } }, "default": { @@ -296,14 +298,28 @@ } } }, - "/providers/Microsoft.Billing/operations": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions": { "get": { "tags": [ - "Operations" + "Instructions" ], - "operationId": "Operations_List", - "description": "Lists all of the available billing REST API operations.", + "operationId": "Instructions_ListByBillingProfile", + "description": "Lists the instructions by billing profile id.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "InstructionsListByBillingProfile": { + "$ref": "./examples/InstructionsListByBillingProfile.json" + } + }, "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, { "$ref": "#/parameters/apiVersionParameter" } @@ -312,7 +328,7 @@ "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "#/definitions/InstructionListResult" } }, "default": { @@ -326,115 +342,6037 @@ "nextLinkName": "nextLink" } } - } - }, - "definitions": { - "BillingPeriod": { - "description": "A billing period resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/BillingPeriodProperties" - } - } }, - "BillingPeriodsListResult": { - "description": "Result of listing billing periods. It contains a list of available billing periods in reverse chronological order.", - "properties": { - "value": { - "description": "The list of billing periods.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/BillingPeriod" + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/instructions/{instructionName}": { + "get": { + "tags": [ + "Instructions" + ], + "x-ms-examples": { + "Instruction": { + "$ref": "./examples/Instruction.json" } }, - "nextLink": { - "description": "The link (url) to the next page of results.", - "type": "string", - "readOnly": true - } - } - }, - "BillingPeriodProperties": { - "description": "The properties of the billing period.", - "properties": { - "billingPeriodStartDate": { - "description": "The start of the date range covered by the billing period.", - "type": "string", - "format": "date", - "readOnly": true - }, - "billingPeriodEndDate": { - "description": "The end of the date range covered by the billing period.", - "type": "string", - "format": "date", - "readOnly": true + "operationId": "Instructions_Get", + "description": "Get the instruction by name. These are custom billing instructions and are only applicable for certain customers.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" }, - "invoiceIds": { - "description": "Array of invoice ids that associated with.", - "type": "array", - "readOnly": true, - "items": { - "type": "string" + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/instructionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Instruction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } - } - }, - "DownloadUrl": { - "description": "A secure URL that can be used to download a PDF invoice until the URL expires.", - "properties": { - "expiryTime": { - "description": "The time in UTC at which this download URL will expire.", - "type": "string", - "format": "date-time", - "readOnly": true + }, + "put": { + "tags": [ + "Instructions" + ], + "operationId": "Instructions_Put", + "description": "Creates or updates an instruction. These are custom billing instructions and are only applicable for certain customers.", + "x-ms-examples": { + "PutInstruction": { + "$ref": "./examples/PutInstruction.json" + } }, - "url": { - "description": "The URL to the PDF file.", - "type": "string", - "readOnly": true + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/instructionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Instruction" + }, + "description": "The new instruction." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Instruction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } } }, - "ErrorDetails": { - "description": "The details of the error.", - "properties": { - "code": { - "description": "Error code.", - "type": "string", - "readOnly": true + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles": { + "get": { + "tags": [ + "BillingProfiles" + ], + "x-ms-examples": { + "BillingProfilesListByBillingAccount": { + "$ref": "./examples/BillingProfilesListByBillingAccount.json" + }, + "BillingProfilesListWithExpand": { + "$ref": "./examples/BillingProfilesListWithExpand.json" + } }, - "message": { - "description": "Error message indicating why the operation failed.", + "operationId": "BillingProfiles_ListByBillingAccount", + "description": "Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the invoice sections.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}": { + "get": { + "tags": [ + "BillingProfiles" + ], + "x-ms-examples": { + "BillingProfile": { + "$ref": "./examples/BillingProfile.json" + }, + "BillingProfileWithExpand": { + "$ref": "./examples/BillingProfileWithExpand.json" + } + }, + "operationId": "BillingProfiles_Get", + "description": "Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the invoice sections.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BillingProfiles" + ], + "operationId": "BillingProfiles_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "x-ms-examples": { + "CreateBillingProfile": { + "$ref": "./examples/PutBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProfile" + }, + "description": "The new or updated billing profile." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "CustomersListByBillingProfile": { + "$ref": "./examples/CustomersListByBillingProfile.json" + } + }, + "operationId": "Customers_ListByBillingProfile", + "description": "Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "$search", + "description": "Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter the list of customers.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections": { + "get": { + "tags": [ + "InvoiceSections" + ], + "x-ms-examples": { + "InvoiceSectionsListByBillingProfile": { + "$ref": "./examples/InvoiceSectionsListByBillingProfile.json" + } + }, + "operationId": "InvoiceSections_ListByBillingProfile", + "description": "Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}": { + "get": { + "tags": [ + "InvoiceSections" + ], + "x-ms-examples": { + "InvoiceSection": { + "$ref": "./examples/InvoiceSection.json" + } + }, + "operationId": "InvoiceSections_Get", + "description": "Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "InvoiceSections" + ], + "operationId": "InvoiceSections_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "PutInvoiceSection": { + "$ref": "./examples/PutInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InvoiceSection" + }, + "description": "The new or updated invoice section." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "CustomersListByBillingAccount": { + "$ref": "./examples/CustomersListByBillingAccount.json" + } + }, + "operationId": "Customers_ListByBillingAccount", + "description": "Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$search", + "description": "Used for searching customers by their name. Any customer with name containing the search text will be included in the response", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "description": "May be used to filter the list of customers.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}": { + "get": { + "tags": [ + "Customers" + ], + "x-ms-examples": { + "Customer": { + "$ref": "./examples/Customer.json" + }, + "CustomerWithExpand": { + "$ref": "./examples/CustomerWithExpand.json" + } + }, + "operationId": "Customers_Get", + "description": "Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand enabledAzurePlans and resellers", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingProfilePermissionsList": { + "$ref": "./examples/CustomerPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByCustomer", + "description": "Lists the billing permissions the caller has for a customer.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByCustomer", + "description": "Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByCustomer": { + "$ref": "./examples/BillingSubscriptionsListByCustomer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByCustomer", + "description": "Lists the products for a customer. These don't include products billed based on usage.The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByInvoiceSection": { + "$ref": "./examples/ProductsListByCustomer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingAccountInvoicesList": { + "$ref": "./examples/BillingAccountInvoicesList.json" + }, + "BillingAccountInvoicesListWithRebillDetails": { + "$ref": "./examples/BillingAccountInvoicesListWithRebillDetails.json" + } + }, + "operationId": "Invoices_ListByBillingAccount", + "description": "Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "periodStartDate", + "description": "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "InvoicesListByBillingProfile": { + "$ref": "./examples/InvoicesListByBillingProfile.json" + }, + "InvoicesListByBillingProfileWithRebillDetails": { + "$ref": "./examples/InvoicesListByBillingProfileWithRebillDetails.json" + } + }, + "operationId": "Invoices_ListByBillingProfile", + "description": "Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "periodStartDate", + "description": "The start date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "The end date to fetch the invoices. The date should be specified in MM-DD-YYYY format.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "Invoice": { + "$ref": "./examples/Invoice.json" + }, + "InvoiceWithRebillDetails": { + "$ref": "./examples/InvoiceWithRebillDetails.json" + }, + "VoidInvoice": { + "$ref": "./examples/VoidInvoice.json" + }, + "CreditNote": { + "$ref": "./examples/CreditNote.json" + } + }, + "operationId": "Invoices_Get", + "description": "Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "Invoice": { + "$ref": "./examples/InvoiceById.json" + } + }, + "operationId": "Invoices_GetById", + "description": "Gets an invoice by ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "InvoiceDownload": { + "$ref": "./examples/ModernInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadInvoice", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download an invoice. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "name": "downloadToken", + "description": "Download token with document source and document ID.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingProfileInvoiceDownload": { + "$ref": "./examples/MultipleModernInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingProfileInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByBillingAccount", + "description": "Lists the subscriptions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionsListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices": { + "get": { + "tags": [ + "Invoices" + ], + "operationId": "Invoices_ListByBillingSubscription", + "description": "Lists the invoices for a subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionInvoicesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "periodStartDate", + "description": "Invoice period start date.", + "in": "query", + "required": true, + "type": "string" + }, + { + "name": "periodEndDate", + "description": "Invoice period end date.", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoices" + ], + "operationId": "Invoices_GetBySubscriptionAndInvoiceId", + "description": "Gets an invoice by subscription ID and invoice ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/BillingSubscriptionInvoice.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingSubscriptionInvoiceDownload": { + "$ref": "./examples/BillingSubscriptionInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadBillingSubscriptionInvoice", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download an invoice.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "name": "downloadToken", + "description": "Download token with document source and document ID.", + "in": "query", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": { + "post": { + "tags": [ + "Invoices" + ], + "x-ms-examples": { + "BillingSubscriptionInvoiceDownload": { + "$ref": "./examples/MultipleBillingSubscriptionInvoiceDownload.json" + } + }, + "operationId": "Invoices_DownloadMultipleBillingSubscriptionInvoices", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "name": "downloadUrls", + "in": "body", + "required": true, + "description": "An array of download urls for individual documents", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "202": { + "description": "Accepted.", + "headers": { + "Location": { + "description": "GET this URL to retrieve the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "The amount of delay to use while the status of the operation is checked. The value is expressed in seconds.", + "type": "string" + } + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByBillingProfile", + "description": "Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingProfile": { + "$ref": "./examples/BillingSubscriptionsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_ListByInvoiceSection", + "description": "Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscriptionsListByInvoiceSection": { + "$ref": "./examples/BillingSubscriptionsListByInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}": { + "get": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_Get", + "description": "Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingSubscription": { + "$ref": "./examples/BillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BillingSubscriptions" + ], + "operationId": "BillingSubscriptions_Update", + "description": "Updates the properties of a billing subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateBillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscription" + }, + "description": "Request parameters that are provided to the update billing subscription operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/move": { + "post": { + "description": "Moves a subscription's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Move", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "MoveBillingSubscription": { + "$ref": "./examples/MoveBillingSubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferBillingSubscriptionRequestProperties" + }, + "description": "Request parameters that are provided to the move subscription operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "Accepted. Billing Subscription transfer is in progress.", + "headers": { + "Location": { + "description": "Location URI to poll for result.", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{subscriptionId}/validateMoveEligibility": { + "post": { + "x-ms-examples": { + "SubscriptionMoveValidateSuccess": { + "$ref": "./examples/ValidateSubscriptionMoveSuccess.json" + }, + "SubscriptionMoveValidateFailure": { + "$ref": "./examples/ValidateSubscriptionMoveFailure.json" + } + }, + "operationId": "BillingSubscriptions_ValidateMove", + "description": "Validates if a subscription's charges can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferBillingSubscriptionRequestProperties" + }, + "description": "Request parameters that are provided to the validate move eligibility operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateSubscriptionTransferEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByBillingAccount", + "description": "Lists the products for a billing account. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByBillingAccount": { + "$ref": "./examples/ProductsListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByBillingProfile", + "description": "Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByBillingProfile": { + "$ref": "./examples/ProductsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_ListByInvoiceSection", + "description": "Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "ProductsListByInvoiceSection": { + "$ref": "./examples/ProductsListByInvoiceSection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by product type. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value are separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProductsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}": { + "get": { + "tags": [ + "Products" + ], + "operationId": "Products_Get", + "description": "Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "Product": { + "$ref": "./examples/Product.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "Products" + ], + "operationId": "Products_Update", + "description": "Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateProduct.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Product" + }, + "description": "Request parameters that are provided to the update product operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move": { + "post": { + "tags": [ + "Products" + ], + "operationId": "Products_Move", + "description": "Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "MoveProduct": { + "$ref": "./examples/MoveProduct.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferProductRequestProperties" + }, + "description": "Request parameters that are provided to the move product operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility": { + "post": { + "x-ms-examples": { + "SubscriptionMoveValidateSuccess": { + "$ref": "./examples/ValidateProductMoveSuccess.json" + }, + "SubscriptionMoveValidateFailure": { + "$ref": "./examples/ValidateProductMoveFailure.json" + } + }, + "operationId": "Products_ValidateMove", + "description": "Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/productNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TransferProductRequestProperties" + }, + "description": "Request parameters that are provided to the validate move eligibility operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateProductTransferEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions": { + "get": { + "tags": [ + "Transactions" + ], + "operationId": "Transactions_ListByInvoice", + "description": "Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "TransactionsListByInvoice": { + "$ref": "./examples/TransactionsListByInvoice.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/invoiceNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default": { + "get": { + "tags": [ + "Policies" + ], + "operationId": "Policies_GetByBillingProfile", + "description": "Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "PolicyByBillingProfile": { + "$ref": "./examples/Policy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Policies" + ], + "operationId": "Policies_Update", + "description": "Updates the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdatePolicy": { + "$ref": "./examples/UpdatePolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Policy" + }, + "description": "Request parameters that are provided to the update policies operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default": { + "get": { + "tags": [ + "Policies" + ], + "operationId": "Policies_GetByCustomer", + "description": "Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "PolicyByCustomer": { + "$ref": "./examples/CustomerPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Policies" + ], + "operationId": "Policies_UpdateCustomer", + "description": "Updates the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "x-ms-examples": { + "UpdateCustomer": { + "$ref": "./examples/UpdateCustomerPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerPolicy" + }, + "description": "Request parameters that are provided to the update policies operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default": { + "get": { + "tags": [ + "BillingProperties" + ], + "operationId": "BillingProperty_Get", + "description": "Get the billing properties for a subscription. This operation is not supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "BillingProperty": { + "$ref": "./examples/BillingProperty.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "BillingProperties" + ], + "operationId": "BillingProperty_Update", + "description": "Updates the billing property of a subscription. Currently, cost center can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "x-ms-examples": { + "UpdateBillingProperty": { + "$ref": "./examples/UpdateBillingProperty.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProperty" + }, + "description": "Request parameters that are provided to the update billing property operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists the available billing REST API operations.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingAccountPermissionsList": { + "$ref": "./examples/BillingAccountPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByBillingAccount", + "description": "Lists the billing permissions the caller has on a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "InvoiceSectionPermissionsList": { + "$ref": "./examples/InvoiceSectionPermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByInvoiceSections", + "description": "Lists the billing permissions the caller has on an invoice section.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermissions" + ], + "x-ms-examples": { + "BillingProfilePermissionsList": { + "$ref": "./examples/BillingProfilePermissionsList.json" + } + }, + "operationId": "BillingPermissions_ListByBillingProfile", + "description": "Lists the billing permissions the caller has on a billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingPermissionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingAccountRoleDefinition": { + "$ref": "./examples/BillingAccountRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByBillingAccount", + "description": "Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "InvoiceSectionRoleDefinition": { + "$ref": "./examples/InvoiceSectionRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByInvoiceSection", + "description": "Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{billingRoleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingProfileRoleDefinition": { + "$ref": "./examples/BillingProfileRoleDefinition.json" + } + }, + "operationId": "BillingRoleDefinitions_GetByBillingProfile", + "description": "Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingAccountRoleDefinitionsList": { + "$ref": "./examples/BillingAccountRoleDefinitionsList.json" + } + }, + "operationId": "BillingRoleDefinitions_ListByBillingAccount", + "description": "Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "InvoiceSectionRoleDefinitionsList": { + "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json" + } + }, + "operationId": "BillingRoleDefinitions_ListByInvoiceSection", + "description": "Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinitions" + ], + "x-ms-examples": { + "BillingProfileRoleDefinitionsList": { + "$ref": "./examples/BillingProfileRoleDefinitionsList.json" + } + }, + "operationId": "BillingRoleDefinitions_ListByBillingProfile", + "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignment": { + "$ref": "./examples/BillingAccountRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByBillingAccount", + "description": "Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignmentDelete": { + "$ref": "./examples/BillingAccountRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByBillingAccount", + "description": "Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignment": { + "$ref": "./examples/InvoiceSectionRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByInvoiceSection", + "description": "Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignmentDelete": { + "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByInvoiceSection", + "description": "Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignment": { + "$ref": "./examples/BillingProfileRoleAssignment.json" + } + }, + "operationId": "BillingRoleAssignments_GetByBillingProfile", + "description": "Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignmentDelete": { + "$ref": "./examples/BillingProfileRoleAssignmentDelete.json" + } + }, + "operationId": "BillingRoleAssignments_DeleteByBillingProfile", + "description": "Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingRoleAssignmentNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingAccountRoleAssignmentList": { + "$ref": "./examples/BillingAccountRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByBillingAccount", + "description": "Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "InvoiceSectionRoleAssignmentList": { + "$ref": "./examples/InvoiceSectionRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByInvoiceSection", + "description": "Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignments" + ], + "x-ms-examples": { + "BillingProfileRoleAssignmentList": { + "$ref": "./examples/BillingProfileRoleAssignmentList.json" + } + }, + "operationId": "BillingRoleAssignments_ListByBillingProfile", + "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements": { + "get": { + "tags": [ + "Agreements" + ], + "x-ms-examples": { + "AgreementsListByBillingAccount": { + "$ref": "./examples/AgreementsListByBillingAccount.json" + } + }, + "operationId": "Agreements_ListByBillingAccount", + "description": "Lists the agreements for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the participants.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AgreementListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}": { + "get": { + "tags": [ + "Agreements" + ], + "x-ms-examples": { + "AgreementByName": { + "$ref": "./examples/AgreementByName.json" + } + }, + "operationId": "Agreements_Get", + "description": "Gets an agreement by ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/agreementNameParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the participants.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations": { + "get": { + "tags": [ + "Reservations" + ], + "x-ms-examples": { + "ReservationsListByBillingAccount": { + "$ref": "./examples/ReservationsListByBillingAccount.json" + } + }, + "operationId": "Reservations_ListByBillingAccount", + "description": "Lists the reservations for a billing account and the roll up counts of reservations group by provisioning states.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "description": "May be used to sort order by reservation properties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning states", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations": { + "get": { + "tags": [ + "Reservations" + ], + "x-ms-examples": { + "ReservationsListByBillingProfile": { + "$ref": "./examples/ReservationsListByBillingProfile.json" + } + }, + "operationId": "Reservations_ListByBillingProfile", + "description": "Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "description": "May be used to sort order by reservation properties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning state", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CustomerListResult": { + "description": "The list of customers.", + "properties": { + "value": { + "description": "The list of customers.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Customer" + } + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Customer": { + "description": "A partner's customer.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The customer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomerProperties" + } + } + }, + "CustomerProperties": { + "description": "The properties of a customer.", + "properties": { + "billingProfileId": { + "description": "The ID of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The name of the customer.", + "type": "string" + }, + "enabledAzurePlans": { + "description": "Azure plans enabled for the customer.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + }, + "resellers": { + "description": "The list of resellers for which an Azure plan is enabled for the customer.", + "type": "array", + "items": { + "$ref": "#/definitions/Reseller" + } + } + } + }, + "ValidateAddressResponse": { + "type": "object", + "description": "Result of the address validation", + "properties": { + "status": { + "description": "status of the address validation.", + "$ref": "#/definitions/AddressValidationStatus" + }, + "suggestedAddresses": { + "description": "The list of suggested addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/AddressDetails" + } + }, + "validationMessage": { + "description": "Validation error message.", + "type": "string" + } + } + }, + "AddressValidationStatus": { + "type": "string", + "description": "Status of the address validation.", + "enum": [ + "Valid", + "Invalid" + ], + "x-ms-enum": { + "name": "addressValidationStatus", + "modelAsString": true + } + }, + "TransferProductRequestProperties": { + "description": "The properties of the product to initiate a transfer.", + "properties": { + "destinationInvoiceSectionId": { + "type": "string", + "description": "The destination invoice section id." + } + } + }, + "TransferBillingSubscriptionRequestProperties": { + "type": "object", + "description": "Request parameters to transfer billing subscription.", + "required": [ + "destinationInvoiceSectionId" + ], + "properties": { + "destinationInvoiceSectionId": { + "type": "string", + "description": "The destination invoice section id." + } + } + }, + "ValidateSubscriptionTransferEligibilityResult": { + "type": "object", + "description": "Result of the transfer eligibility validation.", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the subscription is eligible to be transferred.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "Validation error details.", + "$ref": "#/definitions/ValidateSubscriptionTransferEligibilityError" + } + } + }, + "ValidateSubscriptionTransferEligibilityError": { + "type": "object", + "description": "Error details of the transfer eligibility validation", + "properties": { + "code": { + "description": "Error code for the product transfer validation.", + "$ref": "#/definitions/SubscriptionTransferValidationErrorCode" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "Detailed error message explaining the error.", + "type": "string" + } + } + }, + "SubscriptionTransferValidationErrorCode": { + "type": "string", + "description": "Error code of the transfer validation response.", + "enum": [ + "BillingAccountInactive", + "CrossBillingAccountNotAllowed", + "DestinationBillingProfileInactive", + "DestinationBillingProfileNotFound", + "DestinationBillingProfilePastDue", + "DestinationInvoiceSectionInactive", + "DestinationInvoiceSectionNotFound", + "InsufficientPermissionOnDestination", + "InsufficientPermissionOnSource", + "InvalidDestination", + "InvalidSource", + "MarketplaceNotEnabledOnDestination", + "NotAvailableForDestinationMarket", + "ProductInactive", + "ProductNotFound", + "ProductTypeNotSupported", + "SourceBillingProfilePastDue", + "SourceInvoiceSectionInactive", + "SubscriptionNotActive", + "SubscriptionTypeNotSupported" + ], + "x-ms-enum": { + "name": "subscriptionTransferValidationErrorCode", + "modelAsString": true + } + }, + "BillingAccountListResult": { + "description": "The list of billing accounts.", + "properties": { + "value": { + "description": "The list of billing accounts.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingAccount" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingAccount": { + "description": "A billing account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the billing account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingAccountProperties" + } + } + }, + "BillingAccountProperties": { + "description": "The properties of the billing account.", + "properties": { + "displayName": { + "description": "The billing account name.", + "type": "string" + }, + "soldTo": { + "description": "The address of the individual or organization that is responsible for the billing account.", + "$ref": "#/definitions/AddressDetails" + }, + "agreementType": { + "description": "The type of agreement.", + "type": "string", + "enum": [ + "MicrosoftCustomerAgreement", + "EnterpriseAgreement", + "MicrosoftOnlineServicesProgram", + "MicrosoftPartnerAgreement" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AgreementType", + "modelAsString": true + } + }, + "accountType": { + "description": "The type of customer.", + "type": "string", + "enum": [ + "Enterprise", + "Individual", + "Partner" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "accountStatus": { + "description": "The current status of the billing account.", + "type": "string", + "enum": [ + "Active", + "Deleted", + "Disabled", + "Expired", + "Transferred", + "Extended", + "Terminated" + ], + "readOnly": true, + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": true + } + }, + "billingProfiles": { + "description": "The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/BillingProfilesOnExpand" + }, + "enrollmentDetails": { + "description": "The details about the associated legacy enrollment. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Enrollment", + "readOnly": true + }, + "departments": { + "description": "The departments associated to the enrollment.", + "type": "array", + "items": { + "$ref": "#/definitions/Department" + } + }, + "enrollmentAccounts": { + "description": "The accounts associated to the enrollment.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing account.", + "type": "boolean", + "readOnly": true + }, + "notificationEmailAddress": { + "description": "Notification email address, only for legacy accounts", + "type": "string" + } + } + }, + "BillingProfilesOnExpand": { + "description": "The billing profiles associated with the billing account. By default this is not populated, unless it's specified in $expand.", + "properties": { + "hasMoreResults": { + "description": "Indicates whether there are more billing profiles than the ones listed in this collection. The collection lists a maximum of 50 billing profiles. To get all billing profiles, use the list billing profiles API.", + "type": "boolean", + "readOnly": true + }, + "value": { + "description": "The billing profiles associated with the billing account.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingProfile" + } + } + } + }, + "BillingAccountUpdateRequest": { + "description": "The request properties of the billing account that can be updated.", + "properties": { + "properties": { + "description": "A billing property.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingAccountProperties" + } + } + }, + "BillingProperty": { + "description": "A billing property.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing property.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingPropertyProperties" + } + } + }, + "BillingPropertyProperties": { + "description": "The billing property.", + "properties": { + "accountAdminNotificationEmailAddress": { + "description": "The email address on which the account admin gets all Azure notifications.", + "type": "string", + "readOnly": true + }, + "billingTenantId": { + "description": "The Azure AD tenant ID of the billing account for the subscription.", + "type": "string", + "readOnly": true + }, + "billingAccountId": { + "description": "The ID of the billing account to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingAccountDisplayName": { + "description": "The name of the billing account to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatusReasonCode", + "modelAsString": true + } + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileSpendingLimit", + "modelAsString": true + } + }, + "costCenter": { + "description": "The cost center applied to the subscription.", + "type": "string" + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "isAccountAdmin": { + "description": "Indicates whether user is the account admin.", + "type": "boolean", + "readOnly": true + }, + "productId": { + "description": "The product ID of the Azure plan.", + "type": "string", + "readOnly": true + }, + "productName": { + "description": "The product name of the Azure plan.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "The sku ID of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + } + } + }, + "Enrollment": { + "description": "The properties of an enrollment.", + "properties": { + "startDate": { + "description": "The start date of the enrollment.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment.", + "type": "string", + "format": "date-time" + }, + "currency": { + "description": "The billing currency for the enrollment.", + "type": "string", + "readOnly": true + }, + "channel": { + "description": "The channel type of the enrollment.", + "type": "string", + "readOnly": true + }, + "policies": { + "description": "The policies for Enterprise Agreement enrollments.", + "$ref": "#/definitions/EnrollmentPolicies", + "readOnly": true + }, + "language": { + "description": "The language for the enrollment.", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "The country code of the enrollment.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the enrollment.", + "type": "string", + "readOnly": true + }, + "billingCycle": { + "description": "The billing cycle for the enrollment.", + "type": "string", + "readOnly": true + } + } + }, + "EnrollmentPolicies": { + "description": "The policies for Enterprise Agreement enrollments.", + "properties": { + "accountOwnerViewCharges": { + "description": "The policy that controls whether Account Owners can view charges.", + "type": "boolean", + "readOnly": true + }, + "departmentAdminViewCharges": { + "description": "The policy that controls whether Department Administrators can view charges.", + "type": "boolean", + "readOnly": true + }, + "marketplaceEnabled": { + "description": "The policy that controls whether Azure marketplace purchases are allowed in the enrollment.", + "type": "boolean", + "readOnly": true + }, + "reservedInstancesEnabled": { + "description": "The policy that controls whether Azure reservation purchases are allowed in the enrollment.", + "type": "boolean", + "readOnly": true + } + } + }, + "Department": { + "description": "A department.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A department.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DepartmentProperties" + } + } + }, + "DepartmentProperties": { + "description": "The properties of a department.", + "properties": { + "departmentName": { + "description": "The name of the department.", + "type": "string" + }, + "costCenter": { + "description": "The cost center associated with the department.", + "type": "string" + }, + "status": { + "description": "The status of the department.", + "type": "string" + }, + "enrollmentAccounts": { + "description": "Associated enrollment accounts. By default this is not populated, unless it's specified in $expand.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + } + } + } + }, + "EnrollmentAccount": { + "description": "An enrollment account.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an enrollment account.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnrollmentAccountProperties" + } + } + }, + "EnrollmentAccountProperties": { + "description": "The properties of an enrollment account.", + "properties": { + "accountName": { + "description": "The name of the enrollment account.", + "type": "string" + }, + "costCenter": { + "description": "The cost center associated with the enrollment account.", + "type": "string" + }, + "accountOwner": { + "description": "The owner of the enrollment account.", + "type": "string" + }, + "accountOwnerEmail": { + "description": "The enrollment account owner email address.", + "type": "string" + }, + "status": { + "description": "The status of the enrollment account.", + "type": "string" + }, + "startDate": { + "description": "The start date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "department": { + "description": "Associated department. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/Department" + } + } + }, + "InstructionListResult": { + "description": "The list of billing instructions used during invoice generation.", + "properties": { + "value": { + "description": "The list of billing instructions used during invoice generation.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Instruction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingProfileListResult": { + "description": "The list of billing profiles.", + "properties": { + "value": { + "description": "The list of billing profiles.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingProfile" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingProfile": { + "description": "A billing profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the billing profile.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingProfileProperties" + } + } + }, + "Instruction": { + "description": "An instruction.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "A billing instruction used during invoice generation.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InstructionProperties" + } + } + }, + "InstructionProperties": { + "description": "A billing instruction used during invoice generation.", + "required": [ + "amount", + "startDate", + "endDate" + ], + "properties": { + "amount": { + "description": "The amount budgeted for this billing instruction.", + "type": "number" + }, + "startDate": { + "description": "The date this billing instruction goes into effect.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The date this billing instruction is no longer in effect.", + "type": "string", + "format": "date-time" + }, + "creationDate": { + "description": "The date this billing instruction was created.", + "type": "string", + "format": "date-time" + } + } + }, + "BillingProfileCreationRequest": { + "description": "The request parameters for creating a new billing profile.", + "properties": { + "displayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "poNumber": { + "description": "The purchase order name that will appear on the invoices generated for the billing profile.", + "type": "string" + }, + "billTo": { + "description": "The address of the individual or organization that is responsible for the billing profile.", + "$ref": "#/definitions/AddressDetails" + }, + "invoiceEmailOptIn": { + "description": "Flag controlling whether the invoices for the billing profile are sent through email.", + "type": "boolean" + }, + "enabledAzurePlans": { + "description": "Enabled azure plans for the billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + } + } + }, + "BillingProfileProperties": { + "description": "The properties of the billing profile.", + "properties": { + "displayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "poNumber": { + "description": "The purchase order name that will appear on the invoices generated for the billing profile.", + "type": "string" + }, + "billingRelationshipType": { + "description": "Identifies which services and purchases are paid by a billing profile.", + "type": "string", + "enum": [ + "Direct", + "IndirectCustomer", + "IndirectPartner", + "CSPPartner" + ], + "readOnly": true, + "x-ms-enum": { + "name": "BillingRelationshipType", + "modelAsString": true + } + }, + "billTo": { + "description": "Billing address.", + "$ref": "#/definitions/AddressDetails" + }, + "indirectRelationshipInfo": { + "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.", + "readOnly": true, + "$ref": "#/definitions/IndirectRelationshipInfo" + }, + "invoiceEmailOptIn": { + "description": "Flag controlling whether the invoices for the billing profile are sent through email.", + "type": "boolean" + }, + "invoiceDay": { + "description": "The day of the month when the invoice for the billing profile is generated.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "currency": { + "description": "The currency in which the charges for the billing profile are billed.", + "type": "string", + "readOnly": true + }, + "enabledAzurePlans": { + "description": "Information about the enabled azure plans.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + }, + "invoiceSections": { + "description": "The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/InvoiceSectionsOnExpand" + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing profile.", + "type": "boolean", + "readOnly": true + }, + "systemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "statusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusReasonCode", + "modelAsString": true + } + }, + "spendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpendingLimit", + "modelAsString": true + } + }, + "targetClouds": { + "description": "Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TargetCloud" + } + }, + "tags": { + "description": "Tags of billing profiles.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "maxItems": 1000 + } + } + }, + "InvoiceSectionsOnExpand": { + "description": "The invoice sections associated to the billing profile. By default this is not populated, unless it's specified in $expand.", + "properties": { + "hasMoreResults": { + "description": "Indicates whether there are more invoice sections than the ones listed in this collection. The collection lists a maximum of 50 invoice sections. To get all invoice sections, use the list invoice sections API.", + "type": "boolean", + "readOnly": true + }, + "value": { + "description": "The invoice sections associated to the billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSection" + } + } + } + }, + "AddressDetails": { + "description": "Address details.", + "required": [ + "addressLine1", + "country" + ], + "properties": { + "firstName": { + "description": "First name.", + "type": "string" + }, + "middleName": { + "description": "Middle name.", + "type": "string" + }, + "lastName": { + "description": "Last name.", + "type": "string" + }, + "companyName": { + "description": "Company name.", + "type": "string" + }, + "addressLine1": { + "description": "Address line 1.", + "type": "string" + }, + "addressLine2": { + "description": "Address line 2.", + "type": "string" + }, + "addressLine3": { + "description": "Address line 3.", + "type": "string" + }, + "city": { + "description": "Address city.", + "type": "string" + }, + "district": { + "description": "Address district.", + "type": "string" + }, + "region": { + "description": "Address region.", + "type": "string" + }, + "country": { + "description": "Country code uses ISO2, 2-digit format.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "email": { + "description": "Email address.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number.", + "type": "string" + } + } + }, + "IndirectRelationshipInfo": { + "description": "The billing profile details of the partner of the customer for an indirect motion.", + "properties": { + "billingAccountName": { + "description": "The billing account name of the partner or the customer for an indirect motion.", + "type": "string" + }, + "billingProfileName": { + "description": "The billing profile name of the partner or the customer for an indirect motion.", + "type": "string" + }, + "displayName": { + "description": "The display name of the partner or customer for an indirect motion.", + "type": "string" + } + } + }, + "InvoiceSectionCreationRequest": { + "description": "The properties of the invoice section.", + "properties": { + "displayName": { + "description": "The name of the invoice section.", + "type": "string" + } + } + }, + "InvoiceSectionListResult": { + "description": "The list of invoice sections.", + "properties": { + "value": { + "description": "The list of invoice sections.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSection": { + "description": "An invoice section.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of an invoice section.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceSectionProperties" + } + } + }, + "InvoiceSectionProperties": { + "description": "The properties of an invoice section.", + "properties": { + "displayName": { + "description": "The name of the invoice section.", + "type": "string" + }, + "labels": { + "type": "object", + "description": "Dictionary of metadata associated with the invoice section.", + "additionalProperties": { + "type": "string" + }, + "maxItems": 50 + }, + "state": { + "description": "Identifies the state of an invoice section.", + "type": "string", + "enum": [ + "Active", + "Restricted" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceSectionState", + "modelAsString": true + } + }, + "systemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + }, + "tags": { + "type": "object", + "description": "Dictionary of metadata associated with the invoice section. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "additionalProperties": { + "type": "string" + }, + "maxItems": 50 + }, + "targetCloud": { + "description": "Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.", + "$ref": "#/definitions/TargetCloud", + "readOnly": true + } + } + }, + "InvoiceSectionListWithCreateSubPermissionResult": { + "type": "object", + "description": "The list of invoice section properties with create subscription permission.", + "properties": { + "value": { + "description": "The list of invoice section properties with create subscription permission.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSectionWithCreateSubPermission" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSectionWithCreateSubPermission": { + "description": "Invoice section properties with create subscription permission.", + "properties": { + "invoiceSectionId": { + "description": "The ID of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionSystemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for the invoice section.", + "type": "string", + "readOnly": true + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Active", + "Disabled", + "Warned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "PastDue", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "StatusReasonCodeForBillingProfile", + "modelAsString": true + } + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitForBillingProfile", + "modelAsString": true + } + }, + "billingProfileSystemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "enabledAzurePlans": { + "description": "Enabled azure plans for the associated billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/AzurePlan" + } + } + } + }, + "AzurePlan": { + "description": "Details of the Azure plan.", + "properties": { + "skuId": { + "description": "The sku id.", + "type": "string" + }, + "skuDescription": { + "description": "The sku description.", + "type": "string", + "readOnly": true + } + } + }, + "DownloadUrl": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "properties": { + "expiryTime": { + "description": "The time in UTC when the download URL will expire.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "url": { + "description": "The URL to the PDF file.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The sub details of the error.", + "readOnly": true, + "$ref": "#/definitions/ErrorSubDetails" + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "ErrorSubDetails": { + "type": "array", + "items": { + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + } + }, + "Reseller": { + "description": "Details of the reseller.", + "properties": { + "resellerId": { + "description": "The MPN ID of the reseller.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The name of the reseller.", + "type": "string", + "readOnly": true + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "x-ms-azure-resource": true + }, + "InvoiceListResult": { + "description": "The list of invoices.", + "properties": { + "value": { + "description": "The list of invoices.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Invoice" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Invoice": { + "description": "An invoice.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "An invoice.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InvoiceProperties" + } + } + }, + "InvoiceProperties": { + "description": "The properties of the invoice.", + "properties": { + "dueDate": { + "description": "The due date for the invoice.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoiceDate": { + "description": "The date when the invoice was generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "status": { + "description": "The current status of the invoice.", + "type": "string", + "enum": [ + "Due", + "OverDue", + "Paid", + "Void" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceStatus", + "modelAsString": true + } + }, + "amountDue": { + "description": "The amount due as of now.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "azurePrepaymentApplied": { + "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billedAmount": { + "description": "The total charges for the invoice billing period.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "creditAmount": { + "description": "The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "freeAzureCreditApplied": { + "description": "The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "subTotal": { + "description": "The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "taxAmount": { + "description": "The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "totalAmount": { + "description": "The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "invoicePeriodStartDate": { + "description": "The start date of the billing period for which the invoice is generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoicePeriodEndDate": { + "description": "The end date of the billing period for which the invoice is generated.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoiceType": { + "description": "Invoice type.", + "enum": [ + "AzureService", + "AzureMarketplace", + "AzureSupport" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceType", + "modelAsString": true + } + }, + "isMonthlyInvoice": { + "description": "Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "type": "boolean", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "purchaseOrderNumber": { + "description": "An optional purchase order number for the invoice.", + "type": "string", + "readOnly": true + }, + "documents": { + "description": "List of documents available to download such as invoice and tax receipt.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Document" + } + }, + "payments": { + "description": "List of payments.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PaymentProperties" + } + }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + }, + "documentType": { + "description": "The type of the document.", + "type": "string", + "enum": [ + "Invoice", + "CreditNote" + ], + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceDocumentType", + "modelAsString": true + } + }, + "billedDocumentId": { + "description": "The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.", + "type": "string", + "readOnly": true + }, + "creditForDocumentId": { + "description": "The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription for which the invoice is generated.", + "type": "string", + "readOnly": true + } + } + }, + "PaymentProperties": { + "description": "The properties of a payment.", + "properties": { + "paymentType": { + "description": "The type of payment.", + "type": "string", + "readOnly": true + }, + "amount": { + "description": "The paid amount.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "date": { + "description": "The date when the payment was made.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "paymentMethodFamily": { + "description": "The family of payment method.", + "type": "string", + "enum": [ + "Credits", + "CheckWire", + "CreditCard", + "None" + ], + "x-ms-enum": { + "name": "PaymentMethodFamily", + "modelAsString": true + } + }, + "paymentMethodType": { + "description": "The type of payment method.", + "type": "string", + "readOnly": true + } + } + }, + "RebillDetails": { + "description": "The rebill details of an invoice.", + "properties": { + "creditNoteDocumentId": { + "description": "The ID of credit note.", + "type": "string", + "readOnly": true + }, + "invoiceDocumentId": { + "description": "The ID of invoice.", + "type": "string", + "readOnly": true + }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "type": "object", + "readOnly": true, + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/RebillDetails" + } + } + } + }, + "Document": { + "description": "The properties of a document.", + "properties": { + "kind": { + "description": "The type of the document.", + "type": "string", + "enum": [ + "Invoice", + "VoidNote", + "TaxReceipt", + "CreditNote" + ], + "readOnly": true, + "x-ms-enum": { + "name": "DocumentType", + "modelAsString": true + } + }, + "url": { + "description": "Document URL.", + "type": "string", + "readOnly": true + }, + "source": { + "description": "The source of the document. ENF for Brazil and DRS for rest of the world.", + "type": "string", + "enum": [ + "DRS", + "ENF" + ], + "readOnly": true, + "x-ms-enum": { + "name": "DocumentSource", + "modelAsString": true + } + } + } + }, + "ProductsListResult": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "properties": { + "value": { + "description": "The list of products.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Product" + } + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Product": { + "description": "A product.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProductProperties", + "title": "Product properties" + } + } + }, + "ProductProperties": { + "description": "The properties of a product.", + "properties": { + "autoRenew": { + "description": "Indicates whether auto renewal is turned on or off for a product.", + "type": "string", + "enum": [ + "Off", + "On" + ], + "x-ms-enum": { + "name": "AutoRenew", + "modelAsString": true + } + }, + "displayName": { + "description": "The display name of the product.", + "type": "string", + "readOnly": true + }, + "purchaseDate": { + "description": "The date when the product was purchased.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "productTypeId": { + "description": "The ID of the type of product.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "The description of the type of product.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The current status of the product.", + "type": "string", + "enum": [ + "Active", + "Inactive", + "PastDue", + "Expiring", + "Expired", + "Disabled", + "Cancelled", + "AutoRenew" + ], + "x-ms-enum": { + "name": "ProductStatusType", + "modelAsString": true + } + }, + "endDate": { + "description": "The date when the product will be renewed or canceled.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingFrequency": { + "description": "The frequency at which the product will be billed.", + "type": "string", + "enum": [ + "OneTime", + "Monthly", + "UsageBased" + ], + "x-ms-enum": { + "name": "BillingFrequency", + "modelAsString": true + } + }, + "lastCharge": { + "description": "The last month charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "lastChargeDate": { + "description": "The date of the last charge.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "quantity": { + "description": "The quantity purchased for the product.", + "type": "number", + "readOnly": true + }, + "skuId": { + "description": "The sku ID of the product.", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the product.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "The id of the tenant in which the product is used.", + "type": "string", + "readOnly": true + }, + "availabilityId": { + "description": "The availability of the product.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Reseller for this product.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + } + } + }, + "ValidateProductTransferEligibilityResult": { + "type": "object", + "description": "Result of the product transfer eligibility validation.", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the transfer is eligible or not.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "Validation error details.", + "$ref": "#/definitions/ValidateProductTransferEligibilityError" + } + } + }, + "ValidateProductTransferEligibilityError": { + "type": "object", + "description": "Error details of the product transfer eligibility validation.", + "properties": { + "code": { + "description": "Error code for the product transfer validation.", + "$ref": "#/definitions/ProductTransferValidationErrorCode" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "Detailed error message explaining the error.", + "type": "string" + } + } + }, + "ProductTransferValidationErrorCode": { + "type": "string", + "description": "Error code of the transfer validation response.", + "enum": [ + "InvalidSource", + "ProductNotActive", + "InsufficientPermissionOnSource", + "InsufficientPermissionOnDestination", + "DestinationBillingProfilePastDue", + "ProductTypeNotSupported", + "CrossBillingAccountNotAllowed", + "NotAvailableForDestinationMarket", + "OneTimePurchaseProductTransferNotAllowed" + ], + "x-ms-enum": { + "name": "ProductTransferValidationErrorCode", + "modelAsString": true + } + }, + "BillingSubscriptionsListResult": { + "description": "The list of billing subscriptions.", + "properties": { + "value": { + "description": "The list of billing subscriptions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingSubscription": { + "description": "A billing subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingSubscriptionProperties", + "title": "Billing subscription properties" + } + } + }, + "BillingSubscriptionProperties": { + "description": "The billing properties of a subscription.", + "properties": { + "displayName": { + "description": "The name of the subscription.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "subscriptionBillingStatus": { + "description": "The current billing status of the subscription.", + "type": "string", + "enum": [ + "Active", + "Inactive", + "Abandoned", + "Deleted", + "Warning" + ], + "x-ms-enum": { + "name": "BillingSubscriptionStatusType", + "modelAsString": true + } + }, + "lastMonthCharges": { + "description": "The last month charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "monthToDateCharges": { + "description": "The current month to date charges.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center applied to the subscription.", + "type": "string" + }, + "customerId": { + "description": "The ID of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for whom the subscription was created. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the subscription is billed.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Reseller for this subscription.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + }, + "skuId": { + "description": "The sku ID of the Azure plan for the subscription.", + "type": "string" + }, + "skuDescription": { + "description": "The sku description of the Azure plan for the subscription.", + "type": "string", + "readOnly": true + }, + "suspensionReasons": { + "description": "The suspension reason for a subscription. Applies only to subscriptions in Microsoft Online Services Program billing accounts.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + } + } + }, + "EnrollmentAccountContext": { + "description": "The enrollment account context", + "properties": { + "costCenter": { + "description": "The cost center associated with the enrollment account.", + "type": "string" + }, + "startDate": { + "description": "The start date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date of the enrollment account.", + "type": "string", + "format": "date-time" + }, + "enrollmentAccountName": { + "description": "The ID of the enrollment account.", + "type": "string" + } + } + }, + "TargetCloud": { + "type": "string", + "description": "Possible cloud environments.", + "enum": [ + "USGov", + "USNat", + "USSec" + ], + "x-ms-enum": { + "name": "targetCloud", + "modelAsString": true + } + }, + "TransactionListResult": { + "description": "The list of transactions.", + "properties": { + "value": { + "description": "The list of transactions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Transaction" + } + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Transaction": { + "description": "A transaction.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TransactionProperties", + "title": "Transaction properties" + } + } + }, + "TransactionProperties": { + "description": "The properties of a transaction.", + "properties": { + "kind": { + "type": "string", + "description": "The kind of transaction. Options are all or reservation.", + "enum": [ + "all", + "reservation" + ], + "x-ms-enum": { + "name": "TransactionTypeKind", + "modelAsString": true + } + }, + "date": { + "description": "The date of transaction.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoice": { + "description": "Invoice on which the transaction was billed or 'pending' if the transaction is not billed.", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "The ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.", + "type": "string", + "readOnly": true + }, + "orderId": { + "description": "The order ID of the reservation. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "orderName": { + "description": "The name of the reservation order. The field is only applicable for transactions of kind reservation.", + "type": "string", + "readOnly": true + }, + "productFamily": { + "description": "The family of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productTypeId": { + "description": "The ID of the product type for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "The type of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "productDescription": { + "description": "The description of the product for which the transaction took place.", + "type": "string", + "readOnly": true + }, + "transactionType": { + "description": "The type of transaction.", + "type": "string", + "enum": [ + "Purchase", + "Usage Charge" + ], + "x-ms-enum": { + "name": "ReservationType", + "modelAsString": true + } + }, + "transactionAmount": { + "description": "The charge associated with the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "quantity": { + "description": "The quantity purchased in the transaction.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile which will be billed for the transaction.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The ID of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for which the transaction took place. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "subscriptionName": { + "description": "The name of the subscription that was used for the transaction. The field is only applicable for transaction of kind reservation.", + "type": "string", + "readOnly": true + }, + "azurePlan": { + "description": "The type of azure plan of the subscription that was used for the transaction.", + "type": "string", + "readOnly": true + }, + "azureCreditApplied": { + "description": "The amount of any Azure credits automatically applied to this transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "billingCurrency": { + "description": "The ISO 4217 code for the currency in which this transaction is billed.", + "type": "string", + "readOnly": true + }, + "discount": { + "description": "The percentage discount, if any, applied to this transaction.", + "type": "number", + "readOnly": true + }, + "effectivePrice": { + "description": "The price of the product after applying any discounts.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "exchangeRate": { + "description": "The exchange rate used to convert charged amount to billing currency, if applicable.", + "type": "number", + "readOnly": true + }, + "marketPrice": { + "description": "The retail price of the product.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "pricingCurrency": { + "description": "The ISO 4217 code for the currency in which the product is priced.", + "type": "string", + "readOnly": true + }, + "servicePeriodStartDate": { + "description": "The date of the purchase of the product, or the start date of the month in which usage started.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "servicePeriodEndDate": { + "description": "The end date of the product term, or the end date of the month in which usage ended.", "type": "string", + "format": "date-time", "readOnly": true }, - "target": { - "description": "The target of the particular error.", + "subTotal": { + "description": "The pre-tax charged amount for the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "tax": { + "description": "The tax amount applied to the transaction.", + "readOnly": true, + "$ref": "#/definitions/Amount" + }, + "unitOfMeasure": { + "description": "The unit of measure used to bill for the product. For example, compute services are billed per hour.", + "type": "string", + "readOnly": true + }, + "units": { + "description": "The number of units used for a given product.", + "type": "number", + "readOnly": true + }, + "unitType": { + "description": "The description for the unit of measure for a given product.", "type": "string", "readOnly": true } } }, - "ErrorResponse": { - "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "Policy": { + "description": "A policy.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "error": { - "description": "The details of the error.", - "$ref": "#/definitions/ErrorDetails" + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PolicyProperties", + "title": "Policy properties" + } + } + }, + "PolicyProperties": { + "description": "The properties of a policy.", + "properties": { + "marketplacePurchases": { + "description": "The policy that controls whether Azure marketplace purchases are allowed for a billing profile.", + "type": "string", + "enum": [ + "AllAllowed", + "OnlyFreeAllowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "MarketplacePurchasesPolicy", + "modelAsString": true + } + }, + "reservationPurchases": { + "description": "The policy that controls whether Azure reservation purchases are allowed for a billing profile.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ReservationPurchasesPolicy", + "modelAsString": true + } + }, + "viewCharges": { + "description": "The policy that controls whether users with Azure RBAC access to a subscription can view its charges.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ViewChargesPolicy", + "modelAsString": true + } + } + } + }, + "CustomerPolicy": { + "description": "The customer's Policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomerPolicyProperties", + "title": "Customer Policy properties" + } + } + }, + "CustomerPolicyProperties": { + "description": "The properties of a customer's policy.", + "properties": { + "viewCharges": { + "description": "The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + "type": "string", + "enum": [ + "Allowed", + "NotAllowed" + ], + "x-ms-enum": { + "name": "ViewCharges", + "modelAsString": true + } + } + } + }, + "AvailableBalance": { + "description": "The latest Azure credit balance. This is the balance available for pay now.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailableBalanceProperties", + "title": "Available balance properties" + } + } + }, + "AvailableBalanceProperties": { + "description": "The properties of available balance.", + "properties": { + "amount": { + "description": "Balance amount.", + "readOnly": true, + "$ref": "#/definitions/Amount" + } + } + }, + "Amount": { + "description": "The amount.", + "properties": { + "currency": { + "description": "The currency for the amount value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Amount value.", + "type": "number" + } + } + }, + "Operation": { + "description": "A Billing REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Identifies if the operation is a data operation.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed such as invoice and billing subscription.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type such as read, write and delete.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "The list of billing operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "The list of billing operations supported by the Microsoft.Billing resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleAssignmentListResult": { + "description": "The list of role assignments.", + "properties": { + "value": { + "description": "The list of role assignments.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleAssignment": { + "description": "The role assignment", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the role assignment.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + }, + "BillingRoleAssignmentProperties": { + "description": "The properties of the role assignment.", + "properties": { + "createdOn": { + "description": "The date the role assignment was created.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalTenantId": { + "description": "The tenant Id of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalId": { + "description": "The principal Id of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByUserEmailAddress": { + "description": "The email address of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "The principal id of the user to whom the role was assigned.", + "type": "string" + }, + "principalTenantId": { + "description": "The principal tenant id of the user to whom the role was assigned.", + "type": "string" + }, + "roleDefinitionId": { + "description": "The ID of the role definition.", + "type": "string" + }, + "scope": { + "description": "The scope at which the role was assigned.", + "type": "string", + "readOnly": true + }, + "userAuthenticationType": { + "description": "The authentication type.", + "type": "string" + }, + "userEmailAddress": { + "description": "The email address of the user.", + "type": "string" + } + } + }, + "BillingRoleDefinitionListResult": { + "description": "The list of role definitions.", + "properties": { + "value": { + "description": "The role definitions.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingRoleDefinition": { + "description": "The properties of a role definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "The properties of the a role definition.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/BillingRoleDefinitionProperties" + } + } + }, + "BillingRoleDefinitionProperties": { + "description": "The properties of the a role definition.", + "properties": { + "description": { + "description": "The role description", + "type": "string", + "readOnly": true + }, + "permissions": { + "description": "The billingPermissions the role has", + "type": "array", + "items": { + "$ref": "#/definitions/BillingPermissionsProperties" + } + }, + "roleName": { + "description": "The name of the role", + "type": "string", + "readOnly": true + } + } + }, + "BillingPermissionsListResult": { + "description": "Result of list billingPermissions a caller has on a billing account.", + "properties": { + "value": { + "description": "The list of billingPermissions a caller has on a billing account.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/BillingPermissionsProperties" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "BillingPermissionsProperties": { + "description": "The set of allowed action and not allowed actions a caller has on a billing account", + "type": "object", + "properties": { + "actions": { + "description": "The set of actions that the caller is allowed to perform.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Action" + } + }, + "notActions": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/NotAction" + } + } + } + }, + "AgreementListResult": { + "description": "Result of listing agreements.", + "properties": { + "value": { + "description": "The list of agreements.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Agreement" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true } } }, - "Invoice": { - "description": "An invoice resource can be used download a PDF version of an invoice.", + "Agreement": { + "description": "An agreement.", "type": "object", "allOf": [ { @@ -443,127 +6381,346 @@ ], "properties": { "properties": { + "description": "The properties of an agreement.", "x-ms-client-flatten": true, - "$ref": "#/definitions/InvoiceProperties" + "$ref": "#/definitions/AgreementProperties" + } + } + }, + "AgreementProperties": { + "description": "The properties of an agreement.", + "properties": { + "agreementLink": { + "description": "The URL to download the agreement.", + "type": "string", + "readOnly": true + }, + "category": { + "type": "string", + "description": "The category of the agreement signed by a customer.", + "readOnly": true, + "enum": [ + "MicrosoftCustomerAgreement", + "AffiliatePurchaseTerms", + "Other" + ], + "x-ms-enum": { + "name": "category", + "modelAsString": true + } + }, + "acceptanceMode": { + "type": "string", + "description": "The mode of acceptance for an agreement.", + "readOnly": true, + "enum": [ + "ClickToAccept", + "ESignEmbedded", + "ESignOffline" + ], + "x-ms-enum": { + "name": "acceptanceMode", + "modelAsString": true + } + }, + "effectiveDate": { + "description": "The date from which the agreement is effective.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "expirationDate": { + "description": "The date when the agreement expires.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "participants": { + "description": "The list of participants that participates in acceptance of an agreement.", + "type": "array", + "items": { + "$ref": "#/definitions/Participants" + } + }, + "status": { + "description": "The current status of the agreement.", + "type": "string", + "readOnly": true + } + } + }, + "Participants": { + "description": "The details about a participant.", + "properties": { + "status": { + "description": "The acceptance status of the participant.", + "type": "string", + "readOnly": true + }, + "statusDate": { + "description": "The date when the status got changed.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "email": { + "description": "The email address of the participant.", + "type": "string", + "readOnly": true } } }, - "InvoicesListResult": { - "description": "Result of listing invoices. It contains a list of available invoices in reverse chronological order.", + "Action": { + "description": "The action the caller is allowed to perform.", + "type": "string", + "readOnly": true + }, + "NotAction": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "string", + "readOnly": true + }, + "ReservationsListResult": { + "description": "The list of reservations and summary of roll out count of reservations in each state.", "properties": { "value": { - "description": "The list of invoices.", + "description": "The list of reservations.", "type": "array", "readOnly": true, "items": { - "$ref": "#/definitions/Invoice" + "$ref": "#/definitions/Reservation" } }, "nextLink": { "description": "The link (url) to the next page of results.", "type": "string", "readOnly": true + }, + "summary": { + "description": "The roll out count summary of the reservations", + "type": "object", + "$ref": "#/definitions/ReservationSummary" } } }, - "InvoiceProperties": { - "description": "The properties of the invoice.", + "Reservation": { + "description": "The definition of the reservation.", "properties": { - "downloadUrl": { - "description": "A secure link to download the PDF version of an invoice. The link will cease to work after its expiry time is reached.", - "$ref": "#/definitions/DownloadUrl" + "id": { + "description": "The id of the reservation.", + "type": "string", + "readOnly": true }, - "invoicePeriodStartDate": { - "description": "The start of the date range covered by the invoice.", + "name": { + "description": "The name of the reservation.", "type": "string", - "format": "date", "readOnly": true }, - "invoicePeriodEndDate": { - "description": "The end of the date range covered by the invoice.", + "type": { + "description": "The type of the reservation.", "type": "string", - "format": "date", "readOnly": true }, - "billingPeriodIds": { - "description": "Array of billing perdiod ids that the invoice is attributed to.", - "type": "array", - "readOnly": true, - "items": { - "type": "string" - } + "location": { + "description": "The location of the reservation.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The sku information associated to this reservation ", + "type": "object", + "$ref": "#/definitions/ReservationSkuProperty" + }, + "properties": { + "description": "The properties associated to this reservation ", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationProperty" } } }, - "Operation": { - "description": "A Billing REST API operation.", - "type": "object", + "ReservationSkuProperty": { + "description": "The property of reservation sku object.", "properties": { "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", + "description": "The name of the reservation sku.", "type": "string", "readOnly": true + } + } + }, + "ReservationProperty": { + "description": "The property of reservation object.", + "properties": { + "appliedScopes": { + "description": "The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationAppliedScope" + } }, - "display": { - "description": "The object that represents the operation.", + "appliedScopeType": { + "description": "The applied scope type of the reservation.", + "type": "string", + "readOnly": true + }, + "reservedResourceType": { + "description": "The reserved source type of the reservation, e.g. virtual machine.", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The number of the reservation.", + "type": "number", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "expiryDate": { + "description": "The expiry date of the reservation", + "type": "string", + "readOnly": true + }, + "provisioningSubState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The display name of the reservation", + "type": "string", + "readOnly": true + }, + "displayProvisioningState": { + "description": "The provisioning state of the reservation for display, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "userFriendlyRenewState": { + "description": "The renew state of the reservation for display, e.g. On", + "type": "string", + "readOnly": true + }, + "userFriendlyAppliedScopeType": { + "description": "The applied scope type of the reservation for display, e.g. Shared", + "type": "string", + "readOnly": true + }, + "effectiveDateTime": { + "description": "The effective date time of the reservation", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the reservation", + "type": "string", + "readOnly": true + }, + "term": { + "description": "The term of the reservation, e.g. P1Y", + "type": "string", + "readOnly": true + }, + "renew": { + "description": "The renew state of the reservation", + "type": "boolean", + "readOnly": true + }, + "renewSource": { + "description": "The renew source of the reservation", + "type": "string", + "readOnly": true + }, + "utilization": { + "readOnly": true, + "type": "object", + "description": "Reservation utilization", "properties": { - "provider": { - "description": "Service provider: Microsoft.Billing.", - "type": "string", - "readOnly": true - }, - "resource": { - "description": "Resource on which the operation is performed: Invoice, etc.", - "type": "string", - "readOnly": true + "trend": { + "description": "The number of days trend for a reservation", + "readOnly": true, + "type": "string" }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string", - "readOnly": true + "aggregates": { + "description": "The array of aggregates of a reservation's utilization", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationUtilizationAggregates" + } } } } } }, - "OperationListResult": { - "description": "Result listing billing operations. It contains a list of operations and a URL link to get the next set of results.", + "ReservationAppliedScope": { + "readOnly": true, + "type": "string", + "description": "Reservation applied scope" + }, + "ReservationUtilizationAggregates": { + "description": "The aggregate values of reservation utilization", + "type": "object", "properties": { + "grain": { + "description": "The grain of the aggregate", + "readOnly": true, + "type": "number" + }, + "grainUnit": { + "description": "The grain unit of the aggregate", + "readOnly": true, + "type": "string" + }, "value": { - "description": "List of billing operations supported by the Microsoft.Billing resource provider.", - "type": "array", + "description": "The aggregate value", "readOnly": true, - "items": { - "$ref": "#/definitions/Operation" - } + "type": "number" }, - "nextLink": { - "description": "URL to get the next set of operation list results if there are any.", - "type": "string", - "readOnly": true + "valueUnit": { + "description": "The aggregate value unit", + "readOnly": true, + "type": "string" } } }, - "Resource": { - "description": "The Resource model definition.", + "ReservationSummary": { + "description": "The roll up count summary of reservations in each state", + "type": "object", "properties": { - "id": { + "succeededCount": { + "description": "The number of reservation in Succeeded state", "readOnly": true, - "type": "string", - "description": "Resource Id." + "type": "number" }, - "name": { + "failedCount": { + "description": "The number of reservation in Failed state", "readOnly": true, - "type": "string", - "description": "Resource name." + "type": "number" }, - "type": { + "expiringCount": { + "description": "The number of reservation in Expiring state", "readOnly": true, - "type": "string", - "description": "Resource type." + "type": "number" + }, + "expiredCount": { + "description": "The number of reservation in Expired state", + "readOnly": true, + "type": "number" + }, + "pendingCount": { + "description": "The number of reservation in Pending state", + "readOnly": true, + "type": "number" + }, + "cancelledCount": { + "description": "The number of reservation in Cancelled state", + "readOnly": true, + "type": "number" } - }, - "x-ms-azure-resource": true + } } }, "parameters": { @@ -572,14 +6729,144 @@ "in": "query", "required": true, "type": "string", - "description": "Version of the API to be used with the client request. The current version is 2017-04-24-preview." + "description": "The version of the API to be used with the client request. The current version is 2020-05-01." }, "subscriptionIdParameter": { "name": "subscriptionId", "in": "path", - "description": "Azure Subscription ID.", + "description": "The ID that uniquely identifies an Azure subscription.", "required": true, "type": "string" + }, + "billingAccountNameParameter": { + "name": "billingAccountName", + "in": "path", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceSectionNameParameter": { + "name": "invoiceSectionName", + "in": "path", + "description": "The ID that uniquely identifies an invoice section.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountNameParameter": { + "name": "enrollmentAccountName", + "in": "path", + "description": "The ID that uniquely identifies an enrollment account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentNameParameter": { + "name": "departmentName", + "in": "path", + "description": "The ID that uniquely identifies a department.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "instructionNameParameter": { + "name": "instructionName", + "in": "path", + "description": "Instruction Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileNameParameter": { + "name": "billingProfileName", + "in": "path", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "operationIdParameter": { + "name": "operationId", + "in": "path", + "description": "Operation Id.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingRoleDefinitionNameParameter": { + "name": "billingRoleDefinitionName", + "in": "path", + "description": "The ID that uniquely identifies a role definition.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingRoleAssignmentNameParameter": { + "name": "billingRoleAssignmentName", + "in": "path", + "description": "The ID that uniquely identifies a role assignment.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceNameParameter": { + "name": "invoiceName", + "in": "path", + "description": "The ID that uniquely identifies an invoice.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "productNameParameter": { + "name": "productName", + "in": "path", + "description": "The ID that uniquely identifies a product.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "agreementNameParameter": { + "name": "agreementName", + "in": "path", + "description": "The ID that uniquely identifies an agreement.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "transactionNameParameter": { + "name": "transactionName", + "in": "path", + "description": "The ID that uniquely identifies a transaction.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "customerNameParameter": { + "name": "customerName", + "in": "path", + "description": "The ID that uniquely identifies a customer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.BotService/botservice.json b/App_Data/SwaggerSpecs/Microsoft.BotService/botservice.json index f49c370b..a8b2ed97 100644 --- a/App_Data/SwaggerSpecs/Microsoft.BotService/botservice.json +++ b/App_Data/SwaggerSpecs/Microsoft.BotService/botservice.json @@ -3,7 +3,7 @@ "info": { "title": "Azure Bot Service", "description": "Azure Bot Service is a platform for creating smart conversational agents.", - "version": "2018-07-12" + "version": "2021-03-01" }, "host": "management.azure.com", "schemes": [ @@ -311,6 +311,15 @@ "x-ms-examples": { "Create Bot": { "$ref": "./examples/PutChannel.json" + }, + "Create Alexa Bot": { + "$ref": "./examples/PutAlexaChannel.json" + }, + "Create Line Bot": { + "$ref": "./examples/PutLineChannel.json" + }, + "Create DirectLine Speech Bot": { + "$ref": "./examples/PutDirectLineSpeechChannel.json" } }, "parameters": [ @@ -369,6 +378,15 @@ "x-ms-examples": { "Update Bot": { "$ref": "./examples/UpdateChannel.json" + }, + "Update Alexa": { + "$ref": "./examples/UpdateAlexaChannel.json" + }, + "Update Line": { + "$ref": "./examples/UpdateLineChannel.json" + }, + "Update DirectLine Speech": { + "$ref": "./examples/UpdateDirectLineSpeechChannel.json" } }, "parameters": [ @@ -428,6 +446,9 @@ "x-ms-examples": { "Delete Bot": { "$ref": "./examples/DeleteChannel.json" + }, + "Delete DirectLine Speech Bot": { + "$ref": "./examples/DeleteDirectLineSpeechChannel.json" } }, "parameters": [ @@ -478,6 +499,15 @@ "x-ms-examples": { "Get Bot": { "$ref": "./examples/GetChannel.json" + }, + "Get Alexa Bot": { + "$ref": "./examples/GetAlexaChannel.json" + }, + "Get Line Bot": { + "$ref": "./examples/GetLineChannel.json" + }, + "Get DirectLine Speech Bot": { + "$ref": "./examples/GetDirectLineSpeechChannel.json" } }, "parameters": [ @@ -610,6 +640,63 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": { + "post": { + "tags": [ + "Channel" + ], + "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource", + "operationId": "DirectLine_RegenerateKeys", + "x-ms-examples": { + "Regenerate Keys for DirectLine Channel Site": { + "$ref": "./examples/DirectlineRegenerateKeys.json" + }, + "Regenerate Keys for WebChat Channel Site": { + "$ref": "./examples/WebChatRegenerateKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/resourceNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/regenerateKeyschannelNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SiteInfo" + }, + "description": "The parameters to provide for the created bot." + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value†property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "schema": { + "$ref": "#/definitions/BotChannel" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, "/providers/Microsoft.BotService/checkNameAvailability": { "post": { "tags": [ @@ -675,6 +762,12 @@ "schema": { "$ref": "#/definitions/OperationEntityListResult" } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/Error" + } } }, "deprecated": false, @@ -719,7 +812,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}/listWithSecrets": { "post": { "tags": [ "BotConnection" @@ -764,7 +857,7 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections/{connectionName}": { "put": { "tags": [ "BotConnection" @@ -1013,182 +1106,19 @@ } } }, - "/providers/Microsoft.BotService/checkEnterpriseChannelNameAvailability": { - "post": { - "tags": [ - "Enterprise Channel" - ], - "description": "Check whether an Enterprise Channel name is available.", - "operationId": "EnterpriseChannels_CheckNameAvailability", - "x-ms-examples": { - "Check Enterprise Channel Name Availability": { - "$ref": "./examples/EnterpriseChannelCheckNameAvailability.json" - } - }, - "parameters": [ - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/EnterpriseChannelCheckNameAvailabilityRequest" - }, - "description": "The parameters to provide for the Enterprise Channel check name availability request." - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section.", - "schema": { - "$ref": "#/definitions/EnterpriseChannelCheckNameAvailabilityResponse" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/enterpriseChannels": { + "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/hostSettings": { "get": { "tags": [ - "Enterprise Channel" + "BotHostSettings" ], - "description": "Returns all the resources of a particular type belonging to a resource group.", - "operationId": "EnterpriseChannels_ListByResourceGroup", + "description": "Get per subscription settings needed to host bot in compute resource such as Azure App Service", + "operationId": "HostSettings_Get", "x-ms-examples": { - "List Enterprise Channels by Resource Group": { - "$ref": "./examples/ListEnterpriseChannelsByResourceGroup.json" + "Get Bot Host Settings": { + "$ref": "./examples/GetHostSettings.json" } }, "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value†property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", - "schema": { - "$ref": "#/definitions/EnterpriseChannelResponseList" - } - }, - "default": { - "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/enterpriseChannels/{resourceName}": { - "put": { - "tags": [ - "Enterprise Channel" - ], - "description": "Creates an Enterprise Channel.", - "operationId": "EnterpriseChannels_Create", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options" : { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Create Enterprise Channel": { - "$ref": "./examples/CreateEnterpriseChannel.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - }, - "description": "The parameters to provide for the new Enterprise Channel." - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - } - }, - "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - }, - "patch": { - "tags": [ - "Enterprise Channel" - ], - "description": "Updates an Enterprise Channel.", - "operationId": "EnterpriseChannels_Update", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options" : { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Update Enterprise Channel": { - "$ref": "./examples/UpdateEnterpriseChannel.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "x-ms-client-flatten": true, - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - }, - "description": "The parameters to provide to update the Enterprise Channel." - }, { "$ref": "#/parameters/apiVersionParameter" }, @@ -1198,15 +1128,9 @@ ], "responses": { "200": { - "description": "If resource is created successfully or already existed, the service should return 200 (OK).", - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - } - }, - "201": { - "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.", + "description": "If resource is retrieved successfully, the service should return 200 (OK).", "schema": { - "$ref": "#/definitions/EnterpriseChannel" + "$ref": "#/definitions/HostSettingsResponse" } }, "default": { @@ -1216,90 +1140,6 @@ } } } - }, - "delete": { - "tags": [ - "Enterprise Channel" - ], - "description": "Deletes an Enterprise Channel from the resource group", - "operationId": "EnterpriseChannels_Delete", - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options" : { - "final-state-via": "azure-async-operation" - }, - "x-ms-examples": { - "Delete Enterprise Channel": { - "$ref": "./examples/DeleteEnterpriseChannel.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" - }, - "204": { - "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." - }, - "default": { - "description": "Error response describing why the operation failed", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - }, - "get": { - "tags": [ - "Enterprise Channel" - ], - "description": "Returns an Enterprise Channel specified by the parameters.", - "operationId": "EnterpriseChannels_Get", - "x-ms-examples": { - "Get Enterprise Channel": { - "$ref": "./examples/GetEnterpriseChannel.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "$ref": "#/parameters/resourceNameParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", - "schema": { - "$ref": "#/definitions/EnterpriseChannel" - } - }, - "default": { - "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", - "schema": { - "$ref": "#/definitions/Error" - } - } - } } } }, @@ -1392,7 +1232,8 @@ "sdk", "designer", "bot", - "function" + "function", + "azurebot" ], "x-ms-enum": { "name": "Kind", @@ -1479,6 +1320,30 @@ "luisKey": { "type": "string", "description": "The LUIS Key" + }, + "isCmekEnabled": { + "type": "boolean", + "description": "Whether Cmek is enabled" + }, + "cmekKeyVaultUrl": { + "type": "string", + "description": "The CMK Url" + }, + "isIsolated": { + "type": "boolean", + "description": "Whether the bot is in an isolated network" + }, + "schemaTransformationVersion": { + "type": "string", + "description": "The channel schema transformation version for the bot" + }, + "openWithHint": { + "type": "string", + "description": "The hint to browser (e.g. protocol handler) on how to open the bot for authoring" + }, + "appPasswordHint": { + "type": "string", + "description": "The hint (e.g. keyVault secret resourceId) on how to fetch the app secret" } }, "description": "The parameters to provide for the Bot.", @@ -1534,6 +1399,49 @@ "channelName" ] }, + "AlexaChannel": { + "type": "object", + "x-ms-discriminator-value": "AlexaChannel", + "description": "Alexa channel definition", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlexaChannelProperties", + "description": "The set of properties specific to Alexa channel resource" + } + } + }, + "AlexaChannelProperties": { + "properties": { + "alexaSkillId": { + "type": "string", + "description": "The Alexa skill Id" + }, + "urlFragment": { + "type": "string", + "readOnly": true, + "description": "Url fragment used in part of the Uri configured in Alexa" + }, + "serviceEndpointUri": { + "type": "string", + "readOnly": true, + "description": "Full Uri used to configured the skill in Alexa" + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled for the bot" + } + }, + "description": "The parameters to provide for the Alexa channel.", + "required": [ + "alexaSkillId", + "isEnabled" + ] + }, "FacebookChannel": { "type": "object", "description": "Facebook channel definition", @@ -1553,6 +1461,7 @@ "FacebookChannelProperties": { "properties": { "verifyToken": { + "x-ms-secret": true, "type": "string", "readOnly": true, "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty." @@ -1569,6 +1478,7 @@ "description": "Facebook application id" }, "appSecret": { + "x-ms-secret": true, "type": "string", "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty." }, @@ -1585,7 +1495,6 @@ "description": "The parameters to provide for the Facebook channel.", "required": [ "appId", - "appSecret", "isEnabled" ] }, @@ -1596,14 +1505,14 @@ "description": "Page id" }, "accessToken": { + "x-ms-secret": true, "type": "string", "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty." } }, "description": "A Facebook page for Facebook channel registration", "required": [ - "id", - "accessToken" + "id" ] }, "EmailChannel": { @@ -1640,7 +1549,6 @@ "description": "The parameters to provide for the Email channel.", "required": [ "emailAddress", - "password", "isEnabled" ] }, @@ -1778,7 +1686,6 @@ "description": "The parameters to provide for the Kik channel.", "required": [ "userName", - "apiKey", "isEnabled" ] }, @@ -1865,6 +1772,7 @@ "TelegramChannelProperties": { "properties": { "accessToken": { + "x-ms-secret": true, "type": "string", "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty." }, @@ -1879,7 +1787,6 @@ }, "description": "The parameters to provide for the Telegram channel.", "required": [ - "accessToken", "isEnabled" ] }, @@ -1910,6 +1817,7 @@ "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty." }, "authToken": { + "x-ms-secret": true, "type": "string", "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty." }, @@ -1926,7 +1834,6 @@ "required": [ "phone", "accountSID", - "authToken", "isEnabled" ] }, @@ -1953,10 +1860,12 @@ "description": "The Slack client id" }, "clientSecret": { + "x-ms-secret": true, "type": "string", "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty." }, "verificationToken": { + "x-ms-secret": true, "type": "string", "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty." }, @@ -1984,6 +1893,11 @@ "description": "Whether this channel is validated for the bot", "readOnly": true }, + "signingSecret": { + "x-ms-secret": true, + "type": "string", + "description": "The Slack signing secret." + }, "isEnabled": { "type": "boolean", "description": "Whether this channel is enabled for the bot" @@ -1991,12 +1905,123 @@ }, "description": "The parameters to provide for the Slack channel.", "required": [ - "clientId", - "clientSecret", - "verificationToken", "isEnabled" ] }, + "LineChannel": { + "type": "object", + "description": "Line channel definition", + "x-ms-discriminator-value": "LineChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LineChannelProperties", + "description": "The set of properties specific to line channel resource" + } + } + }, + "LineChannelProperties": { + "properties": { + "lineRegistrations": { + "type": "array", + "description": "The list of line channel registrations", + "items": { + "$ref": "#/definitions/LineRegistration" + } + }, + "callbackUrl": { + "type": "string", + "description": "Callback Url to enter in line registration.", + "readOnly": true + }, + "isValidated": { + "type": "boolean", + "description": "Whether this channel is validated for the bot", + "readOnly": true + } + }, + "description": "The parameters to provide for the Line channel.", + "required": [ + "lineRegistrations" + ] + }, + "LineRegistration": { + "properties": { + "generatedId": { + "x-ms-mutability": [ + "read" + ], + "type": "string", + "description": "Id generated for the line channel registration", + "readOnly": true + }, + "channelSecret": { + "x-ms-secret": true, + "type": "string", + "description": "Secret for the line channel registration" + }, + "channelAccessToken": { + "x-ms-secret": true, + "type": "string", + "description": "Access token for the line channel registration" + } + }, + "description": "The properties corresponding to a line channel registration" + }, + "DirectLineSpeechChannel": { + "type": "object", + "description": "DirectLine Speech channel definition", + "x-ms-discriminator-value": "DirectLineSpeechChannel", + "allOf": [ + { + "$ref": "#/definitions/Channel" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DirectLineSpeechChannelProperties", + "description": "The set of properties specific to DirectLine Speech channel resource" + } + } + }, + "DirectLineSpeechChannelProperties": { + "properties": { + "cognitiveServiceRegion": { + "type": "string", + "description": "The cognitive service region with this channel registration." + }, + "cognitiveServiceSubscriptionKey": { + "x-ms-secret": true, + "type": "string", + "description": "The cognitive service subscription key to use with this channel registration." + }, + "isEnabled": { + "type": "boolean", + "description": "Whether this channel is enabled or not." + }, + "customVoiceDeploymentId": { + "type": "string", + "description": "Custom speech model id (optional)." + }, + "customSpeechModelId": { + "type": "string", + "description": "Custom voice deployment id (optional)." + }, + "isDefaultBotForCogSvcAccount": { + "type": "boolean", + "description": "Make this a default bot for chosen cognitive service account." + } + }, + "description": "The parameters to provide for the DirectLine Speech channel.", + "required": [ + "cognitiveServiceRegion", + "cognitiveServiceSubscriptionKey" + ] + }, "ChannelResponseList": { "properties": { "nextLink": { @@ -2122,6 +2147,32 @@ "siteName" ] }, + "SiteInfo": { + "properties": { + "siteName": { + "type": "string", + "description": "The site name" + }, + "key": { + "type": "string", + "description": "Determines which key is to be regenerated", + "enum": [ + "key1", + "key2" + ], + "x-ms-enum": { + "name": "key", + "modelAsString": false + } + } + }, + "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.", + "type": "object", + "required": [ + "siteName", + "key" + ] + }, "ConnectionItemName": { "properties": { "name": { @@ -2157,6 +2208,7 @@ "readOnly": true }, "clientSecret": { + "x-ms-secret": true, "type": "string", "description": "Client Secret associated with the Connection Setting" }, @@ -2217,7 +2269,7 @@ "ServiceProviderResponseList": { "properties": { "nextLink": { - "description": "The link used to get the next page of bot service service providers.", + "description": "The link used to get the next page of bot service providers.", "type": "string" }, "value": { @@ -2226,10 +2278,10 @@ "items": { "$ref": "#/definitions/ServiceProvider" }, - "description": "Gets the list of bot service service providers and their properties." + "description": "Gets the list of bot service providers and their properties." } }, - "description": "The list of bot service service providers response." + "description": "The list of bot service providers response." }, "ServiceProviderParameter": { "properties": { @@ -2428,121 +2480,43 @@ } } }, - "EnterpriseChannelCheckNameAvailabilityRequest": { - "description": "A request to Bot Service Management to check availability of an Enterprise Channel name.", + "HostSettingsResponse": { + "description": "The response body returned for a request to Bot Service Management to check per subscription hostSettings", "type": "object", "properties": { - "name": { - "description": "The name of the Enterprise Channel for which availability needs to be checked.", + "OAuthUrl": { + "description": "For in-conversation bot user authentication", "type": "string" - } - } - }, - "EnterpriseChannelCheckNameAvailabilityResponse": { - "description": "A request to Bot Service Management to check availability of an Enterprise Channel name.", - "type": "object", - "properties": { - "valid": { - "description": "Indicates if the Enterprise Channel name is valid.", - "type": "boolean" }, - "message": { - "description": "Additional information about why a bot name is not available.", - "type": "string" - } - } - }, - "EnterpriseChannelResponseList": { - "properties": { - "nextLink": { - "description": "The link used to get the next page of bot service resources.", + "ToBotFromChannelOpenIdMetadataUrl": { + "description": "For verifying incoming tokens from the channels", "type": "string" }, - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/EnterpriseChannel" - }, - "description": "The list of Enterprise Channels and their properties." - } - }, - "description": "The list of bot service operation response." - }, - "EnterpriseChannel": { - "type": "object", - "description": "Enterprise Channel resource definition", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/EnterpriseChannelProperties", - "description": "The set of properties specific to an Enterprise Channel resource." - } - } - }, - "EnterpriseChannelProperties": { - "properties": { - "state": { - "type": "string", - "description": "The current state of the Enterprise Channel.", - "enum": ["Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed"], - "x-ms-enum": { - "name": "EnterpriseChannelState", - "modelAsString": true - } + "ToBotFromChannelTokenIssuer": { + "description": "For verifying incoming tokens from the channels", + "type": "string" }, - "nodes": { - "type": "array", - "items": { - "$ref": "#/definitions/EnterpriseChannelNode" - }, - "description": "The nodes associated with the Enterprise Channel." - } - }, - "description": "The parameters to provide for the Enterprise Channel.", - "required": [ - "nodes" - ] - }, - "EnterpriseChannelNode": { - "properties": { - "id": { - "type": "string", - "description": "Id of Enterprise Channel Node. This is generated by the Bot Framework.", - "readOnly": true + "ToBotFromEmulatorOpenIdMetadataUrl": { + "description": "For verifying incoming tokens from bot emulator", + "type": "string" }, - "state": { - "type": "string", - "description": "The current state of the Enterprise Channel Node.", - "enum": ["Creating", "CreateFailed", "Started", "Starting", "StartFailed", "Stopped", "Stopping", "StopFailed", "Deleting", "DeleteFailed"], - "x-ms-enum": { - "name": "EnterpriseChannelNodeState", - "modelAsString": true - } + "ToChannelFromBotLoginUrl": { + "description": "For getting access token to channels from bot host", + "type": "string" }, - "name": { - "type": "string", - "description": "The name of the Enterprise Channel Node." + "ToChannelFromBotOAuthScope": { + "description": "For getting access token to channels from bot host", + "type": "string" }, - "azureSku": { - "type": "string", - "description": "The sku of the Enterprise Channel Node." + "ValidateAuthority": { + "description": "Per cloud OAuth setting on whether authority is validated", + "type": "boolean" }, - "azureLocation": { - "type": "string", - "description": "The location of the Enterprise Channel Node." + "BotOpenIdMetadata": { + "description": "Same as ToBotFromChannelOpenIdMetadataUrl, used by SDK < v4.12", + "type": "string" } - }, - "description": "The properties specific to an Enterprise Channel Node.", - "required": [ - "name", - "azureSku", - "azureLocation" - ] + } } }, "parameters": { @@ -2590,8 +2564,8 @@ "type": "string", "maxLength": 64, "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of the Bot Service Connection Setting resource" + "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$", + "description": "The name of the Bot Service Connection Setting resource." }, "channelNameParameter": { "name": "channelName", @@ -2600,6 +2574,7 @@ "required": true, "type": "string", "enum": [ + "AlexaChannel", "FacebookChannel", "EmailChannel", "KikChannel", @@ -2609,12 +2584,17 @@ "SkypeChannel", "WebChatChannel", "DirectLineChannel", - "SmsChannel" + "SmsChannel", + "LineChannel", + "DirectLineSpeechChannel" ], "x-ms-enum": { "name": "channelName", "modelAsString": false, "values": [ + { + "value": "AlexaChannel" + }, { "value": "FacebookChannel" }, @@ -2644,10 +2624,40 @@ }, { "value": "SmsChannel" + }, + { + "value": "LineChannel" + }, + { + "value": "DirectLineSpeechChannel" } ] }, "description": "The name of the Channel resource." + }, + "regenerateKeyschannelNameParameter": { + "name": "channelName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "WebChatChannel", + "DirectLineChannel" + ], + "x-ms-enum": { + "name": "regenerateKeysChannelName", + "modelAsString": false, + "values": [ + { + "value": "WebChatChannel" + }, + { + "value": "DirectLineChannel" + } + ] + }, + "description": "The name of the Channel resource for which keys are to be regenerated." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Cache/redis.json b/App_Data/SwaggerSpecs/Microsoft.Cache/redis.json index 2695ee4a..eebe5cd6 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Cache/redis.json +++ b/App_Data/SwaggerSpecs/Microsoft.Cache/redis.json @@ -3,7 +3,7 @@ "info": { "title": "RedisManagementClient", "description": "REST API for Azure Redis Cache Service.", - "version": "2017-02-01" + "version": "2020-12-01" }, "host": "management.azure.com", "schemes": [ @@ -34,14 +34,150 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}": { + "/providers/Microsoft.Cache/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Cache provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/CheckNameAvailability": { + "post": { + "tags": [ + "Redis" + ], + "operationId": "Redis_CheckNameAvailability", + "x-ms-examples": { + "RedisCacheCheckNameAvailability": { + "$ref": "./examples/RedisCacheCheckNameAvailability.json" + } + }, + "description": "Checks that the redis cache name is valid and is not already in use.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + }, + "description": "Parameters supplied to the CheckNameAvailability Redis operation. The only supported resource type is 'Microsoft.Cache/redis'" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Name is available" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listUpgradeNotifications": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "Redis_ListUpgradeNotifications", + "x-ms-examples": { + "RedisCacheListUpgradeNotifications": { + "$ref": "./examples/RedisCacheListUpgradeNotifications.json" + } + }, + "description": "Gets any upgrade notifications for a Redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "history", + "in": "query", + "required": true, + "type": "number", + "format": "double", + "description": "how many minutes in past to look for upgrade notifications" + } + ], + "responses": { + "200": { + "description": "All upgrade notifications in given time range", + "schema": { + "$ref": "#/definitions/NotificationListResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}": { "put": { "tags": [ "Redis" ], "operationId": "Redis_Create", "x-ms-examples": { - "RedisCacheCreate": { "$ref": "../examples/RedisCacheCreate.json" } + "RedisCacheCreate": { + "$ref": "./examples/RedisCacheCreate.json" + } }, "description": "Create or replace (overwrite/recreate, with potential downtime) an existing Redis cache.", "x-ms-long-running-operation": true, @@ -78,16 +214,22 @@ ], "responses": { "201": { - "description": "The new redis cache was successfully created. Check provisioningStatus to see detailed status.", + "description": "The new redis cache was successfully created. Check provisioningState to see detailed status.", "schema": { "$ref": "#/definitions/RedisResource" } }, "200": { - "description": "The existing redis cache was successfully updated. Check provisioningStatus to see detailed status.", + "description": "The existing redis cache was successfully updated. Check provisioningState to see detailed status.", "schema": { "$ref": "#/definitions/RedisResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } }, @@ -97,7 +239,9 @@ ], "operationId": "Redis_Update", "x-ms-examples": { - "RedisCacheUpdate": { "$ref": "../examples/RedisCacheUpdate.json" } + "RedisCacheUpdate": { + "$ref": "./examples/RedisCacheUpdate.json" + } }, "description": "Update an existing Redis cache.", "parameters": [ @@ -133,10 +277,16 @@ ], "responses": { "200": { - "description": "", + "description": "The existing redis cache was successfully updated. Check provisioningState to see detailed status.", "schema": { "$ref": "#/definitions/RedisResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } }, @@ -146,7 +296,9 @@ ], "operationId": "Redis_Delete", "x-ms-examples": { - "RedisCacheDelete": { "$ref": "../examples/RedisCacheDelete.json" } + "RedisCacheDelete": { + "$ref": "./examples/RedisCacheDelete.json" + } }, "description": "Deletes a Redis cache.", "x-ms-long-running-operation": true, @@ -174,10 +326,19 @@ ], "responses": { "200": { - "description": "" + "description": "The redis cache was successfully deleted." + }, + "202": { + "description": "The redis cache 'delete' operation was successfully enqueued; follow the Location header to poll for final outcome." }, "204": { - "description": "" + "description": "The redis cache was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } }, @@ -187,7 +348,9 @@ ], "operationId": "Redis_Get", "x-ms-examples": { - "RedisCacheGet": { "$ref": "../examples/RedisCacheGet.json" } + "RedisCacheGet": { + "$ref": "./examples/RedisCacheGet.json" + } }, "description": "Gets a Redis cache (resource description).", "parameters": [ @@ -214,22 +377,30 @@ ], "responses": { "200": { - "description": "", + "description": "The redis cache was successfully found.", "schema": { "$ref": "#/definitions/RedisResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis": { "get": { "tags": [ "Redis" ], "operationId": "Redis_ListByResourceGroup", "x-ms-examples": { - "RedisCacheListByResourceGroup": { "$ref": "../examples/RedisCacheListByResourceGroup.json" } + "RedisCacheListByResourceGroup": { + "$ref": "./examples/RedisCacheListByResourceGroup.json" + } }, "description": "Lists all Redis caches in a resource group.", "parameters": [ @@ -253,6 +424,12 @@ "schema": { "$ref": "#/definitions/RedisListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -260,14 +437,16 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/Redis/": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Cache/redis": { "get": { "tags": [ "Redis" ], - "operationId": "Redis_List", + "operationId": "Redis_ListBySubscription", "x-ms-examples": { - "RedisCacheList": { "$ref": "../examples/RedisCacheList.json" } + "RedisCacheList": { + "$ref": "./examples/RedisCacheList.json" + } }, "description": "Gets all Redis caches in the specified subscription.", "parameters": [ @@ -284,6 +463,12 @@ "schema": { "$ref": "#/definitions/RedisListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -291,14 +476,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/listKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/listKeys": { "post": { "tags": [ "Redis" ], "operationId": "Redis_ListKeys", "x-ms-examples": { - "RedisCacheListKeys": { "$ref": "../examples/RedisCacheListKeys.json" } + "RedisCacheListKeys": { + "$ref": "./examples/RedisCacheListKeys.json" + } }, "description": "Retrieve a Redis cache's access keys. This operation requires write permission to the cache resource.", "parameters": [ @@ -329,18 +516,26 @@ "schema": { "$ref": "#/definitions/RedisAccessKeys" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/regenerateKey": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/regenerateKey": { "post": { "tags": [ "Redis" ], "operationId": "Redis_RegenerateKey", "x-ms-examples": { - "RedisCacheRegenerateKey": { "$ref": "../examples/RedisCacheRegenerateKey.json" } + "RedisCacheRegenerateKey": { + "$ref": "./examples/RedisCacheRegenerateKey.json" + } }, "description": "Regenerate Redis cache's access keys. This operation requires write permission to the cache resource.", "parameters": [ @@ -380,18 +575,26 @@ "schema": { "$ref": "#/definitions/RedisAccessKeys" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/forceReboot": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/forceReboot": { "post": { "tags": [ "Redis" ], "operationId": "Redis_ForceReboot", "x-ms-examples": { - "RedisCacheForceReboot": { "$ref": "../examples/RedisCacheForceReboot.json" } + "RedisCacheForceReboot": { + "$ref": "./examples/RedisCacheForceReboot.json" + } }, "description": "Reboot specified Redis node(s). This operation requires write permission to the cache resource. There can be potential data loss.", "parameters": [ @@ -431,18 +634,26 @@ "schema": { "$ref": "#/definitions/RedisForceRebootResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/import": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/import": { "post": { "tags": [ "Redis" ], "operationId": "Redis_ImportData", "x-ms-examples": { - "RedisCacheImport": { "$ref": "../examples/RedisCacheImport.json" } + "RedisCacheImport": { + "$ref": "./examples/RedisCacheImport.json" + } }, "x-ms-long-running-operation": true, "description": "Import data into Redis cache.", @@ -486,18 +697,26 @@ }, "204": { "description": "Import operation succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/export": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/export": { "post": { "tags": [ "Redis" ], "operationId": "Redis_ExportData", "x-ms-examples": { - "RedisCacheExport": { "$ref": "../examples/RedisCacheExport.json" } + "RedisCacheExport": { + "$ref": "./examples/RedisCacheExport.json" + } }, "x-ms-long-running-operation": true, "description": "Export data from the redis cache to blobs in a container.", @@ -541,21 +760,36 @@ }, "204": { "description": "Export operation succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/patchSchedules/default": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules": { + "get": { "tags": [ - "Redis" + "Redis", + "FirewallRules" ], - "operationId": "PatchSchedules_CreateOrUpdate", + "operationId": "FirewallRules_List", + "description": "Gets all firewall rules in the specified redis cache.", "x-ms-examples": { - "RedisCachePatchSchedulesCreateOrUpdate": { "$ref": "../examples/RedisCachePatchSchedulesCreateOrUpdate.json" } + "RedisCacheFirewallRulesList": { + "$ref": "./examples/RedisCacheFirewallRulesList.json" + } }, - "description": "Create or replace the patching schedule for Redis cache (requires Premium SKU).", "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -564,52 +798,45 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", "description": "The name of the Redis cache." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RedisPatchSchedule" - }, - "description": "Parameters to set the patching schedule for Redis cache." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The patch schedule was successfully updated.", + "description": "Successfully got the current rules", "schema": { - "$ref": "#/definitions/RedisPatchSchedule" + "$ref": "#/definitions/RedisFirewallRuleListResult" } }, - "201": { - "description": "The patch schedule was successfully created.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RedisPatchSchedule" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/firewallRules/{ruleName}": { + "put": { "tags": [ - "Redis" + "Redis", + "FirewallRules" ], - "operationId": "PatchSchedules_Delete", + "operationId": "FirewallRules_CreateOrUpdate", + "description": "Create or update a redis cache firewall rule", "x-ms-examples": { - "RedisCachePatchSchedulesDelete": { "$ref": "../examples/RedisCachePatchSchedulesDelete.json" } + "RedisCacheFirewallRuleCreate": { + "$ref": "./examples/RedisCacheFirewallRuleCreate.json" + } }, - "description": "Deletes the patching schedule of a redis cache (requires Premium SKU).", "parameters": [ { "name": "resourceGroupName", @@ -619,11 +846,27 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", - "description": "The name of the redis cache." + "description": "The name of the Redis cache." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the firewall rule." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + }, + "description": "Parameters supplied to the create or update redis firewall rule operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -634,22 +877,37 @@ ], "responses": { "200": { - "description": "Success." + "description": "Resource was successfully updated", + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + } }, - "204": { - "description": "Success." + "201": { + "description": "Resource was successfully created", + "schema": { + "$ref": "#/definitions/RedisFirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } }, "get": { "tags": [ - "Redis" + "Redis", + "FirewallRules" ], - "operationId": "PatchSchedules_Get", + "operationId": "FirewallRules_Get", + "description": "Gets a single firewall rule in a specified redis cache.", "x-ms-examples": { - "RedisCachePatchSchedulesGet": { "$ref": "../examples/RedisCachePatchSchedulesGet.json" } + "RedisCacheFirewallRuleGet": { + "$ref": "./examples/RedisCacheFirewallRuleGet.json" + } }, - "description": "Gets the patching schedule of a redis cache (requires Premium SKU).", "parameters": [ { "name": "resourceGroupName", @@ -659,11 +917,18 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", - "description": "The name of the redis cache." + "description": "The name of the Redis cache." + }, + { + "name": "ruleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the firewall rule." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -674,25 +939,31 @@ ], "responses": { "200": { - "description": "Response of get patch schedules.", + "description": "Successfully found the rule", "schema": { - "$ref": "#/definitions/RedisPatchSchedule" + "$ref": "#/definitions/RedisFirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers/{linkedServerName}": { - "put": { + }, + "delete": { "tags": [ - "Redis" + "Redis", + "FirewallRules" ], - "operationId": "RedisLinkedServer_Create", - "x-ms-long-running-operation": true, + "operationId": "FirewallRules_Delete", + "description": "Deletes a single firewall rule in a specified redis cache.", "x-ms-examples": { - "RedisLinkedServer_Create": { "$ref": "../examples/RedisCacheLinkedServer_Create.json" } + "RedisCacheFirewallRuleDelete": { + "$ref": "./examples/RedisCacheFirewallRuleDelete.json" + } }, - "description": "Adds a linked server to the Redis cache (requires Premium SKU).", "parameters": [ { "name": "resourceGroupName", @@ -702,27 +973,18 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", "description": "The name of the Redis cache." }, { - "name": "linkedServerName", + "name": "ruleName", "in": "path", "required": true, "type": "string", - "description": "The name of the linked server that is being added to the Redis cache." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RedisLinkedServerCreateParameters" - }, - "description": "Parameters supplied to the Create Linked server operation." + "description": "The name of the firewall rule." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -731,30 +993,583 @@ "$ref": "#/parameters/SubscriptionIdParameter" } ], - "responses": { - "200": { - "description": "The linked server was successfully added.", - "schema": { - "$ref": "#/definitions/RedisLinkedServerWithProperties" + "responses": { + "200": { + "description": "Successfully deleted the rule" + }, + "204": { + "description": "Successfully deleted the rule" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/patchSchedules": { + "get": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_ListByRedisResource", + "description": "Gets all patch schedules in the specified redis cache (there is only one).", + "x-ms-examples": { + "RedisCachePatchSchedulesList": { + "$ref": "./examples/RedisCachePatchSchedulesList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + } + ], + "responses": { + "200": { + "description": "Successfully got the current patch schedules", + "schema": { + "$ref": "#/definitions/RedisPatchScheduleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/patchSchedules/{default}": { + "put": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_CreateOrUpdate", + "x-ms-examples": { + "RedisCachePatchSchedulesCreateOrUpdate": { + "$ref": "./examples/RedisCachePatchSchedulesCreateOrUpdate.json" + } + }, + "description": "Create or replace the patching schedule for Redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + }, + "description": "Parameters to set the patching schedule for Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The patch schedule was successfully updated.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "201": { + "description": "The patch schedule was successfully created.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_Delete", + "x-ms-examples": { + "RedisCachePatchSchedulesDelete": { + "$ref": "./examples/RedisCachePatchSchedulesDelete.json" + } + }, + "description": "Deletes the patching schedule of a redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "204": { + "description": "Success." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis", + "PatchSchedules" + ], + "operationId": "PatchSchedules_Get", + "x-ms-examples": { + "RedisCachePatchSchedulesGet": { + "$ref": "./examples/RedisCachePatchSchedulesGet.json" + } + }, + "description": "Gets the patching schedule of a redis cache.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "default", + "in": "path", + "required": true, + "type": "string", + "description": "Default string modeled as parameter for auto generation to work correctly.", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "defaultName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get patch schedules.", + "schema": { + "$ref": "#/definitions/RedisPatchSchedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers/{linkedServerName}": { + "put": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Create", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "LinkedServer_Create": { + "$ref": "./examples/RedisCacheLinkedServer_Create.json" + } + }, + "description": "Adds a linked server to the Redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server that is being added to the Redis cache." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RedisLinkedServerCreateParameters" + }, + "description": "Parameters supplied to the Create Linked server operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The linked server was successfully added.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "201": { + "description": "The linked server was successfully added.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Delete", + "x-ms-examples": { + "LinkedServerDelete": { + "$ref": "./examples/RedisCacheLinkedServer_Delete.json" + } + }, + "description": "Deletes the linked server from a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server that is being added to the Redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The redis cache was successfully deleted." + }, + "204": { + "description": "Linked server was successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_Get", + "x-ms-examples": { + "LinkedServer_Get": { + "$ref": "./examples/RedisCacheLinkedServer_Get.json" + } + }, + "description": "Gets the detailed information about a linked server of a redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "name": "linkedServerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the linked server." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get linked server.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithProperties" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{name}/linkedServers": { + "get": { + "tags": [ + "Redis" + ], + "operationId": "LinkedServer_List", + "x-ms-examples": { + "LinkedServer_List": { + "$ref": "./examples/RedisCacheLinkedServer_List.json" + } + }, + "description": "Gets the list of linked servers associated with this redis cache (requires Premium SKU).", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the redis cache." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Response of get linked servers.", + "schema": { + "$ref": "#/definitions/RedisLinkedServerWithPropertiesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the redis cache.", + "x-ms-examples": { + "RedisCacheListPrivateEndpointConnection": { + "$ref": "./examples/RedisCacheListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" } }, - "201": { - "description": "The linked server was successfully added.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RedisLinkedServerWithProperties" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { "tags": [ - "Redis" + "PrivateEndpointConnections" ], - "operationId": "RedisLinkedServer_Delete", + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the redis cache.", "x-ms-examples": { - "RedisLinkedServerDelete": { "$ref": "../examples/RedisCacheLinkedServer_Delete.json" } + "RedisCacheGetPrivateEndpointConnection": { + "$ref": "./examples/RedisCacheGetPrivateEndpointConnection.json" + } }, - "description": "Deletes the linked server from a redis cache (requires Premium SKU).", "parameters": [ { "name": "resourceGroupName", @@ -764,41 +1579,49 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", - "description": "The name of the redis cache." + "description": "The name of the Redis cache." }, { - "name": "linkedServerName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the linked server that is being added to the Redis cache." + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Linked server was successfully deleted." + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } } } }, - "get": { + "put": { "tags": [ - "Redis" + "PrivateEndpointConnections" ], - "operationId": "RedisLinkedServer_Get", + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the redis cache.", "x-ms-examples": { - "RedisLinkedServer_Get": { "$ref": "../examples/RedisCacheLinkedServer_Get.json" } + "RedisCachePutPrivateEndpointConnection": { + "$ref": "./examples/RedisCachePutPrivateEndpointConnection.json" + } }, - "description": "Gets the detailed information about a linked server of a redis cache (requires Premium SKU).", + "x-ms-long-running-operation": true, "parameters": [ { "name": "resourceGroupName", @@ -808,46 +1631,110 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", - "description": "The name of the redis cache." + "description": "The name of the Redis cache." }, { - "name": "linkedServerName", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "201": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the redis cache.", + "x-ms-examples": { + "RedisCacheDeletePrivateEndpointConnection": { + "$ref": "./examples/RedisCacheDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the linked server." + "description": "The name of the resource group." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "cacheName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Redis cache." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" } ], "responses": { "200": { - "description": "Response of get linked server.", + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RedisLinkedServerWithProperties" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/Redis/{name}/linkedServers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cache/redis/{cacheName}/privateLinkResources": { "get": { "tags": [ - "Redis" + "PrivateLinkResources" ], - "operationId": "RedisLinkedServer_List", + "operationId": "PrivateLinkResources_ListByRedisCache", + "description": "Gets the private link resources that need to be created for a redis cache.", "x-ms-examples": { - "RedisLinkedServer_List": { "$ref": "../examples/RedisCacheLinkedServer_List.json" } + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/RedisCacheListPrivateLinkResources.json" + } }, - "description": "Gets the list of linked servers associated with this redis cache (requires Premium SKU).", "parameters": [ { "name": "resourceGroupName", @@ -857,26 +1744,35 @@ "description": "The name of the resource group." }, { - "name": "name", + "name": "cacheName", "in": "path", "required": true, "type": "string", - "description": "The name of the redis cache." + "description": "The name of the Redis cache." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Response of get linked servers.", + "description": "Successfully retrieved private link resources.", "schema": { - "$ref": "#/definitions/RedisLinkedServerWithPropertiesList" + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } } @@ -922,43 +1818,121 @@ ], "description": "SKU parameters supplied to the create Redis operation." }, - "RedisProperties": { + "RedisCommonProperties": { "properties": { "redisConfiguration": { "type": "object", + "properties": { + "rdb-backup-enabled": { + "type": "string", + "description": "Specifies whether the rdb backup is enabled" + }, + "rdb-backup-frequency": { + "type": "string", + "description": "Specifies the frequency for creating rdb backup" + }, + "rdb-backup-max-snapshot-count": { + "type": "string", + "description": "Specifies the maximum number of snapshots for rdb backup" + }, + "rdb-storage-connection-string": { + "type": "string", + "description": "The storage account connection string for storing rdb file" + }, + "aof-storage-connection-string-0": { + "type": "string", + "description": "First storage account connection string" + }, + "aof-storage-connection-string-1": { + "type": "string", + "description": "Second storage account connection string" + }, + "maxfragmentationmemory-reserved": { + "type": "string", + "description": "Value in megabytes reserved for fragmentation per shard" + }, + "maxmemory-policy": { + "type": "string", + "description": "The eviction strategy used when your data won't fit within its memory limit." + }, + "maxmemory-reserved": { + "type": "string", + "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover." + }, + "maxmemory-delta": { + "type": "string", + "description": "Value in megabytes reserved for non-cache usage per shard e.g. failover." + }, + "maxclients": { + "type": "string", + "description": "The max clients config", + "readOnly": true + } + }, "additionalProperties": { "type": "string" }, "description": "All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc." }, + "redisVersion": { + "type": "string", + "description": "Redis version. Only major version will be used in PUT/PATCH request with current valid values: (4, 6)" + }, "enableNonSslPort": { "type": "boolean", + "default": false, "description": "Specifies whether the non-ssl Redis server port (6379) is enabled." }, + "replicasPerMaster": { + "type": "integer", + "format": "int32", + "description": "The number of replicas to be created per primary." + }, + "replicasPerPrimary": { + "type": "integer", + "format": "int32", + "description": "The number of replicas to be created per primary." + }, "tenantSettings": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "tenantSettings" + "description": "A dictionary of tenant settings" }, "shardCount": { "type": "integer", "format": "int32", "description": "The number of shards to be created on a Premium Cluster Cache." }, - "subnetId": { + "minimumTlsVersion": { "type": "string", - "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$", - "description": "The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subid}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1" + "description": "Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')", + "enum": [ + "1.0", + "1.1", + "1.2" + ], + "x-ms-enum": { + "name": "TlsVersion", + "modelAsString": true + } }, - "staticIP": { + "publicNetworkAccess": { + "description": "Whether or not public endpoint access is allowed for this cache. Value is optional but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Enabled", "type": "string", - "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$", - "description": "Static IP address. Required when deploying a Redis cache inside an existing Azure Virtual Network." + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } } }, - "description": "Properties supplied to Create or Update Redis operation.", + "description": "Create/Update/Get common properties of the redis cache.", "x-ms-external": true }, "RedisCreateProperties": { @@ -966,6 +1940,20 @@ "sku": { "$ref": "#/definitions/Sku", "description": "The SKU of the Redis cache to deploy." + }, + "subnetId": { + "type": "string", + "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.(ClassicNetwork|Network)/virtualNetworks/[^/]*/subnets/[^/]*$", + "description": "The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1" + }, + "staticIP": { + "type": "string", + "pattern": "^\\d+\\.\\d+\\.\\d+\\.\\d+$", + "description": "Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.", + "x-ms-mutability": [ + "read", + "create" + ] } }, "required": [ @@ -973,66 +1961,106 @@ ], "allOf": [ { - "$ref": "#/definitions/RedisProperties" + "$ref": "#/definitions/RedisCommonProperties" } ], - "description": "Properties supplied to Create Redis operation." + "description": "Properties supplied to Create Redis operation.", + "x-ms-external": true }, "RedisUpdateProperties": { "properties": { "sku": { "$ref": "#/definitions/Sku", "description": "The SKU of the Redis cache to deploy." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." } }, "allOf": [ { - "$ref": "#/definitions/RedisProperties" + "$ref": "#/definitions/RedisCommonProperties" } ], - "description": "Properties supplied to Update Redis operation." + "description": "Patchable properties of the redis cache.", + "x-ms-external": true }, - "Resource": { - "description": "The Resource definition.", + "RedisProperties": { "properties": { - "id": { + "provisioningState": { "readOnly": true, "type": "string", - "description": "Resource ID." + "description": "Redis instance provisioning status.", + "enum": [ + "Creating", + "Deleting", + "Disabled", + "Failed", + "Linking", + "Provisioning", + "RecoveringScaleFailure", + "Scaling", + "Succeeded", + "Unlinking", + "Unprovisioning", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } }, - "name": { + "hostName": { "readOnly": true, "type": "string", - "description": "Resource name." + "description": "Redis host name." }, - "type": { + "port": { "readOnly": true, - "type": "string", - "description": "Resource type." + "type": "integer", + "format": "int32", + "description": "Redis non-SSL port." }, - "location": { - "type": "string", - "description": "Resource location." + "sslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Redis SSL port." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "accessKeys": { + "readOnly": true, + "$ref": "#/definitions/RedisAccessKeys", + "description": "The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache" + }, + "linkedServers": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RedisLinkedServer" }, - "description": "Resource tags." + "description": "List of the linked servers associated with the cache" + }, + "instances": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/RedisInstanceDetails" + }, + "description": "List of the Redis instances associated with the cache" + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified redis cache" } }, - "required": [ - "location" + "allOf": [ + { + "$ref": "#/definitions/RedisCreateProperties" + } ], - "x-ms-azure-resource": true + "description": "Properties of the redis cache.", + "x-ms-external": true }, "RedisCreateParameters": { "properties": { @@ -1040,15 +2068,33 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/RedisCreateProperties", "description": "Redis cache properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." } }, "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "properties", + "location" ], "description": "Parameters supplied to the Create Redis operation." }, @@ -1058,6 +2104,13 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/RedisUpdateProperties", "description": "Redis cache properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." } }, "description": "Parameters supplied to the Update Redis operation." @@ -1077,72 +2130,129 @@ }, "description": "Redis cache access keys." }, - "RedisResourceProperties": { + "RedisFirewallRule": { + "description": "A firewall rule on a redis cache has a name, and describes a contiguous range of IP addresses permitted to connect", "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of the Redis cache to deploy." - }, - "redisVersion": { - "readOnly": true, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RedisFirewallRuleProperties", + "description": "redis cache firewall rule properties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] + }, + "RedisFirewallRuleCreateParameters": { + "allOf": [ + { + "$ref": "#/definitions/RedisFirewallRule" + } + ], + "description": "Parameters required for creating a firewall rule on redis cache. (Note, you can just use the FirewallRule type instead now.)" + }, + "RedisFirewallRuleProperties": { + "description": "Specifies a range of IP addresses permitted to connect to the cache", + "properties": { + "startIP": { "type": "string", - "description": "Redis version." + "description": "lowest IP address included in the range" }, - "provisioningState": { - "readOnly": true, + "endIP": { "type": "string", - "description": "Redis instance provisioning status." + "description": "highest IP address included in the range" + } + }, + "required": [ + "startIP", + "endIP" + ] + }, + "RedisFirewallRuleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisFirewallRule" + }, + "description": "Results of the list firewall rules operation." }, - "hostName": { - "readOnly": true, + "nextLink": { "type": "string", - "description": "Redis host name." - }, - "port": { - "readOnly": true, - "type": "integer", - "format": "int32", - "description": "Redis non-SSL port." - }, - "sslPort": { - "readOnly": true, - "type": "integer", - "format": "int32", - "description": "Redis SSL port." - }, - "accessKeys": { - "$ref": "#/definitions/RedisAccessKeys", - "readOnly": true, - "description": "The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache" - }, - "linkedServers": { - "$ref": "#/definitions/RedisLinkedServerList", "readOnly": true, - "description": "List of the linked servers associated with the cache" + "description": "Link for next page of results." } }, - "allOf": [ - { - "$ref": "#/definitions/RedisProperties" - } - ], - "description": "Parameters describing a Redis instance." + "description": "The response of list firewall rules Redis operation." }, "RedisResource": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/RedisResourceProperties", + "$ref": "#/definitions/RedisProperties", "description": "Redis cache properties." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." } }, + "required": [ + "properties" + ], "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], "description": "A single Redis item in List or Get Operation." }, + "RedisInstanceDetails": { + "properties": { + "sslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Redis instance SSL port." + }, + "nonSslPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "If enableNonSslPort is true, provides Redis instance Non-SSL port." + }, + "zone": { + "readOnly": true, + "type": "string", + "description": "If the Cache uses availability zones, specifies availability zone where this instance is located." + }, + "shardId": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "If clustering is enabled, the Shard ID of Redis Instance" + }, + "isMaster": { + "readOnly": true, + "type": "boolean", + "description": "Specifies whether the instance is a primary node." + }, + "isPrimary": { + "readOnly": true, + "type": "boolean", + "description": "Specifies whether the instance is a primary node." + } + }, + "description": "Details of single instance of redis." + }, "RedisListResult": { "properties": { "value": { @@ -1154,7 +2264,8 @@ }, "nextLink": { "type": "string", - "description": "Link for next set of locations." + "readOnly": true, + "description": "Link for next page of results." } }, "description": "The response of list Redis operation." @@ -1198,11 +2309,15 @@ "type": "integer", "format": "int32", "description": "If clustering is enabled, the ID of the shard to be rebooted." + }, + "ports": { + "type": "array", + "items": { + "type": "integer" + }, + "description": "A list of redis instances to reboot, specified by per-instance SSL ports or non-SSL ports." } }, - "required": [ - "rebootType" - ], "description": "Specifies which Redis node(s) to reboot." }, "ExportRDBParameters": { @@ -1286,6 +2401,7 @@ "ScheduleEntries": { "properties": { "scheduleEntries": { + "x-ms-client-name": "ScheduleEntries", "type": "array", "items": { "$ref": "#/definitions/ScheduleEntry" @@ -1300,26 +2416,6 @@ }, "RedisPatchSchedule": { "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - }, - "location": { - "readOnly": true, - "type": "string", - "description": "Resource location." - }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ScheduleEntries", @@ -1329,11 +2425,33 @@ "required": [ "properties" ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ], "description": "Response to put/get patch schedules for Redis cache." }, + "RedisPatchScheduleListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RedisPatchSchedule" + }, + "description": "Results of the list patch schedules operation." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next page of results." + } + }, + "description": "The response of list patch schedules Redis operation." + }, "RedisForceRebootResponse": { "properties": { - "Message": { + "message": { "readOnly": true, "type": "string", "description": "Status message" @@ -1354,27 +2472,17 @@ "RedisLinkedServerWithProperties": { "description": "Response to put/get linked server (with properties) for Redis cache.", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource ID." - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type." - }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/RedisLinkedServerProperties", "description": "Properties of the linked server." - } - } + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" + } + ] }, "RedisLinkedServerProperties": { "description": "Properties of a linked server to be returned in get/put response", @@ -1391,37 +2499,24 @@ } ] }, - "RedisLinkedServerList": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/RedisLinkedServer" - }, - "description": "List of linked server Ids of a Redis cache." - } - }, - "required": [ - "value" - ], - "description": "List of linked server Ids of a Redis cache." - }, - "RedisLinkedServerWithPropertiesList": { + "RedisLinkedServerWithPropertiesList": { "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/RedisLinkedServerWithProperties" }, - "description": "List of linked servers (with properites) of a Redis cache." + "description": "List of linked servers (with properties) of a Redis cache." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next set." } }, - "required": [ - "value" - ], - "description": "List of linked servers (with properites) of a Redis cache." + "description": "List of linked servers (with properties) of a Redis cache." }, - "RedisLinkedServerCreateProperties": { + "RedisLinkedServerCreateProperties": { "description": "Create properties for a linked server", "properties": { "linkedRedisCacheId": { @@ -1430,7 +2525,11 @@ }, "linkedRedisCacheLocation": { "type": "string", - "description": "Location of the linked redis cache." + "description": "Location of the linked redis cache.", + "x-ms-mutability": [ + "create", + "read" + ] }, "serverRole": { "type": "string", @@ -1457,28 +2556,134 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/RedisLinkedServerCreateProperties", "description": "Properties required to create a linked server." - } + } }, "required": [ "properties" ], "description": "Parameter required for creating a linked server to redis cache." + }, + "Operation": { + "description": "REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list REST API operations. It contains a list of operations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "CheckNameAvailabilityParameters": { + "description": "Parameters body to pass for resource name availability check.", + "properties": { + "name": { + "type": "string", + "description": "Resource name." + }, + "type": { + "type": "string", + "description": "Resource type. The only legal value of this property for checking redis cache name availability is 'Microsoft.Cache/redis'." + } + }, + "required": [ + "name", + "type" + ] + }, + "UpgradeNotification": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "Name of upgrade notification." + }, + "timestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Timestamp when upgrade notification occurred." + }, + "upsellNotification": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Details about this upgrade notification" + } + }, + "description": "Properties of upgrade notification." + }, + "NotificationListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/UpgradeNotification" + }, + "description": "List of all notifications." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link for next set of notifications." + } + }, + "description": "The response of listUpgradeNotifications." } }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." - } + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." } - } \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Capacity/reservations.json b/App_Data/SwaggerSpecs/Microsoft.Capacity/reservations.json index 8f9e6fd9..c643447b 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Capacity/reservations.json +++ b/App_Data/SwaggerSpecs/Microsoft.Capacity/reservations.json @@ -1,1206 +1,2811 @@ { - "swagger": "2.0", - "info": { - "title": "Azure Reservation API", - "description": "This API describe Azure Reservation", - "version": "2017-11-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "swagger": "2.0", + "info": { + "title": "Azure Reservation API", + "description": "This API describe Azure Reservation", + "version": "2021-07-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/availableScopes": { + "post": { + "summary": "Get Available Scopes for `Reservation`.", + "description": "Get Available Scopes for `Reservation`.\n", + "operationId": "Reservation_AvailableScopes", + "x-ms-examples": { + "AvailableScopes": { + "$ref": "./examples/GetAvailableScope.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ScopeParameter" + } + ], + "tags": [ + "Reservation, AvailableScopes" + ], + "responses": { + "200": { + "description": "List of `Subscription`s created after the filter.", + "schema": { + "$ref": "#/definitions/AvailableScopeProperties" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } } + } }, - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs": { - "get": { - "summary": "Get the regions and skus that are available for RI purchase for the specified Azure subscription.", - "operationId": "GetCatalog", - "x-ms-examples": { - "Catalog": { - "$ref": "./examples/GetCatalog.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "tags": [ - "Catalog" - ], - "responses": { - "200": { - "description": "List of available resources", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/Catalog" - } - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - } + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/catalogs": { + "get": { + "summary": "Get the regions and skus that are available for RI purchase for the specified Azure subscription.", + "operationId": "GetCatalog", + "x-ms-examples": { + "Catalog": { + "$ref": "./examples/GetCatalog.json" + } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations": { - "get": { - "summary": "Get list of applicable `Reservation`s.", - "description": "Get applicable `Reservation`s that are applied to this subscription.", - "operationId": "GetAppliedReservationList", - "x-ms-examples": { - "AppliedReservationList": { - "$ref": "./examples/GetAppliedReservations.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "tags": [ - "AppliedReservation" - ], - "responses": { - "200": { - "description": "Applicable `Reservation`s.", - "schema": { - "$ref": "#/definitions/AppliedReservations" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ReservedResourceTypeIdParameter" + }, + { + "$ref": "#/parameters/LocationIdParameter" + } + ], + "tags": [ + "Catalog" + ], + "responses": { + "200": { + "description": "List of available resources", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } } - }, - "/providers/Microsoft.Capacity/reservationOrders": { - "get": { - "summary": "Get all `ReservationOrder`s.", - "description": "List of all the `ReservationOrder`s that the user has access to in the current tenant.", - "operationId": "ReservationOrder_List", - "x-ms-examples": { - "ReservationOrderList": { - "$ref": "./examples/GetReservationOrders.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Reservation" - ], - "responses": { - "200": { - "description": "List of `ReservationOrder`s", - "schema": { - "$ref": "#/definitions/ReservationOrderList" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Capacity/appliedReservations": { + "get": { + "summary": "Get list of applicable `Reservation`s.", + "description": "Get applicable `Reservation`s that are applied to this subscription or a resource group under this subscription.", + "operationId": "GetAppliedReservationList", + "x-ms-examples": { + "AppliedReservationList": { + "$ref": "./examples/GetAppliedReservations.json" + } }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}": { - "get": { - "summary": "Get a specific `ReservationOrder`.", - "description": "Get the details of the `ReservationOrder`.", - "operationId": "ReservationOrder_Get", - "x-ms-examples": { - "GetReservation": { - "$ref": "./examples/GetReservationOrderDetails.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Reservation" - ], - "responses": { - "200": { - "description": "Get the details of the `ReservationOrder`.", - "schema": { - "$ref": "#/definitions/ReservationOrderResponse" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "tags": [ + "AppliedReservation" + ], + "responses": { + "200": { + "description": "Applicable `Reservation`s.", + "schema": { + "$ref": "#/definitions/AppliedReservations" } - }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split": { - "post": { - "summary": "Split the `Reservation`.", - "description": "Split a `Reservation` into two `Reservation`s with specified quantity distribution.\n", - "operationId": "Reservation_Split", - "x-ms-examples": { - "Split": { - "$ref": "./examples/SplitReservation.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SplitParameter" - } - ], - "tags": [ - "Reservation, Split" - ], - "responses": { - "200": { - "description": "List of `Reservation`s created after the split operation.", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ReservationResponse" - } - } - }, - "202": { - "description": "The request is accepted and is being processed" - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/calculatePrice": { + "post": { + "summary": "Calculate price for a `ReservationOrder`.", + "description": "Calculate price for placing a `ReservationOrder`.", + "operationId": "ReservationOrder_Calculate", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/CalculateReservationOrder.json" + } }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge": { - "post": { - "summary": "Merges two `Reservation`s.", - "description": "Merge the specified `Reservation`s into a new `Reservation`. The two `Reservation`s being merged must have same properties.", - "operationId": "Reservation_Merge", - "x-ms-examples": { - "Merge": { - "$ref": "./examples/MergeReservations.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/MergeParameter" - } - ], - "tags": [ - "Reservation, Merge" - ], - "responses": { - "200": { - "description": "Returns the `Reservation` created after the merge.", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ReservationResponse" - } - } - }, - "202": { - "description": "The request is accepted and is being processed" - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Calculate" + ], + "responses": { + "200": { + "description": "Detailed price info for purchasing `ReservationOrder`", + "schema": { + "$ref": "#/definitions/CalculatePriceResponse" } - }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations": { - "get": { - "summary": "Get `Reservation`s in a given reservation Order", - "description": "List `Reservation`s within a single `ReservationOrder`.", - "operationId": "Reservation_List", - "x-ms-examples": { - "ReservationList": { - "$ref": "./examples/GetReservations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "parameters": [ - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Reservation" - ], - "responses": { - "200": { - "description": "List `Reservation`s within a single `ReservationOrder`.", - "schema": { - "$ref": "#/definitions/ReservationList" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders": { + "get": { + "summary": "Get all `ReservationOrder`s.", + "description": "List of all the `ReservationOrder`s that the user has access to in the current tenant.", + "operationId": "ReservationOrder_List", + "x-ms-examples": { + "ReservationOrderList": { + "$ref": "./examples/GetReservationOrders.json" + } }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}": { - "get": { - "summary": "Get `Reservation` details.", - "description": "Get specific `Reservation` details.", - "operationId": "Reservation_Get", - "x-ms-examples": { - "GetReservation": { - "$ref": "./examples/GetReservationDetails.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ReservationIdParameter" - }, - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Reservation" - ], - "responses": { - "200": { - "description": "Get `Reservation` details.", - "schema": { - "$ref": "#/definitions/ReservationResponse" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - }, - "patch": { - "summary": "Updates a `Reservation`.", - "description": "Updates the applied scopes of the `Reservation`.", - "operationId": "Reservation_Update", - "x-ms-examples": { - "PatchReservation": { - "$ref": "./examples/UpdateReservation.json" - } - }, - "x-ms-long-running-operation": true, - "parameters": [ - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ReservationIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/PatchParameter" - } - ], - "tags": [ - "Reservation", - "ApplyScope" - ], - "responses": { - "200": { - "description": "Returns the updated `Reservation`.", - "schema": { - "$ref": "#/definitions/ReservationResponse" - } - }, - "202": { - "description": "The request is accepted and is being processed" - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } - } + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions": { - "get": { - "summary": "Get `Reservation` revisions.", - "description": "List of all the revisions for the `Reservation`.\n", - "operationId": "Reservation_ListRevisions", - "x-ms-examples": { - "ReservationRevisions": { - "$ref": "./examples/GetReservationRevisions.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "parameters": [ - { - "$ref": "#/parameters/ReservationIdParameter" - }, - { - "$ref": "#/parameters/ReservationOrderIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Reservation" - ], - "responses": { - "200": { - "description": "List of all the revisions for the `Reservation`.", - "schema": { - "$ref": "#/definitions/ReservationList" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of `ReservationOrder`s", + "schema": { + "$ref": "#/definitions/ReservationOrderList" } - }, - "/providers/Microsoft.Capacity/operations": { - "get": { - "summary": "Get operations.", - "description": "List all the operations.", - "operationId": "Operation_List", - "x-ms-examples": { - "GetOperations": { - "$ref": "./examples/GetOperations.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "tags": [ - "Operation" - ], - "responses": { - "200": { - "description": "List all the operations.", - "schema": { - "$ref": "#/definitions/OperationList" - } - }, - "default": { - "description": "Unexpected error", - "schema": { - "$ref": "#/definitions/Error" - } - } - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } } + } }, - "definitions": { - "ReservationStatusCode": { - "type": "string", - "enum": [ - "None", - "Pending", - "Active", - "PurchaseError", - "PaymentInstrumentError", - "Split", - "Merged", - "Expired", - "Succeeded" - ] - }, - "ErrorResponseCode": { - "type": "string", - "enum": [ - "NotSpecified", - "InternalServerError", - "ServerTimeout", - "AuthorizationFailed", - "BadRequest", - "ClientCertificateThumbprintNotSet", - "InvalidRequestContent", - "OperationFailed", - "HttpMethodNotSupported", - "InvalidRequestUri", - "MissingTenantId", - "InvalidTenantId", - "InvalidReservationOrderId", - "InvalidReservationId", - "ReservationIdNotInReservationOrder", - "ReservationOrderNotFound", - "InvalidSubscriptionId", - "InvalidAccessToken", - "InvalidLocationId", - "UnauthenticatedRequestsThrottled", - "InvalidHealthCheckType", - "Forbidden", - "BillingScopeIdCannotBeChanged", - "AppliedScopesNotAssociatedWithCommerceAccount", - "AppliedScopesSameAsExisting", - "RoleAssignmentCreationFailed", - "ReservationOrderCreationFailed", - "ReservationOrderNotEnabled", - "CapacityUpdateScopesFailed", - "UnsupportedReservationTerm", - "ReservationOrderIdAlreadyExists", - "RiskCheckFailed", - "CreateQuoteFailed", - "ActivateQuoteFailed", - "NonsupportedAccountId", - "PaymentInstrumentNotFound", - "MissingAppliedScopesForSingle", - "NoValidReservationsToReRate", - "ReRateOnlyAllowedForEA", - "OperationCannotBePerformedInCurrentState", - "InvalidSingleAppliedScopesCount", - "InvalidFulfillmentRequestParameters", - "NotSupportedCountry", - "InvalidRefundQuantity", - "PurchaseError", - "BillingCustomerInputError", - "BillingPaymentInstrumentSoftError", - "BillingPaymentInstrumentHardError", - "BillingTransientError", - "BillingError", - "FulfillmentConfigurationError", - "FulfillmentOutOfStockError", - "FulfillmentTransientError", - "FulfillmentError", - "CalculatePriceFailed" - ] - }, - "ProvisioningState": { - "type": "string", - "description": "Represent the current state of the Reservation.", - "enum": [ - "Creating", - "PendingResourceHold", - "ConfirmedResourceHold", - "PendingBilling", - "ConfirmedBilling", - "Created", - "Succeeded", - "Cancelled", - "Expired", - "BillingFailed", - "Failed", - "Split", - "Merged" - ] - }, - "Location": { - "type": "string", - "description": "Location in which the Resources needs to be reserved. It cannot be changed after the resource has been created.", - "enum": [ - "westus", - "eastus", - "eastus2", - "northcentralus", - "westus2", - "southcentralus", - "centralus", - "westeurope", - "northeurope", - "eastasia", - "southeastasia", - "japaneast", - "japanwest", - "brazilsouth", - "australiaeast", - "australiasoutheast", - "southindia", - "westindia", - "centralindia", - "canadacentral", - "canadaeast", - "uksouth", - "westcentralus", - "ukwest" - ] - }, - "SkuName": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}": { + "put": { + "summary": "Purchase `ReservationOrder`", + "description": "Purchase `ReservationOrder` and create resource under the specified URI.", + "operationId": "ReservationOrder_Purchase", + "x-ms-examples": { + "Purchase": { + "$ref": "./examples/PurchaseReservationOrder.json" + } }, - "Catalog": { - "type": "object", - "properties": { - "resourceType": { - "type": "string", - "description": "The type of resource the SKU applies to.", - "readOnly": true - }, - "name": { - "type": "string", - "description": "The name of SKU", - "readOnly": true - }, - "tier": { - "type": "string", - "description": "The tier of this SKU", - "readOnly": true - }, - "size": { - "type": "string", - "description": "The size of this SKU", - "readOnly": true - }, - "terms": { - "type": "array", - "readOnly": true, - "description": "Available reservation terms for this resource", - "items": { - "$ref": "#/definitions/ReservationTerm" - } - }, - "locations": { - "type": "array", - "readOnly": true, - "items": { - "type": "string", - "description": "The set of locations that the SKU is available." - } - }, - "capabilities": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/SkuCapability" - } - }, - "restrictions": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/SkuRestriction" - } - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "SkuCapability": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "An invariant to describe the feature." - }, - "value": { - "type": "string", - "description": "An invariant if the feature is measured by quantity." - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PurchaseParameter" + } + ], + "tags": [ + "Reservation, Purchase" + ], + "responses": { + "200": { + "description": "The resource has been created", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" } - }, - "SkuRestriction": { - "type": "object", - "properties": { - "type": { - "type": "string", - "description": "The type of restrictions." - }, - "values": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." - }, - "reasonCode": { - "type": "string", - "description": "The reason for restriction." - } + }, + "202": { + "description": "The request is accepted and is being processed. Operation result link is in location header.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" } - }, - "ReservationOrderResponse": { - "type": "object", - "x-ms-azure-resource": true, - "properties": { - "etag": { - "type": "integer" - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Identifier of the reservation" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the reservation" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ReservationOrderProperties" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Type of resource. \"Microsoft.Capacity/reservations\"" - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + }, + "get": { + "summary": "Get a specific `ReservationOrder`.", + "description": "Get the details of the `ReservationOrder`.", + "operationId": "ReservationOrder_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationOrderDetails.json" + }, + "GetReservationWithExpandPayments": { + "$ref": "./examples/GetReservationOrderDetailsWithExpandPlanInformation.json" + } }, - "ReservationTerm": { - "type": "string", - "description": "Represent the term of Reservation.", - "enum": [ - "P1Y", - "P3Y" - ] - }, - "ReservationOrderProperties": { - "type": "object", - "properties": { - "displayName": { - "type": "string", - "description": "Friendly name for user to easily identified the reservation." - }, - "requestDateTime": { - "type": "string", - "format": "date-time", - "description": "This is the DateTime when the reservation was initially requested for purchase." - }, - "createdDateTime": { - "type": "string", - "format": "date-time", - "description": "This is the DateTime when the reservation was created." - }, - "expiryDate": { - "type": "string", - "format": "date", - "description": "This is the date when the Reservation will expire." - }, - "originalQuantity": { - "type": "integer", - "format": "int32", - "description": "Total Quantity of the SKUs purchased in the Reservation." - }, - "term": { - "$ref": "#/definitions/ReservationTerm" - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState" - }, - "reservations": { - "type": "array", - "items": { - "$ref": "#/definitions/ReservationResponse" - } - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$expand", + "description": "May be used to expand the planInformation.", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get the details of the `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationOrderResponse" } - }, - "ReservationResponse": { - "type": "object", - "x-ms-azure-resource": true, - "properties": { - "location": { - "$ref": "#/definitions/Location" - }, - "etag": { - "type": "integer" - }, - "id": { - "type": "string", - "readOnly": true, - "description": "Identifier of the reservation" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the reservation" - }, - "kind": { - "type": "string", - "description": "Resource Provider type to be reserved.", - "enum": [ - "Microsoft.Compute" - ], - "x-ms-enum": { - "name": "Kind", - "modelAsString": false - } - }, - "sku": { - "$ref": "#/definitions/SkuName" - }, - "properties": { - "$ref": "#/definitions/ReservationProperties" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Type of resource. \"Microsoft.Capacity/reservationOrders/reservations\"" - } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/split": { + "post": { + "summary": "Split the `Reservation`.", + "description": "Split a `Reservation` into two `Reservation`s with specified quantity distribution.", + "operationId": "Reservation_Split", + "x-ms-examples": { + "Split": { + "$ref": "./examples/SplitReservation.json" + } }, - "ReservationProperties": { - "type": "object", - "properties": { - "displayName": { - "type": "string", - "description": "Friendly name for user to easily identify the reservation" - }, - "appliedScopes": { - "$ref": "#/definitions/AppliedScopes" - }, - "appliedScopeType": { - "$ref": "#/definitions/AppliedScopeType" - }, - "quantity": { - "type": "integer", - "format": "int32", - "description": "Quantity of the SKUs that are part of the Reservation." - }, - "provisioningState": { - "$ref": "#/definitions/ProvisioningState" - }, - "effectiveDateTime": { - "type": "string", - "format": "date-time", - "description": "DateTime of the Reservation starting when this version is effective from." - }, - "lastUpdatedDateTime": { - "type": "string", - "format": "date-time", - "description": "DateTime of the last time the Reservation was updated.", - "readOnly": true - }, - "expiryDate": { - "type": "string", - "format": "date", - "description": "This is the date when the Reservation will expire." - }, - "extendedStatusInfo": { - "$ref": "#/definitions/ExtendedStatusInfo" - }, - "splitProperties": { - "$ref": "#/definitions/ReservationSplitProperties" - }, - "mergeProperties": { - "$ref": "#/definitions/ReservationMergeProperties" - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "ReservationSplitProperties": { - "type": "object", - "properties": { - "splitDestinations": { - "type": "array", - "items": { - "type": "string" - }, - "description": "List of destination Resource Id that are created due to split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" - }, - "splitSource": { - "type": "string", - "description": "Resource Id of the Reservation from which this is split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SplitParameter" + } + ], + "tags": [ + "Reservation, Split" + ], + "responses": { + "200": { + "description": "List of `Reservation`s created after the split operation.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } } - }, - "ReservationMergeProperties": { - "type": "object", - "properties": { - "mergeDestination": { - "type": "string", - "description": "Reservation Resource Id Created due to the merge. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" - }, - "mergeSources": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Resource Ids of the Source Reservation's merged to form this Reservation. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" - } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/merge": { + "post": { + "summary": "Merges two `Reservation`s.", + "description": "Merge the specified `Reservation`s into a new `Reservation`. The two `Reservation`s being merged must have same properties.", + "operationId": "Reservation_Merge", + "x-ms-examples": { + "Merge": { + "$ref": "./examples/MergeReservations.json" + } }, - "PatchProperties": { - "type": "object", - "properties": { - "appliedScopeType": { - "$ref": "#/definitions/AppliedScopeType" - }, - "appliedScopes": { - "$ref": "#/definitions/AppliedScopes" - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" }, - "SplitProperties": { - "type": "object", - "properties": { - "quantities": { - "type": "array", - "description": "List of the quantities in the new reservations to create.", - "items": { - "type": "integer", - "minItems": 2, - "maxItems": 2 - } - }, - "reservationId": { - "type": "string", - "description": "Resource id of the reservation to be split. Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/MergeParameter" + } + ], + "tags": [ + "Reservation, Merge" + ], + "responses": { + "200": { + "description": "Returns the `Reservation` created after the merge.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations": { + "get": { + "summary": "Get `Reservation`s in a given reservation Order", + "description": "List `Reservation`s within a single `ReservationOrder`.", + "operationId": "Reservation_List", + "x-ms-examples": { + "ReservationList": { + "$ref": "./examples/GetReservationsFromOrder.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "MergeProperties": { - "type": "object", - "properties": { - "sources": { - "type": "array", - "description": "Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", - "items": { - "type": "string" - } - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List `Reservation`s within a single `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationList" } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}": { + "get": { + "summary": "Get `Reservation` details.", + "description": "Get specific `Reservation` details.", + "operationId": "Reservation_Get", + "x-ms-examples": { + "GetReservation": { + "$ref": "./examples/GetReservationDetails.json" + } }, - "MergeRequest": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/MergeProperties" - } + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandRenewPropertiesParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get `Reservation` details.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + }, + "patch": { + "summary": "Updates a `Reservation`.", + "description": "Updates the applied scopes of the `Reservation`.", + "operationId": "Reservation_Update", + "x-ms-examples": { + "PatchReservation": { + "$ref": "./examples/UpdateReservation.json" + } }, - "Patch": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/PatchProperties" - } + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/PatchParameter" + } + ], + "tags": [ + "Reservation", + "ApplyScope" + ], + "responses": { + "200": { + "description": "Returns the updated `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed" + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}/revisions": { + "get": { + "summary": "Get `Reservation` revisions.", + "description": "List of all the revisions for the `Reservation`.", + "operationId": "Reservation_ListRevisions", + "x-ms-examples": { + "ReservationRevisions": { + "$ref": "./examples/GetReservationRevisions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "SplitRequest": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/SplitProperties" - } + "parameters": [ + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "List of all the revisions for the `Reservation`.", + "schema": { + "$ref": "#/definitions/ReservationList" } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/operations": { + "get": { + "summary": "Get operations.", + "description": "List all the operations.", + "operationId": "Operation_List", + "x-ms-examples": { + "GetOperations": { + "$ref": "./examples/GetOperations.json" + } }, - "Error": { - "type": "object", - "properties": { - "error": { - "$ref": "#/definitions/ExtendedErrorInfo" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "tags": [ + "Operation" + ], + "responses": { + "200": { + "description": "List all the operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + }, + "/providers/Microsoft.Capacity/calculateExchange": { + "post": { + "summary": "Calculates the refund amounts and price of the new purchases.", + "description": "Calculates price for exchanging `Reservations` if there are no policy errors.\n", + "operationId": "CalculateExchange_Post", + "x-ms-examples": { + "CalculateExchange": { + "$ref": "./examples/CalculateExchange.json" + } }, - "ExtendedErrorInfo": { - "type": "object", - "properties": { - "code": { - "$ref": "#/definitions/ErrorResponseCode" - }, - "message": { - "type": "string" - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/CalculateExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeOperationResultResponse" + } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/exchange": { + "post": { + "summary": "Exchange Reservation(s)", + "description": "Returns one or more `Reservations` in exchange for one or more `Reservation` purchases.\n", + "operationId": "Exchange_Post", + "x-ms-examples": { + "Exchange": { + "$ref": "./examples/Exchange.json" + } }, - "ExtendedStatusInfo": { - "type": "object", - "properties": { - "statusCode": { - "$ref": "#/definitions/ReservationStatusCode" - }, - "message": { - "type": "string", - "description": "The message giving detailed information about the status code." - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ExchangeRequestParameter" + } + ], + "tags": [ + "Exchange" + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/ExchangeOperationResultResponse" } + }, + "202": { + "description": "The request is accepted and is being processed.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservations": { + "get": { + "description": "List the reservations and the roll up counts of reservations group by provisioning states that the user has access to in the current tenant.", + "operationId": "Reservation_ListAll", + "x-ms-examples": { + "Catalog": { + "$ref": "./examples/GetReservations.json" + } }, - "ReservationOrderList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ReservationOrderResponse" - } - }, - "nextLink": { - "type": "string", - "description": "Url to get the next page of reservationOrders." - } + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter by reservation properties. The filter supports 'eq', 'or', and 'and'. It does not currently support 'ne', 'gt', 'le', 'ge', or 'not'. Reservation properties include sku/name, properties/{appliedScopeType, archived, displayName, displayProvisioningState, effectiveDateTime, expiryDate, provisioningState, quantity, renew, reservedResourceType, term, userFriendlyAppliedScopeType, userFriendlyRenewState}", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$orderby", + "description": "May be used to sort order by reservation properties.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning states", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "The number of reservations to skip from the list before returning results", + "in": "query", + "required": false, + "type": "number" + }, + { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "take", + "description": "To number of reservations to return", + "in": "query", + "required": false, + "type": "number" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/changeDirectory": { + "post": { + "summary": "Change directory of `ReservationOrder`.", + "description": "Change directory (tenant) of `ReservationOrder` and all `Reservation` under it to specified tenant id", + "operationId": "ReservationOrder_ChangeDirectory", + "x-ms-examples": { + "ChangeDirectory": { + "$ref": "./examples/ChangeDirectoryReservationOrder.json" + } }, - "ReservationList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ReservationResponse" - } - }, - "nextLink": { - "type": "string", - "description": "Url to get the next page of reservations." - } + "parameters": [ + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ChangeDirectoryParameter" + } + ], + "tags": [ + "ReservationOrder, ChangeDirectory" + ], + "responses": { + "200": { + "description": "List of `Reservation`s created after the change directory operation.", + "schema": { + "$ref": "#/definitions/ChangeDirectoryResponse" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "#/definitions/Error" } + } + } + } + } + }, + "definitions": { + "ErrorResponseCode": { + "type": "string", + "enum": [ + "NotSpecified", + "InternalServerError", + "ServerTimeout", + "AuthorizationFailed", + "BadRequest", + "ClientCertificateThumbprintNotSet", + "InvalidRequestContent", + "OperationFailed", + "HttpMethodNotSupported", + "InvalidRequestUri", + "MissingTenantId", + "InvalidTenantId", + "InvalidReservationOrderId", + "InvalidReservationId", + "ReservationIdNotInReservationOrder", + "ReservationOrderNotFound", + "InvalidSubscriptionId", + "InvalidAccessToken", + "InvalidLocationId", + "UnauthenticatedRequestsThrottled", + "InvalidHealthCheckType", + "Forbidden", + "BillingScopeIdCannotBeChanged", + "AppliedScopesNotAssociatedWithCommerceAccount", + "PatchValuesSameAsExisting", + "RoleAssignmentCreationFailed", + "ReservationOrderCreationFailed", + "ReservationOrderNotEnabled", + "CapacityUpdateScopesFailed", + "UnsupportedReservationTerm", + "ReservationOrderIdAlreadyExists", + "RiskCheckFailed", + "CreateQuoteFailed", + "ActivateQuoteFailed", + "NonsupportedAccountId", + "PaymentInstrumentNotFound", + "MissingAppliedScopesForSingle", + "NoValidReservationsToReRate", + "ReRateOnlyAllowedForEA", + "OperationCannotBePerformedInCurrentState", + "InvalidSingleAppliedScopesCount", + "InvalidFulfillmentRequestParameters", + "NotSupportedCountry", + "InvalidRefundQuantity", + "PurchaseError", + "BillingCustomerInputError", + "BillingPaymentInstrumentSoftError", + "BillingPaymentInstrumentHardError", + "BillingTransientError", + "BillingError", + "FulfillmentConfigurationError", + "FulfillmentOutOfStockError", + "FulfillmentTransientError", + "FulfillmentError", + "CalculatePriceFailed", + "AppliedScopesSameAsExisting" + ], + "x-ms-enum": { + "name": "ErrorResponseCode", + "modelAsString": true + } + }, + "ProvisioningState": { + "type": "string", + "description": "Represent the current state of the Reservation.", + "enum": [ + "Creating", + "PendingResourceHold", + "ConfirmedResourceHold", + "PendingBilling", + "ConfirmedBilling", + "Created", + "Succeeded", + "Cancelled", + "Expired", + "BillingFailed", + "Failed", + "Split", + "Merged" + ] + }, + "ReservedResourceType": { + "type": "string", + "description": "The type of the resource that is being reserved.", + "enum": [ + "VirtualMachines", + "SqlDatabases", + "SuseLinux", + "CosmosDb", + "RedHat", + "SqlDataWarehouse", + "VMwareCloudSimple", + "RedHatOsa", + "Databricks", + "AppService", + "ManagedDisk", + "BlockBlob", + "RedisCache", + "AzureDataExplorer", + "MySql", + "MariaDb", + "PostgreSql", + "DedicatedHost", + "SapHana", + "SqlAzureHybridBenefit", + "AVS", + "DataFactory", + "NetAppStorage", + "AzureFiles", + "SqlEdge" + ], + "x-ms-enum": { + "name": "ReservedResourceType", + "modelAsString": true + } + }, + "Location": { + "type": "string", + "description": "Location in which the Resources needs to be reserved. It cannot be changed after the resource has been created.", + "enum": [ + "westus", + "eastus", + "eastus2", + "northcentralus", + "westus2", + "southcentralus", + "centralus", + "westeurope", + "northeurope", + "eastasia", + "southeastasia", + "japaneast", + "japanwest", + "brazilsouth", + "australiaeast", + "australiasoutheast", + "southindia", + "westindia", + "centralindia", + "canadacentral", + "canadaeast", + "uksouth", + "westcentralus", + "ukwest" + ] + }, + "AvailableScopeRequest": { + "type": "object", + "description": "Available scope", + "properties": { + "properties": { + "$ref": "#/definitions/AvailableScopeRequestProperties" + } + } + }, + "AvailableScopeRequestProperties": { + "type": "object", + "description": "Available scope request properties", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CalculateExchangeRequest": { + "type": "object", + "description": "Calculate exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/CalculateExchangeRequestProperties" + } + } + }, + "ExchangeRequest": { + "type": "object", + "description": "Exchange request", + "properties": { + "properties": { + "$ref": "#/definitions/ExchangeRequestProperties" + } + } + }, + "CalculateExchangeRequestProperties": { + "type": "object", + "description": "Calculate exchange request properties", + "properties": { + "reservationsToPurchase": { + "type": "array", + "description": "List of reservations that are being purchased in this exchange.", + "items": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "List of reservations that are being returned in this exchange.", + "items": { + "$ref": "#/definitions/ReservationToReturn" + } + } + } + }, + "ExchangeRequestProperties": { + "type": "object", + "description": "Exchange request properties", + "properties": { + "sessionId": { + "type": "string", + "description": "SessionId that was returned by CalculateExchange API." + } + } + }, + "ReservationToReturn": { + "type": "object", + "description": "Reservation to return", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified identifier of the Reservation being returned" }, - "AppliedReservations": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Identifier of the applied reservations", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Name of resource", - "readOnly": true - }, - "type": { - "type": "string", - "description": "Type of resource. \"Microsoft.Capacity/AppliedReservations\"", - "readOnly": true - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AppliedReservationsProperties" - } + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned. Must be greater than zero." + } + } + }, + "ReservationToReturnForExchange": { + "type": "object", + "description": "Reservation refund details", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being returned." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned" + }, + "billingRefundAmount": { + "$ref": "#/definitions/Price" + }, + "billingInformation": { + "$ref": "#/definitions/BillingInformation" + }, + "status": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "BillingInformation": { + "type": "object", + "description": "billing information", + "properties": { + "billingCurrencyTotalPaidAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyProratedAmount": { + "$ref": "#/definitions/Price" + }, + "billingCurrencyRemainingCommitmentAmount": { + "$ref": "#/definitions/Price" + } + } + }, + "Catalog": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "The type of resource the SKU applies to.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of SKU", + "readOnly": true + }, + "billingPlans": { + "type": "object", + "description": "The billing plan options available for this SKU.", + "additionalProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationBillingPlan" } + } + }, + "terms": { + "type": "array", + "readOnly": true, + "description": "Available reservation terms for this resource", + "items": { + "$ref": "#/definitions/ReservationTerm" + } + }, + "locations": { + "type": "array", + "readOnly": true, + "items": { + "type": "string", + "description": "The set of locations that the SKU is available. If not specified, the SKU is available in all locations." + } }, - "AppliedReservationsProperties": { - "type": "object", - "properties": { - "reservationOrderIds": { - "$ref": "#/definitions/AppliedReservationList" - } + "skuProperties": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuProperty" + } + }, + "msrp": { + "type": "object", + "readOnly": true, + "description": "Pricing information about the SKU", + "properties": { + "p1Y": { + "type": "object", + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." } + } + }, + "restrictions": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuRestriction" + } + }, + "tier": { + "type": "string", + "description": "The tier of this SKU", + "readOnly": true + }, + "size": { + "type": "string", + "description": "The size of this SKU", + "readOnly": true + }, + "capabilities": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SkuCapability" + } + } + } + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "description": "An invariant if the feature is measured by quantity." + } + } + }, + "SkuProperty": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "An invariant to describe the feature." + }, + "value": { + "type": "string", + "description": "An invariant if the feature is measured by quantity." + } + } + }, + "SkuRestriction": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions." + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction." + } + } + }, + "ReservationOrderResponse": { + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "etag": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationOrderProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservations\"" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "PaymentStatus": { + "type": "string", + "description": "Describes whether the payment is completed, failed, cancelled or scheduled in the future.", + "enum": [ + "Succeeded", + "Failed", + "Scheduled", + "Cancelled" + ], + "x-ms-enum": { + "name": "PaymentStatus", + "modelAsString": true + } + }, + "PaymentDetail": { + "type": "object", + "description": "Information about payment related to a reservation order.", + "properties": { + "dueDate": { + "type": "string", + "format": "date", + "description": "Date when the payment needs to be done." + }, + "paymentDate": { + "type": "string", + "format": "date", + "description": "Date when the transaction is completed. Is null when it is scheduled." + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount charged in Billing currency. Tax not included. Is null for future payments" + }, + "billingAccount": { + "type": "string", + "description": "Shows the Account that is charged for this payment." + }, + "status": { + "$ref": "#/definitions/PaymentStatus" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + } + } + }, + "ReservationOrderBillingPlanInformation": { + "type": "object", + "description": "Information describing the type of billing plan for this reservation.", + "properties": { + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount of money to be paid for the Order. Tax is not included." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "Date when the billing plan has started." + }, + "nextPaymentDueDate": { + "type": "string", + "format": "date", + "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off." + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ReservationOrderProperties": { + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identified the reservation." + }, + "requestDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was initially requested for purchase." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation was created." + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "originalQuantity": { + "type": "integer", + "format": "int32", + "description": "Total Quantity of the SKUs purchased in the Reservation." + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "provisioningState": { + "description": "Current state of the reservation.", + "$ref": "#/definitions/ProvisioningState" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "planInformation": { + "$ref": "#/definitions/ReservationOrderBillingPlanInformation" + }, + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + } + } + }, + "DisplayProvisioningState": { + "type": "string", + "description": "Represent the current display state of the Reservation.", + "enum": [ + "Succeeded", + "Expiring", + "Expired", + "Pending", + "Cancelled", + "Failed" + ] + }, + "UserFriendlyAppliedScopeType": { + "type": "string", + "description": "The applied scope type", + "enum": [ + "None", + "Shared", + "Single", + "ResourceGroup", + "ManagementGroup" + ] + }, + "UserFriendlyRenewState": { + "type": "string", + "description": "The renew state of the reservation", + "enum": [ + "On", + "Off", + "Renewed", + "NotRenewed", + "NotApplicable" + ] + }, + "ReservationTerm": { + "type": "string", + "description": "Represent the term of Reservation.", + "enum": [ + "P1Y", + "P3Y", + "P5Y" + ], + "x-ms-enum": { + "name": "ReservationTerm", + "modelAsString": true + } + }, + "ReservationsListResult": { + "type": "object", + "description": "The list of reservations and summary of roll out count of reservations in each state.", + "properties": { + "value": { + "description": "The list of reservations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "summary": { + "description": "The roll out count summary of the reservations", + "type": "object", + "$ref": "#/definitions/ReservationSummary" + } + } + }, + "ReservationResponse": { + "description": "The definition of the reservation.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "etag": { + "type": "integer", + "format": "int32" + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Identifier of the reservation" + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the reservation" + }, + "sku": { + "description": "The sku information associated to this reservation ", + "$ref": "#/definitions/SkuName" + }, + "properties": { + "description": "The properties associated to this reservation ", + "$ref": "#/definitions/ReservationsProperties" + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Type of resource. \"Microsoft.Capacity/reservationOrders/reservations\"" + }, + "kind": { + "type": "string", + "description": "Resource Provider type to be reserved.", + "enum": [ + "Microsoft.Compute" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": false + } + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "ReservationQuantity": { + "type": "integer", + "format": "int32", + "description": "Quantity of the SKUs that are part of the Reservation. Must be greater than zero." + }, + "AvailableScopeProperties": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SubscriptionScopeProperties" + } + } + }, + "SubscriptionScopeProperties": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "$ref": "#/definitions/ScopeProperties" + } + } + } + }, + "ScopeProperties": { + "type": "object", + "properties": { + "scope": { + "type": "string" + }, + "valid": { + "type": "boolean" + } + } + }, + "InstanceFlexibility": { + "type": "string", + "description": "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type.", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "InstanceFlexibility", + "modelAsString": true + } + }, + "ReservationStatusCode": { + "type": "string", + "enum": [ + "None", + "Pending", + "Active", + "PurchaseError", + "PaymentInstrumentError", + "Split", + "Merged", + "Expired", + "Succeeded" + ], + "x-ms-enum": { + "name": "ReservationStatusCode", + "modelAsString": true + } + }, + "ExtendedStatusInfo": { + "type": "object", + "properties": { + "statusCode": { + "$ref": "#/definitions/ReservationStatusCode" + }, + "message": { + "type": "string", + "description": "The message giving detailed information about the status code." + } + } + }, + "ReservationBillingPlan": { + "type": "string", + "description": "Represent the billing plans.", + "enum": [ + "Upfront", + "Monthly" + ], + "x-ms-enum": { + "name": "ReservationBillingPlan", + "modelAsString": true + } + }, + "Renew": { + "type": "boolean", + "default": false, + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time." + }, + "RenewPropertiesResponse": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" }, - "AppliedReservationList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "type": "string", - "description": "Reservation resource Id. \"/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}\"" - } - }, - "nextLink": { - "type": "string", - "description": "Url to get the next page of reservations" - } + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. This is locked price 30 days before expiry.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" } + } }, - "OperationList": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/OperationResponse" - } - }, - "nextLink": { - "type": "string", - "description": "Url to get the next page of items." - } + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency for renewal purchase. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" } + } + } + } + }, + "SkuName": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + }, + "CalculateExchangeOperationResultResponse": { + "type": "object", + "description": "CalculateExchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending" + ], + "x-ms-enum": { + "name": "CalculateExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/CalculateExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "ExchangeOperationResultResponse": { + "type": "object", + "description": "Exchange operation result", + "properties": { + "id": { + "type": "string", + "description": "It should match what is used to GET the operation result." + }, + "name": { + "type": "string", + "description": "It must match the last segment of the id field, and will typically be a GUID / system generated value." + }, + "status": { + "type": "string", + "description": "Status of the operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "PendingRefunds", + "PendingPurchases" + ], + "x-ms-enum": { + "name": "ExchangeOperationResultStatus", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/ExchangeResponseProperties" + }, + "error": { + "$ref": "#/definitions/OperationResultError" + } + } + }, + "OperationResultError": { + "type": "object", + "description": "Required if status == failed or status == canceled.", + "properties": { + "code": { + "type": "string", + "description": "Required if status == failed or status == cancelled. If status == failed, provide an invariant error code used for error troubleshooting, aggregation, and analysis." + }, + "message": { + "type": "string", + "description": "Required if status == failed. Localized. If status == failed, provide an actionable error message indicating what error occurred, and what the user can do to address the issue." + } + } + }, + "CalculateExchangeResponseProperties": { + "type": "object", + "description": "CalculateExchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseCalculateExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangeResponseProperties": { + "type": "object", + "description": "Exchange response properties", + "properties": { + "sessionId": { + "type": "string", + "description": "Exchange session identifier" + }, + "netPayable": { + "$ref": "#/definitions/Price" + }, + "refundsTotal": { + "$ref": "#/definitions/Price" + }, + "purchasesTotal": { + "$ref": "#/definitions/Price" + }, + "reservationsToPurchase": { + "type": "array", + "description": "Details of the reservations being purchased", + "items": { + "$ref": "#/definitions/ReservationToPurchaseExchange" + } + }, + "reservationsToExchange": { + "type": "array", + "description": "Details of the reservations being returned", + "items": { + "$ref": "#/definitions/ReservationToReturnForExchange" + } + }, + "policyResult": { + "$ref": "#/definitions/ExchangePolicyErrors" + } + } + }, + "ExchangePolicyErrors": { + "type": "object", + "description": "Exchange policy errors", + "properties": { + "policyErrors": { + "type": "array", + "description": "Exchange Policy errors", + "items": { + "$ref": "#/definitions/ExchangePolicyError" + } + } + } + }, + "ExchangePolicyError": { + "type": "object", + "description": "error details", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + } + }, + "ReservationToExchange": { + "type": "object", + "description": "Reservation refund details", + "properties": { + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being returned." + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity to be returned" + }, + "billingRefundAmount": { + "$ref": "#/definitions/Price" + }, + "billingInformation": { + "$ref": "#/definitions/BillingInformation" + } + } + }, + "ReservationToPurchaseCalculateExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "properties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" + } + } + }, + "ReservationToPurchaseExchange": { + "type": "object", + "description": "Reservation purchase details", + "properties": { + "reservationOrderId": { + "type": "string", + "description": "Fully qualified id of the ReservationOrder being purchased" + }, + "reservationId": { + "type": "string", + "description": "Fully qualified id of the Reservation being purchased. This value is only guaranteed to be non-null if the purchase is successful." + }, + "properties": { + "$ref": "#/definitions/PurchaseRequest" + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price" }, - "OperationResponse": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "display": { - "$ref": "#/definitions/OperationDisplay" - }, - "origin": { - "type": "string" - } + "status": { + "$ref": "#/definitions/OperationStatus" + } + } + }, + "ReservationsProperties": { + "type": "object", + "description": "The properties of the reservations", + "properties": { + "reservedResourceType": { + "description": "The type of the resource that is being reserved.", + "$ref": "#/definitions/ReservedResourceType" + }, + "instanceFlexibility": { + "description": "Allows reservation discount to be applied across skus within the same Autofit group. Not all skus support instance size flexibility.", + "$ref": "#/definitions/InstanceFlexibility" + }, + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identify the reservation" + }, + "appliedScopes": { + "description": "The list of applied scopes", + "$ref": "#/definitions/AppliedScopes" + }, + "appliedScopeType": { + "description": "The applied scope type", + "$ref": "#/definitions/AppliedScopeType" + }, + "archived": { + "description": "Indicates if the reservation is archived", + "type": "boolean" + }, + "capabilities": { + "description": "Capabilities of the reservation", + "type": "string" + }, + "quantity": { + "description": "Quantity of the SKUs that are part of the Reservation.", + "$ref": "#/definitions/ReservationQuantity" + }, + "provisioningState": { + "description": "Current state of the reservation.", + "$ref": "#/definitions/ProvisioningState" + }, + "effectiveDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the Reservation starting when this version is effective from." + }, + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the last time the Reservation was updated.", + "readOnly": true + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation will expire." + }, + "skuDescription": { + "type": "string", + "description": "Description of the SKU in english." + }, + "extendedStatusInfo": { + "description": "The message giving detailed information about the status code.", + "$ref": "#/definitions/ExtendedStatusInfo" + }, + "billingPlan": { + "description": "The billing plan options available for this SKU.", + "$ref": "#/definitions/ReservationBillingPlan" + }, + "displayProvisioningState": { + "description": "The provisioning state of the reservation for display, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "provisioningSubState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "purchaseDate": { + "type": "string", + "format": "date", + "description": "This is the date when the Reservation was purchased." + }, + "splitProperties": { + "$ref": "#/definitions/ReservationSplitProperties" + }, + "mergeProperties": { + "$ref": "#/definitions/ReservationMergeProperties" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "renew": { + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time.", + "$ref": "#/definitions/Renew" + }, + "renewSource": { + "type": "string", + "description": "Reservation Id of the reservation from which this reservation is renewed. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewDestination": { + "type": "string", + "description": "Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewProperties": { + "$ref": "#/definitions/RenewPropertiesResponse" + }, + "term": { + "description": "Represent the term of Reservation.", + "$ref": "#/definitions/ReservationTerm" + }, + "userFriendlyAppliedScopeType": { + "description": "The applied scope type of the reservation for display, e.g. Shared", + "type": "string", + "readOnly": true + }, + "userFriendlyRenewState": { + "description": "The renew state of the reservation for display, e.g. On", + "type": "string", + "readOnly": true + }, + "utilization": { + "readOnly": true, + "type": "object", + "description": "Reservation utilization", + "properties": { + "trend": { + "description": "The number of days trend for a reservation", + "readOnly": true, + "type": "string" + }, + "aggregates": { + "description": "The array of aggregates of a reservation's utilization", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationUtilizationAggregates" + } } + } + } + } + }, + "ReservationSplitProperties": { + "type": "object", + "properties": { + "splitDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination Resource Id that are created due to split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "splitSource": { + "type": "string", + "description": "Resource Id of the Reservation from which this is split. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationMergeProperties": { + "type": "object", + "properties": { + "mergeDestination": { + "type": "string", + "description": "Reservation Resource Id Created due to the merge. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "mergeSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource Ids of the Source Reservation's merged to form this Reservation. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "PurchaseRequestProperties": { + "type": "object", + "properties": { + "reservedResourceType": { + "$ref": "#/definitions/ReservedResourceType" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "term": { + "$ref": "#/definitions/ReservationTerm" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "quantity": { + "description": "Quantity of the SKUs that are part of the Reservation.", + "$ref": "#/definitions/ReservationQuantity" }, - "OperationDisplay": { - "type": "object", - "properties": { - "provider": { - "type": "string" - }, - "resource": { - "type": "string" - }, - "operation": { - "type": "string" - }, - "description": { - "type": "string" - } + "displayName": { + "type": "string", + "description": "Friendly name of the Reservation" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "reservedResourceProperties": { + "type": "object", + "description": "Properties specific to each reserved resource type. Not required if not applicable.", + "properties": { + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" } + } + } + } + }, + "ReservationUtilizationAggregates": { + "description": "The aggregate values of reservation utilization", + "type": "object", + "properties": { + "grain": { + "description": "The grain of the aggregate", + "readOnly": true, + "type": "number" }, - "AppliedScopeType": { - "type": "string", - "description": "Type of the Applied Scope.", - "enum": [ - "Single", - "Shared" - ] + "grainUnit": { + "description": "The grain unit of the aggregate", + "readOnly": true, + "type": "string" }, - "AppliedScopes": { - "type": "array", - "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.", - "items": { - "type": "string", - "minItems": 1, - "maxItems": 1 + "value": { + "description": "The aggregate value", + "readOnly": true, + "type": "number" + }, + "valueUnit": { + "description": "The aggregate value unit", + "readOnly": true, + "type": "string" + } + } + }, + "ReservationSummary": { + "description": "The roll up count summary of reservations in each state", + "type": "object", + "properties": { + "succeededCount": { + "description": "The number of reservation in Succeeded state", + "readOnly": true, + "type": "number" + }, + "failedCount": { + "description": "The number of reservation in Failed state", + "readOnly": true, + "type": "number" + }, + "expiringCount": { + "description": "The number of reservation in Expiring state", + "readOnly": true, + "type": "number" + }, + "expiredCount": { + "description": "The number of reservation in Expired state", + "readOnly": true, + "type": "number" + }, + "pendingCount": { + "description": "The number of reservation in Pending state", + "readOnly": true, + "type": "number" + }, + "cancelledCount": { + "description": "The number of reservation in Cancelled state", + "readOnly": true, + "type": "number" + } + } + }, + "PatchProperties": { + "type": "object", + "properties": { + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + }, + "name": { + "type": "string", + "description": "Name of the Reservation" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewProperties": { + "type": "object", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" } + } + } + } + }, + "SplitProperties": { + "type": "object", + "properties": { + "quantities": { + "type": "array", + "description": "List of the quantities in the new reservations to create.", + "items": { + "type": "integer", + "format": "int32", + "minItems": 2, + "maxItems": 2 + } + }, + "reservationId": { + "type": "string", + "description": "Resource id of the reservation to be split. Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "MergeProperties": { + "type": "object", + "properties": { + "sources": { + "type": "array", + "description": "Format of the resource id should be /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}", + "items": { + "type": "string" + } + } + } + }, + "MergeRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MergeProperties" + } + } + }, + "PurchaseRequest": { + "type": "object", + "properties": { + "sku": { + "$ref": "#/definitions/SkuName" + }, + "location": { + "type": "string", + "description": "The Azure Region where the reserved resource lives." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PurchaseRequestProperties" } + } }, - "parameters": { - "ReservationIdParameter": { - "name": "reservationId", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, + "Patch": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchProperties" + } + } + }, + "SplitRequest": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SplitProperties" + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Error": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + } + }, + "ExtendedErrorInfo": { + "type": "object", + "properties": { + "code": { + "$ref": "#/definitions/ErrorResponseCode" + }, + "message": { + "type": "string" + } + } + }, + "ErrorDetails": { + "type": "object", + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "The target of the particular error.", + "type": "string", + "readOnly": true + } + } + }, + "AppliedReservations": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the applied reservations", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of resource", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of resource. \"Microsoft.Capacity/AppliedReservations\"", + "readOnly": true + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AppliedReservationsProperties" + } + } + }, + "AppliedReservationsProperties": { + "type": "object", + "properties": { + "reservationOrderIds": { + "$ref": "#/definitions/AppliedReservationList" + } + } + }, + "AppliedReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { "type": "string", - "description": "Id of the Reservation Item" - }, - "MergeParameter": { - "name": "body", - "x-ms-parameter-location": "method", - "in": "body", - "required": true, - "description": "Information needed for commercial request for a reservation", - "schema": { - "$ref": "#/definitions/MergeRequest" - } + "description": "Reservation resource Id. \"/providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}\"" + } }, - "PatchParameter": { - "name": "parameters", - "x-ms-parameter-location": "method", - "in": "body", - "required": true, - "description": "Information needed to patch a reservation item", - "schema": { - "$ref": "#/definitions/Patch" + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations" + } + } + }, + "OperationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/OperationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of items." + } + } + }, + "OperationResponse": { + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "description": "Properties of the operation" + } + } + }, + "OperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string" + }, + "resource": { + "type": "string" + }, + "operation": { + "type": "string" + }, + "description": { + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Additional details about an operation.", + "type": "object", + "x-ms-client-flatten": true + }, + "ReservationList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations." + } + } + }, + "ReservationOrderList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationOrderResponse" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservationOrders." + } + } + }, + "AppliedScopeType": { + "type": "string", + "description": "Type of the Applied Scope.", + "enum": [ + "Single", + "Shared" + ], + "x-ms-enum": { + "name": "AppliedScopeType", + "modelAsString": true + } + }, + "AppliedScopes": { + "type": "array", + "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.", + "items": { + "type": "string", + "minItems": 1, + "maxItems": 1 + } + }, + "BillingScopeId": { + "type": "string", + "description": "Subscription that will be charged for purchasing Reservation" + }, + "Price": { + "type": "object", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "format": "double" + } + } + }, + "OperationStatus": { + "type": "string", + "description": "Status of the individual operation.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Pending" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": true + } + }, + "CalculatePriceResponse": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CalculatePriceResponseProperties" + } + } + }, + "CalculatePriceResponseProperties": { + "type": "object", + "properties": { + "billingCurrencyTotal": { + "type": "object", + "description": "Currency and amount that customer will be charged in customer's local currency. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "description": "Amount in pricing currency. Tax is not included.", + "format": "double" } + } }, - "SplitParameter": { - "name": "body", - "x-ms-parameter-location": "method", - "in": "body", - "required": true, - "description": "Information needed to Split a reservation item", - "schema": { - "$ref": "#/definitions/SplitRequest" + "netTotal": { + "type": "number", + "description": "Net total amount in pricing currency.", + "format": "double" + }, + "taxTotal": { + "type": "number", + "description": "Tax amount in pricing currency.", + "format": "double" + }, + "grandTotal": { + "type": "number", + "description": "Total amount in pricing currency.", + "format": "double" + }, + "isTaxIncluded": { + "type": "boolean", + "description": "Whether or not tax is included in grand total" + }, + "isBillingPartnerManaged": { + "description": "True if billing is managed by Microsoft Partner. Used only for CSP accounts.", + "type": "boolean" + }, + "reservationOrderId": { + "description": "GUID that represents reservation order that can be placed after calculating price.", + "type": "string" + }, + "skuTitle": { + "description": "Title of SKU that is being purchased.", + "type": "string" + }, + "skuDescription": { + "description": "Description of SKU that is being purchased.", + "type": "string" + }, + "pricingCurrencyTotal": { + "type": "object", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number" } + } }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "description": "Supported version.", - "required": true, - "type": "string" + "paymentSchedule": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + } + } + } + }, + "ChangeDirectoryRequest": { + "type": "object", + "properties": { + "destinationTenantId": { + "description": "Tenant id GUID that reservation order is to be transferred to", + "type": "string" + } + } + }, + "ChangeDirectoryResponse": { + "type": "object", + "description": "Change directory response", + "properties": { + "reservationOrder": { + "$ref": "#/definitions/ChangeDirectoryResult" }, - "SubscriptionIdParameter": { - "name": "subscriptionId", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, - "type": "string", - "description": "Id of the subscription" + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/ChangeDirectoryResult" + } + } + } + }, + "ChangeDirectoryResult": { + "type": "object", + "description": "Change directory result for reservation order or reservation", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the reservation order or reservation" }, - "ReservationOrderIdParameter": { - "name": "reservationOrderId", - "x-ms-parameter-location": "method", - "in": "path", - "required": true, - "type": "string", - "description": "Order Id of the reservation\n" + "name": { + "type": "string", + "description": "Name of the reservation order or reservation" + }, + "isSucceeded": { + "description": "True if change directory operation succeeded on this reservation order or reservation", + "type": "boolean" + }, + "error": { + "type": "string", + "description": "Error reason if operation failed. Null otherwise" } + } + } + }, + "parameters": { + "CalculateExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing purchases and refunds that need to be executed.", + "schema": { + "$ref": "#/definitions/CalculateExchangeRequest" + } + }, + "ExchangeRequestParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Request containing the refunds and purchases that need to be executed.", + "schema": { + "$ref": "#/definitions/ExchangeRequest" + } + }, + "PurchaseParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for calculate or purchase reservation", + "schema": { + "$ref": "#/definitions/PurchaseRequest" + } + }, + "ReservationIdParameter": { + "name": "reservationId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the Reservation Item" + }, + "MergeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed for commercial request for a reservation", + "schema": { + "$ref": "#/definitions/MergeRequest" + } + }, + "PatchParameter": { + "name": "parameters", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to patch a reservation item", + "schema": { + "$ref": "#/definitions/Patch" + } + }, + "SplitParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to Split a reservation item", + "schema": { + "$ref": "#/definitions/SplitRequest" + } + }, + "ScopeParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AvailableScopeRequest" + } + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "Supported version.", + "required": true, + "type": "string" + }, + "ExpandRenewPropertiesParameter": { + "name": "expand", + "x-ms-parameter-location": "method", + "in": "query", + "description": "Supported value of this query is renewProperties", + "required": false, + "type": "string" + }, + "SubscriptionIdParameter": { + "name": "subscriptionId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the subscription" + }, + "ReservedResourceTypeIdParameter": { + "name": "reservedResourceType", + "x-ms-parameter-location": "method", + "in": "query", + "required": false, + "type": "string", + "description": "The type of the resource for which the skus should be provided." + }, + "LocationIdParameter": { + "name": "location", + "x-ms-parameter-location": "method", + "in": "query", + "required": false, + "type": "string", + "description": "Filters the skus based on the location specified in this parameter. This can be an azure region or global" + }, + "ReservationOrderIdParameter": { + "name": "reservationOrderId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Order Id of the reservation" + }, + "ChangeDirectoryParameter": { + "name": "body", + "x-ms-parameter-location": "method", + "in": "body", + "required": true, + "description": "Information needed to change directory of reservation order", + "schema": { + "$ref": "#/definitions/ChangeDirectoryRequest" + } } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.CognitiveServices/cognitiveservices.json b/App_Data/SwaggerSpecs/Microsoft.CognitiveServices/cognitiveservices.json index 9a0b885c..93a179e5 100644 --- a/App_Data/SwaggerSpecs/Microsoft.CognitiveServices/cognitiveservices.json +++ b/App_Data/SwaggerSpecs/Microsoft.CognitiveServices/cognitiveservices.json @@ -3,7 +3,7 @@ "info": { "title": "CognitiveServicesManagementClient", "description": "Cognitive Services Management Client", - "version": "2017-04-18" + "version": "2021-04-30" }, "host": "management.azure.com", "schemes": [ @@ -33,229 +33,297 @@ "CognitiveServicesAccounts" ], "description": "Create Cognitive Services Account. Accounts is a resource group wide resource type. It holds the keys for developer to access intelligent APIs. It's also the resource type for billing.", - "operationId": "CognitiveServicesAccounts_Create", + "operationId": "Accounts_Create", "x-ms-examples": { - "Get Account": { - "$ref": "../examples/CreateAccount.json" + "Create Account": { + "$ref": "./examples/CreateAccount.json" + }, + "Create Account Min": { + "$ref": "./examples/CreateAccountMin.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" }, { - "name": "parameters", + "name": "account", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CognitiveServicesAccountCreateParameters" + "$ref": "#/definitions/Account" }, "description": "The parameters to provide for the created account." }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "If resource is created successfully or already existed, the service should return 200 (OK).", "schema": { - "$ref": "#/definitions/CognitiveServicesAccount" + "$ref": "#/definitions/Account" } }, "201": { "description": "If resource is created successfully, the service should return 201 (OK).", "schema": { - "$ref": "#/definitions/CognitiveServicesAccount" + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" } }, "default": { "description": "Error response describing why the operation failed", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-long-running-operation": true }, "patch": { "tags": [ "CognitiveServicesAccounts" ], "description": "Updates a Cognitive Services account", - "operationId": "CognitiveServicesAccounts_Update", + "operationId": "Accounts_Update", "x-ms-examples": { - "Get Account": { - "$ref": "../examples/UpdateAccount.json" + "Update Account": { + "$ref": "./examples/UpdateAccount.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" }, { - "name": "parameters", + "name": "account", "in": "body", "required": true, - "x-ms-client-flatten": true, "schema": { - "$ref": "#/definitions/CognitiveServicesAccountUpdateParameters" + "$ref": "#/definitions/Account" }, "description": "The parameters to provide for the created account." }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ", "schema": { - "$ref": "#/definitions/CognitiveServicesAccount" + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Account" } }, "default": { "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-long-running-operation": true }, "delete": { "tags": [ "CognitiveServicesAccounts" ], "description": "Deletes a Cognitive Services account from the resource group. ", - "operationId": "CognitiveServicesAccounts_Delete", + "operationId": "Accounts_Delete", "x-ms-examples": { "Delete Account": { - "$ref": "../examples/DeleteAccount.json" + "$ref": "./examples/DeleteAccount.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, "204": { "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." }, "default": { "description": "Error response describing why the operation failed", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } - } + }, + "x-ms-long-running-operation": true }, "get": { "tags": [ "CognitiveServicesAccounts" ], "description": "Returns a Cognitive Services account specified by the parameters.", - "operationId": "CognitiveServicesAccounts_GetProperties", + "operationId": "Accounts_Get", "x-ms-examples": { "Get Account": { - "$ref": "../examples/GetAccount.json" + "$ref": "./examples/GetAccount.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/resourceGroups/{resourceGroupName}/deletedAccounts/{accountName}": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns a Cognitive Services account specified by the parameters.", + "operationId": "DeletedAccounts_Get", + "x-ms-examples": { + "Get Account": { + "$ref": "./examples/GetDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are “name,†“type†and “id.â€\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nKind\trequired. String.\n\tThe API set for this API account. It can be \n\t· a single API, for example: Face API, Vision API, Speech API. \n\ta bundle of APIs: Face + Speech, Vision + Emotion, etc.\nsku.name\tRequired.\n\tThe pricing tier/plan of this API. Could be: \n\tF0 - Free\n\tB0 - Basic\n\tS0 - Standard\n\tP0 - Premium\n", "schema": { - "$ref": "#/definitions/CognitiveServicesAccount" + "$ref": "#/definitions/Account" } }, "default": { "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) should be returned.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } + }, + "delete": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Deletes a Cognitive Services account from the resource group. ", + "operationId": "DeletedAccounts_Purge", + "x-ms-examples": { + "Delete Account": { + "$ref": "./examples/PurgeDeletedAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/locationParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;" + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed." + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts": { @@ -267,35 +335,31 @@ "operationId": "Accounts_ListByResourceGroup", "x-ms-examples": { "List Accounts by Resource Group": { - "$ref": "../examples/ListAccountsByResourceGroup.json" + "$ref": "./examples/ListAccountsByResourceGroup.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value†property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with \"value\" property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.", "schema": { - "$ref": "#/definitions/CognitiveServicesAccountListResult" + "$ref": "#/definitions/AccountListResult" } }, "default": { "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -313,28 +377,67 @@ "operationId": "Accounts_List", "x-ms-examples": { "List Accounts by Subscription": { - "$ref": "../examples/ListAccountsBySubscription.json" + "$ref": "./examples/ListAccountsBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", + "schema": { + "$ref": "#/definitions/AccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/deletedAccounts": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Returns all the resources of a particular type belonging to a subscription.", + "operationId": "DeletedAccounts_List", + "x-ms-examples": { + "List Deleted Accounts by Subscription": { + "$ref": "./examples/ListAccountsBySubscription.json" } }, "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ", "schema": { - "$ref": "#/definitions/CognitiveServicesAccountListResult" + "$ref": "#/definitions/AccountListResult" } }, "default": { "description": "Error response describing why the operation failed", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -348,49 +451,38 @@ "tags": [ "CognitiveServicesAccounts" ], - "operationId": "CognitiveServicesAccounts_ListKeys", + "operationId": "Accounts_ListKeys", "description": "Lists the account keys for the specified Cognitive Services account.", "x-ms-examples": { "List Keys": { - "$ref": "../examples/ListKeys.json" + "$ref": "./examples/ListKeys.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "Returns with a response body containing the subscription keys for the resource: key1\nThe first API key for authentication when client calls the API endpoint.\n\nkey2\nThe second API key for authentication when client calls the API endpoint.", "schema": { - "$ref": "#/definitions/CognitiveServicesAccountKeys" + "$ref": "#/definitions/ApiKeys" } }, "default": { "description": "Error response describing why the operation failed", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -401,30 +493,19 @@ "tags": [ "CognitiveServicesAccounts" ], - "operationId": "CognitiveServicesAccounts_RegenerateKey", + "operationId": "Accounts_RegenerateKey", "description": "Regenerates the specified account key for the specified Cognitive Services account.", "x-ms-examples": { "Regenerate Keys": { - "$ref": "../examples/RegenerateKey.json" + "$ref": "./examples/RegenerateKey.json" } }, "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" }, { "name": "parameters", @@ -437,25 +518,65 @@ "description": "regenerate key parameters." }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { "description": "", "schema": { - "$ref": "#/definitions/CognitiveServicesAccountKeys" + "$ref": "#/definitions/ApiKeys" } }, "default": { "description": "Error response describing why the operation failed", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/skus": { + "get": { + "tags": [ + "Skus", + "CognitiveServicesAccounts" + ], + "operationId": "ResourceSkus_List", + "description": "Gets the list of Microsoft.CognitiveServices SKUs available for your Subscription.", + "x-ms-examples": { + "Regenerate Keys": { + "$ref": "./examples/GetSkus.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -467,46 +588,80 @@ "description": "List available SKUs for the requested Cognitive Services account", "x-ms-examples": { "List SKUs": { - "$ref": "../examples/ListSkus.json" + "$ref": "./examples/ListSkus.json" } }, - "operationId": "CognitiveServicesAccounts_ListSkus", + "operationId": "Accounts_ListSkus", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group within the user's subscription." + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "maxLength": 64, - "minLength": 2, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", - "description": "The name of Cognitive Services account." + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are \"name,\" \"type\" and \"id.\"\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "schema": { + "$ref": "#/definitions/AccountSkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/usages": { + "get": { + "tags": [ + "CognitiveServicesAccounts" + ], + "description": "Get usages for the requested Cognitive Services account", + "x-ms-examples": { + "Get Usages": { + "$ref": "./examples/GetUsages.json" + } + }, + "operationId": "Accounts_ListUsages", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/usageFilterParameter" } ], "responses": { "200": { - "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. The only GET specific properties are “name,†“type†and “id.â€\nField\tDescription\nsku\tRequired, object\n\tThe exact set of keys that define this sku. This matches the fields on the respective resource.\nsku.name\tRequired, string\n\tThe name of the SKU. This is typically a letter + number code, such as A0 or P3\nsku.tier\tRequired, string\n\tThe tier of this particular SKU. Typically one of:\n\t· Free\n\t· Basic\n\t· Standard\n\t· Premium\n", + "description": "The usages for Cognitive Services account were retrieved successfully.", "schema": { - "$ref": "#/definitions/CognitiveServicesAccountEnumerateSkusResult" + "$ref": "#/definitions/UsageListResult" } }, "default": { "description": "Error response describing why the operation failed. If the resource does not exist, 404 (NotFound) will be returned.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } } @@ -514,24 +669,32 @@ }, "/providers/Microsoft.CognitiveServices/operations": { "get": { - "tags": [ "Operations" ], + "tags": [ + "Operations" + ], "description": "Lists all the available Cognitive Services account operations.", "operationId": "Operations_List", "x-ms-examples": { "Get Operations": { - "$ref": "../examples/GetOperations.json" + "$ref": "./examples/GetOperations.json" } }, "parameters": [ { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK.", "schema": { - "$ref": "#/definitions/OperationEntityListResult" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -543,20 +706,22 @@ }, "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/locations/{location}/checkSkuAvailability": { "post": { - "tags": [ "CognitiveServicesAccounts" ], - "operationId": "CheckSkuAvailability_List", + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckSkuAvailability", "description": "Check available SKUs.", "x-ms-examples": { "Check SKU Availability": { - "$ref": "../examples/CheckSkuAvailability.json" + "$ref": "./examples/CheckSkuAvailability.json" } }, "parameters": [ { - "$ref": "#/parameters/subscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/apiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/locationParameter" @@ -569,472 +734,1433 @@ "schema": { "$ref": "#/definitions/CheckSkuAvailabilityParameter" }, - "description": "Check SKU Availablity POST body." + "description": "Check SKU Availability POST body." } ], "responses": { "200": { "description": "OK.", "schema": { - "$ref": "#/definitions/CheckSkuAvailabilityResultList" + "$ref": "#/definitions/SkuAvailabilityListResult" } - } - } - } - } - }, - "definitions": { - "CognitiveServicesAccountCreateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "Required. Gets or sets the SKU of the resource." - }, - "kind": { - "$ref": "#/definitions/CognitiveServicesAccountKind", - "description": "Required. Gets or sets the Kind of the resource." - }, - "location": { - "type": "string", - "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update the request will succeed." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" }, - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." - }, - "properties": { - "type": "object", - "description": "Must exist in the request. Must be an empty object. Must not be null." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } } - }, - "required": [ - "sku", - "kind", - "location", - "properties" - ], - "description": "The parameters to provide for the account." - }, - "CognitiveServicesAccountKind": { - "type": "string", - "description": "Required. Indicates the type of cognitive service account.", - "enum": [ - "Academic", - "Bing.Autosuggest", - "Bing.Search", - "Bing.Speech", - "Bing.SpellCheck", - "ComputerVision", - "ContentModerator", - "CustomSpeech", - "Emotion", - "Face", - "LUIS", - "Recommendations", - "SpeakerRecognition", - "Speech", - "SpeechTranslation", - "TextAnalytics", - "TextTranslation", - "WebLM" - ], - "x-ms-enum": { - "name": "Kind", - "modelAsString": true } }, - "CognitiveServicesAccountUpdateParameters": { - "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "Gets or sets the SKU of the resource." + "/subscriptions/{subscriptionId}/providers/Microsoft.CognitiveServices/checkDomainAvailability": { + "post": { + "tags": [ + "CognitiveServicesAccounts" + ], + "operationId": "CheckDomainAvailability", + "description": "Check whether a domain is available.", + "x-ms-examples": { + "Check SKU Availability": { + "$ref": "./examples/CheckDomainAvailability.json" + } }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "x-ms-client-flatten": true, + "schema": { + "$ref": "#/definitions/CheckDomainAvailabilityParameter" + }, + "description": "Check Domain Availability parameter." + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/DomainAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "Gets the private endpoint connections associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/ListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "GetPrivateEndpointConnection": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } } }, - "description": "The parameters to provide for the account." + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "description": "Update the state of specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "PutPrivateEndpointConnection": { + "$ref": "./examples/PutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the Cognitive Services account.", + "x-ms-examples": { + "DeletePrivateEndpointConnection": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/privateEndpointConnectionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "202": { + "description": "Accepted -- the operation was successfully started and will complete asynchronously." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "description": "Gets the private link resources that need to be created for a Cognitive Services account.", + "x-ms-examples": { + "ListPrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/accountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Kind": { + "type": "string", + "description": "The kind (type) of cognitive service account." }, "Sku": { + "description": "The resource model definition representing SKU", "properties": { "name": { - "$ref": "#/definitions/SkuName", - "description": "Gets or sets the sku name. Required for account creation, optional for update." + "type": "string", + "description": "The name of the SKU. Ex - P3. It is typically a letter+number code" }, "tier": { - "readOnly": true, "type": "string", - "description": "Gets the sku tier. This is based on the SKU name.", "enum": [ "Free", + "Basic", "Standard", - "Premium" + "Premium", + "Enterprise" ], "x-ms-enum": { "name": "SkuTier", - "modelAsString": false - } + "modelAsString": true + }, + "description": "This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT." + }, + "size": { + "type": "string", + "description": "The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. " + }, + "family": { + "type": "string", + "description": "If the service has different generations of hardware, for the same SKU, then that can be captured here." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted." } }, "required": [ "name" - ], - "description": "The SKU of the cognitive services account." + ] }, "SkuName": { "type": "string", - "description": "The name of SKU.", - "enum": [ - "F0", - "P0", - "P1", - "P2", - "S0", - "S1", - "S2", - "S3", - "S4", - "S5", - "S6" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": true - } + "description": "The name of SKU." + }, + "Account": { + "description": "Cognitive Services account is an Azure resource representing the provisioned account, it's type, location and SKU.", + "type": "object", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + }, + "properties": { + "$ref": "#/definitions/AccountProperties", + "description": "Properties of Cognitive Services account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ] + }, + "AccountListResult": { + "type": "object", + "properties": { + "nextLink": { + "description": "The link used to get the next page of accounts.", + "type": "string" + }, + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the cognitive services account at the time the operation was called.", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Moving", + "Failed", + "Succeeded", + "ResolvingDNS" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "type": "string", + "description": "Endpoint of the created account.", + "readOnly": true + }, + "internalId": { + "type": "string", + "description": "The internal identifier (deprecated, do not use this property).", + "readOnly": true + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuCapability" + }, + "description": "Gets the capabilities of the cognitive services account. Each item indicates the capability of a specific feature. The values are read-only and for reference only." + }, + "isMigrated": { + "type": "boolean", + "description": "If the resource is migrated from an existing key.", + "readOnly": true + }, + "migrationToken": { + "type": "string", + "description": "Resource migration token." + }, + "skuChangeInfo": { + "$ref": "#/definitions/SkuChangeInfo", + "description": "Sku change info of account.", + "readOnly": true + }, + "customSubDomainName": { + "type": "string", + "description": "Optional subdomain name used for token-based authentication." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility from specific network locations." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "The encryption properties for this resource." + }, + "userOwnedStorage": { + "type": "array", + "items": { + "$ref": "#/definitions/UserOwnedStorage" + }, + "description": "The storage accounts for this resource." + }, + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection associated with the Cognitive Services account." + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether or not public endpoint access is allowed for this account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "apiProperties": { + "$ref": "#/definitions/ApiProperties", + "description": "The api properties for special APIs." + }, + "dateCreated": { + "readOnly": true, + "type": "string", + "description": "Gets the date of cognitive services account creation." + }, + "callRateLimit": { + "readOnly": true, + "$ref": "#/definitions/CallRateLimit" + }, + "quotaLimit": { + "readOnly": true, + "$ref": "#/definitions/QuotaLimit" + }, + "restrictOutboundNetworkAccess": { + "type": "boolean" + }, + "allowedFqdnList": { + "type": "array", + "items": { + "type": "string" + } + }, + "disableLocalAuth": { + "type": "boolean" + }, + "endpoints": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "restore": { + "type": "boolean" + } + }, + "description": "Properties of Cognitive Services account." + }, + "ApiProperties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "properties": { + "qnaRuntimeEndpoint": { + "type": "string", + "description": "(QnAMaker Only) The runtime endpoint of QnAMaker." + }, + "qnaAzureSearchEndpointKey": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint key of QnAMaker." + }, + "qnaAzureSearchEndpointId": { + "type": "string", + "description": "(QnAMaker Only) The Azure Search endpoint id of QnAMaker." + }, + "statisticsEnabled": { + "type": "boolean", + "description": "(Bing Search Only) The flag to enable statistics of Bing Search." + }, + "eventHubConnectionString": { + "type": "string", + "description": "(Personalization Only) The flag to enable statistics of Bing Search.", + "pattern": "^( *)Endpoint=sb://(.*);( *)SharedAccessKeyName=(.*);( *)SharedAccessKey=(.*)$", + "maxLength": 1000 + }, + "storageAccountConnectionString": { + "type": "string", + "description": "(Personalization Only) The storage account connection string.", + "pattern": "^(( *)DefaultEndpointsProtocol=(http|https)( *);( *))?AccountName=(.*)AccountKey=(.*)EndpointSuffix=(.*)$", + "maxLength": 1000 + }, + "aadClientId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Client Id (Application Id).", + "maxLength": 500 + }, + "aadTenantId": { + "type": "string", + "description": "(Metrics Advisor Only) The Azure AD Tenant Id.", + "maxLength": 500 + }, + "superUser": { + "type": "string", + "description": "(Metrics Advisor Only) The super user of Metrics Advisor.", + "maxLength": 500 + }, + "websiteName": { + "type": "string", + "description": "(Metrics Advisor Only) The website name of Metrics Advisor.", + "maxLength": 500 + } + }, + "description": "The api properties for special APIs." + }, + "CallRateLimit": { + "type": "object", + "properties": { + "count": { + "type": "number", + "description": "The count value of Call Rate Limit." + }, + "renewalPeriod": { + "type": "number", + "description": "The renewal period in seconds of Call Rate Limit." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + } + } + }, + "description": "The call rate limit Cognitive Services account." + }, + "QuotaLimit": { + "type": "object", + "properties": { + "count": { + "type": "number" + }, + "renewalPeriod": { + "type": "number" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ThrottlingRule" + } + } + } + }, + "ThrottlingRule": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "renewalPeriod": { + "type": "number" + }, + "count": { + "type": "number" + }, + "minCount": { + "type": "number" + }, + "dynamicThrottlingEnabled": { + "type": "boolean" + }, + "matchPatterns": { + "type": "array", + "items": { + "$ref": "#/definitions/RequestMatchPattern" + } + } + } + }, + "RequestMatchPattern": { + "type": "object", + "properties": { + "path": { + "type": "string" + }, + "method": { + "type": "string" + } + } + }, + "ApiKeys": { + "type": "object", + "properties": { + "key1": { + "type": "string", + "description": "Gets the value of key 1." + }, + "key2": { + "type": "string", + "description": "Gets the value of key 2." + } + }, + "description": "The access keys for the cognitive services account." + }, + "SkuChangeInfo": { + "type": "object", + "properties": { + "countOfDowngrades": { + "type": "number", + "description": "Gets the count of downgrades." + }, + "countOfUpgradesAfterDowngrades": { + "type": "number", + "description": "Gets the count of upgrades after downgrades." + }, + "lastChangeDate": { + "type": "string", + "description": "Gets the last change date." + } + }, + "description": "Sku change info of account." + }, + "RegenerateKeyParameters": { + "type": "object", + "properties": { + "keyName": { + "type": "string", + "description": "key name to generate (Key1|Key2)", + "enum": [ + "Key1", + "Key2" + ], + "x-ms-enum": { + "name": "KeyName", + "modelAsString": false + } + } + }, + "required": [ + "keyName" + ], + "description": "Regenerate key parameters." + }, + "AccountSkuListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AccountSku" + }, + "description": "Gets the list of Cognitive Services accounts and their properties." + } + }, + "description": "The list of cognitive services accounts operation response." + }, + "AccountSku": { + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "description": "Resource Namespace and Type" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of Cognitive Services account." + } + }, + "description": "Cognitive Services resource type and SKU." + }, + "UsageListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of usages for Cognitive Service account." + } + }, + "description": "The response to a list usage request." + }, + "Usage": { + "type": "object", + "properties": { + "unit": { + "description": "The unit of the metric.", + "$ref": "#/definitions/UnitType" + }, + "name": { + "$ref": "#/definitions/MetricName", + "description": "The name information for the metric." + }, + "quotaPeriod": { + "type": "string", + "description": "The quota period used to summarize the usage values." + }, + "limit": { + "type": "number", + "format": "double", + "description": "Maximum value for this metric." + }, + "currentValue": { + "type": "number", + "format": "double", + "description": "Current value for this metric." + }, + "nextResetTime": { + "type": "string", + "description": "Next reset time for current quota." + }, + "status": { + "type": "string", + "description": "Cognitive Services account quota usage status.", + "enum": [ + "Included", + "Blocked", + "InOverage", + "Unknown" + ], + "x-ms-enum": { + "name": "QuotaUsageStatus", + "modelAsString": true + } + } + }, + "description": "The usage data for a usage request." + }, + "MetricName": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The name of the metric." + }, + "localizedValue": { + "type": "string", + "description": "The friendly name of the metric." + } + }, + "description": "A metric name." + }, + "UnitType": { + "type": "string", + "description": "The unit of the metric.", + "enum": [ + "Count", + "Bytes", + "Seconds", + "Percent", + "CountPerSecond", + "BytesPerSecond", + "Milliseconds" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "UnitType" + } + }, + "CheckSkuAvailabilityParameter": { + "type": "object", + "description": "Check SKU availability parameter.", + "properties": { + "skus": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuName" + }, + "description": "The SKU of the resource." + }, + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + } + }, + "required": [ + "skus", + "kind", + "type" + ] + }, + "SkuAvailabilityListResult": { + "type": "object", + "description": "Check SKU availability result list.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SkuAvailability" + }, + "description": "Check SKU availability result list." + } + } + }, + "SkuAvailability": { + "type": "object", + "description": "SKU availability.", + "properties": { + "kind": { + "$ref": "#/definitions/Kind", + "description": "The Kind of the resource." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + }, + "skuName": { + "$ref": "#/definitions/SkuName", + "description": "The SKU of Cognitive Services account." + }, + "skuAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "message": { + "type": "string", + "description": "Additional error message." + } + } + }, + "SkuCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SkuCapability." + }, + "value": { + "type": "string", + "description": "The value of the SkuCapability." + } + }, + "description": "SkuCapability indicates the capability of a certain feature." + }, + "CheckDomainAvailabilityParameter": { + "type": "object", + "description": "Check Domain availability parameter.", + "properties": { + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + } + }, + "required": [ + "subdomainName", + "type" + ] + }, + "DomainAvailability": { + "type": "object", + "description": "Domain availability.", + "properties": { + "isSubdomainAvailable": { + "type": "boolean", + "description": "Indicates the given SKU is available or not." + }, + "reason": { + "type": "string", + "description": "Reason why the SKU is not available." + }, + "subdomainName": { + "type": "string", + "description": "The subdomain name to use." + }, + "type": { + "type": "string", + "description": "The Type of the resource." + } + } + }, + "ResourceSkuRestrictions": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of restrictions.", + "enum": [ + "Location", + "Zone" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsType", + "modelAsString": false + } + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "restrictionInfo": { + "$ref": "#/definitions/ResourceSkuRestrictionInfo", + "description": "The information about the restriction where the SKU cannot be used." + }, + "reasonCode": { + "type": "string", + "description": "The reason for restriction.", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ResourceSkuRestrictionsReasonCode", + "modelAsString": true + } + } + }, + "description": "Describes restrictions of a SKU." }, - "CognitiveServicesAccount": { - "description": "Cognitive Services Account is an Azure resource representing the provisioned account, its type, location and SKU.", + "ResourceSku": { "type": "object", "properties": { - "etag": { - "type": "string", - "description": "Entity Tag" - }, - "id": { + "resourceType": { "type": "string", - "description": "The id of the created account" + "description": "The type of resource the SKU applies to." }, - "kind": { + "name": { "type": "string", - "description": "Type of cognitive service account." + "description": "The name of SKU." }, - "location": { + "tier": { "type": "string", - "description": "The location of the resource" + "description": "Specifies the tier of Cognitive Services account." }, - "name": { + "kind": { "type": "string", - "description": "The name of the created account" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/CognitiveServicesAccountProperties", - "description": "Properties of Cognitive Services account." - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of Cognitive Services account." + "description": "The Kind of resources that are supported in this SKU." }, - "tags": { - "type": "object", - "additionalProperties": { + "locations": { + "type": "array", + "items": { "type": "string" }, - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater than 128 characters and value no greater than 256 characters." + "description": "The set of locations that the SKU is available." }, - "type": { - "type": "string", - "description": "Resource type" + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceSkuRestrictions" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." } }, - "x-ms-azure-resource": true + "description": "Describes an available Cognitive Services SKU." }, - "CognitiveServicesAccountListResult": { + "ResourceSkuRestrictionInfo": { + "type": "object", "properties": { - "nextLink": { - "description": "The link used to get the next page of accounts.", - "type": "string" + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Locations where the SKU is restricted" }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of availability zones where the SKU is restricted." + } + } + }, + "ResourceSkuListResult": { + "type": "object", + "properties": { "value": { - "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/CognitiveServicesAccount" + "$ref": "#/definitions/ResourceSku" }, - "description": "Gets the list of Cognitive Services accounts and their properties." + "description": "The list of skus available for the subscription." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of Skus." } }, - "description": "The list of cognitive services accounts operation response." + "required": [ + "value" + ], + "description": "The Get Skus operation response." }, - "CognitiveServicesAccountProperties": { + "NetworkRuleSet": { + "type": "object", "properties": { - "provisioningState": { - "readOnly": true, + "defaultAction": { "type": "string", - "description": "Gets the status of the cognitive services account at the time the operation was called.", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", "enum": [ - "Creating", - "ResolvingDNS", - "Succeeded", - "Failed" + "Allow", + "Deny" ], "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false + "name": "NetworkRuleAction", + "modelAsString": true } }, - "endpoint": { - "type": "string", - "description": "Endpoint of the created account." + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IpRule" + }, + "description": "The list of IP address rules." }, - "internalId": { + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility." + }, + "IpRule": { + "type": "object", + "properties": { + "value": { "type": "string", - "description": "The internal identifier." + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." } }, - "description": "Properties of Cognitive Services account." + "required": [ + "value" + ], + "description": "A rule governing the accessibility from a specific ip address or ip range." }, - "CognitiveServicesAccountKeys": { + "VirtualNetworkRule": { + "type": "object", "properties": { - "key1": { + "id": { "type": "string", - "description": "Gets the value of key 1." + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." }, - "key2": { + "state": { "type": "string", - "description": "Gets the value of key 2." + "description": "Gets the state of virtual network rule." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Ignore missing vnet service endpoint or not." } }, - "description": "The access keys for the cognitive services account." + "required": [ + "id" + ], + "description": "A rule governing the accessibility from a specific virtual network." }, - "RegenerateKeyParameters": { + "Identity": { + "type": "object", + "description": "Identity for the resource.", "properties": { - "keyName": { + "type": { "type": "string", - "description": "key name to generate (Key1|Key2)", + "description": "The identity type.", "enum": [ - "Key1", - "Key2" + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" ], "x-ms-enum": { - "name": "KeyName", + "name": "ResourceIdentityType", "modelAsString": false } + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "userAssignedIdentities": { + "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", + "type": "object", + "additionalProperties": { + "description": "User-assigned managed identity.", + "$ref": "#/definitions/UserAssignedIdentity" + } } - }, - "required": [ - "keyName" - ], - "description": "Regenerate key parameters." + } }, - "CognitiveServicesAccountEnumerateSkusResult": { + "UserAssignedIdentity": { + "type": "object", + "description": "User-assigned managed identity.", "properties": { - "value": { + "principalId": { "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/CognitiveServicesResourceAndSku" - }, - "description": "Gets the list of Cognitive Services accounts and their properties." + "type": "string", + "description": "Azure Active Directory principal ID associated with this Identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "Client App Id associated with this identity." } - }, - "description": "The list of cognitive services accounts operation response." + } }, - "CognitiveServicesResourceAndSku": { + "Encryption": { + "type": "object", "properties": { - "resourceType": { - "type": "string", - "description": "Resource Namespace and Type" + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "Properties of KeyVault" }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU of Cognitive Services account." + "keySource": { + "type": "string", + "description": "Enumerates the possible value of keySource for Encryption", + "default": "Microsoft.KeyVault", + "enum": [ + "Microsoft.CognitiveServices", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "keySource", + "modelAsString": true + } } }, - "description": "Cognitive Services resource type and SKU." + "description": "Properties to configure Encryption" }, - "Error": { + "KeyVaultProperties": { + "type": "object", "properties": { - "error": { - "$ref": "#/definitions/ErrorBody", - "description": "The error body." + "keyName": { + "type": "string", + "description": "Name of the Key from KeyVault" + }, + "keyVersion": { + "type": "string", + "description": "Version of the Key from KeyVault" + }, + "keyVaultUri": { + "type": "string", + "description": "Uri of KeyVault" + }, + "identityClientId": { + "type": "string" } }, - "description": "Cognitive Services error object." + "description": "Properties to configure keyVault Properties" }, - "ErrorBody": { + "UserOwnedStorage": { + "type": "object", "properties": { - "code": { + "resourceId": { "type": "string", - "description": "error code" + "description": "Full resource id of a Microsoft.Storage resource." }, - "message": { - "type": "string", - "description": "error message" + "identityClientId": { + "type": "string" } }, - "description": "Cognitive Services error body.", - "required": [ - "code", - "message" - ] + "description": "The user owned storage for Cognitive Services account." }, - "OperationEntityListResult": { - "description": "The list of cognitive services accounts operation response.", + "PrivateEndpointConnectionListResult": { "type": "object", "properties": { - "nextLink": { - "description": "The link used to get the next page of operations.", - "type": "string" - }, "value": { - "description": "The list of operations.", "type": "array", + "description": "Array of private endpoint connections", "items": { - "$ref": "#/definitions/OperationEntity" + "$ref": "#/definitions/PrivateEndpointConnection" } } - } + }, + "description": "A list of private endpoint connections" }, - "OperationEntity": { - "description": "The operation supported by Cognitive Services.", + "PrivateEndpointConnection": { "type": "object", "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", - "type": "string" - }, - "display": { - "$ref": "#/definitions/OperationDisplayInfo", - "description": "The operation supported by Cognitive Services." + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties." }, - "origin": { - "description": "The origin of the operation.", - "type": "string" + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true }, - "properties": { - "description": "Additional properties.", - "type": "object" + "location": { + "type": "string", + "description": "The location of the private endpoint connection" } - } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/AzureEntityResource" + } + ], + "description": "The Private Endpoint Connection resource." }, - "OperationDisplayInfo": { - "description": "The operation supported by Cognitive Services.", + "PrivateEndpointConnectionProperties": { "type": "object", "properties": { - "description": { - "description": "The description of the operation.", - "type": "string" + "privateEndpoint": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." }, - "operation": { - "description": "The action that users can perform, based on their permission level.", - "type": "string" + "privateLinkServiceConnectionState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." }, - "provider": { - "description": "Service provider: Microsoft Cognitive Services.", - "type": "string" + "provisioningState": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." }, - "resource": { - "description": "Resource on which the operation is performed.", - "type": "string" - } - } - }, - "CheckSkuAvailabilityParameter": { - "description": "Check SKU availability parameter.", - "properties": { - "skus": { + "groupIds": { "type": "array", "items": { - "$ref": "#/definitions/SkuName" + "type": "string" }, - "description": "The SKU of the resource." - }, - "kind": { - "$ref": "#/definitions/CognitiveServicesAccountKind", - "description": "The Kind of the resource." - }, - "type": { - "type": "string", - "description": "The Type of the resource." + "description": "The private link resource group ids." } }, "required": [ - "skus", - "kind", - "type" - ] + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." }, - "CheckSkuAvailabilityResultList": { - "description": "Check SKU availability result list.", + "PrivateLinkResourceListResult": { + "type": "object", "properties": { "value": { "type": "array", + "description": "Array of private link resources", "items": { - "$ref": "#/definitions/CheckSkuAvailabilityResult" - }, - "description": "Check SKU availability result list." + "$ref": "#/definitions/PrivateLinkResource" + } } - } + }, + "description": "A list of private link resources" }, - "CheckSkuAvailabilityResult": { - "description": "Check SKU availability result.", + "PrivateLinkResource": { + "type": "object", "properties": { - "kind": { - "$ref": "#/definitions/CognitiveServicesAccountKind", - "description": "The Kind of the resource." - }, - "type": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", "type": "string", - "description": "The Type of the resource." - }, - "skuName": { - "$ref": "#/definitions/SkuName", - "description": "The SKU of Cognitive Services account." + "readOnly": true }, - "skuAvailable": { - "type": "boolean", - "description": "Indicates the given SKU is available or not." + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true }, - "reason": { - "type": "string", - "description": "Reason why the SKU is not available." + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource Private link DNS zone name." }, - "message": { + "displayName": { + "description": "The private link resource display name.", "type": "string", - "description": "Additional error message." + "readOnly": true } - } + }, + "description": "Properties of a private link resource." } }, "parameters": { - "subscriptionIdParameter": { - "name": "subscriptionId", + "accountNameParameter": { + "name": "accountName", "in": "path", - "description": "Azure Subscription ID.", - "required": true, - "type": "string" - }, - "apiVersionParameter": { - "name": "api-version", - "in": "query", "required": true, "type": "string", - "description": "Version of the API to be used with the client request. Current version is 2017-04-18" + "maxLength": 64, + "minLength": 2, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$", + "description": "The name of Cognitive Services account.", + "x-ms-parameter-location": "method" }, "locationParameter": { "name": "location", "in": "path", "description": "Resource location.", "required": true, - "type": "string" + "type": "string", + "x-ms-parameter-location": "method" + }, + "usageFilterParameter": { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "An OData filter expression that describes a subset of usages to return. The supported parameter is name.value (name of the metric, can have an or of multiple names).", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection associated with the Cognitive Services Account", + "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Compute/compute.json b/App_Data/SwaggerSpecs/Microsoft.Compute/compute.json index 12aeabee..d2f11465 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Compute/compute.json +++ b/App_Data/SwaggerSpecs/Microsoft.Compute/compute.json @@ -3,7 +3,7 @@ "info": { "title": "ComputeManagementClient", "description": "The Compute Management Client.", - "version": "2018-10-01" + "version": "2021-07-01" }, "host": "management.azure.com", "schemes": [ @@ -107,7 +107,7 @@ }, "x-ms-examples": { "Create an availability set.": { - "$ref": "./examples/CreateAnAvailabilitySet.json" + "$ref": "./examples/compute/CreateAnAvailabilitySet.json" } } }, @@ -245,6 +245,13 @@ }, { "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." } ], "responses": { @@ -257,6 +264,11 @@ }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List availability sets in a subscription.": { + "$ref": "./examples/compute/ListAvailabilitySetsInASubscription.json" + } } } }, @@ -337,38 +349,36 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": { + "put": { "tags": [ - "VirtualMachineExtensionImages" + "ProximityPlacementGroups" ], - "operationId": "VirtualMachineExtensionImages_Get", - "description": "Gets a virtual machine extension image.", + "operationId": "ProximityPlacementGroups_CreateOrUpdate", + "description": "Create or update a proximity placement group.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." - }, - { - "name": "publisherName", - "in": "path", - "required": true, - "type": "string" + "description": "The name of the resource group." }, { - "name": "type", + "name": "proximityPlacementGroupName", "in": "path", "required": true, - "type": "string" + "type": "string", + "description": "The name of the proximity placement group." }, { - "name": "version", - "in": "path", + "name": "parameters", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "Parameters supplied to the Create Proximity Placement Group operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -381,32 +391,51 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtensionImage" + "$ref": "#/definitions/ProximityPlacementGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" } } + }, + "x-ms-examples": { + "Create or Update a proximity placement group.": { + "$ref": "./examples/compute/CreateOrUpdateAProximityPlacementGroup.json" + } } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": { - "get": { + }, + "patch": { "tags": [ - "VirtualMachineExtensionImages" + "ProximityPlacementGroups" ], - "operationId": "VirtualMachineExtensionImages_ListTypes", - "description": "Gets a list of virtual machine extension image types.", + "operationId": "ProximityPlacementGroups_Update", + "description": "Update a proximity placement group.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the resource group." }, { - "name": "publisherName", + "name": "proximityPlacementGroupName", "in": "path", "required": true, - "type": "string" + "type": "string", + "description": "The name of the proximity placement group." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupUpdate" + }, + "description": "Parameters supplied to the Update Proximity Placement Group operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -419,62 +448,113 @@ "200": { "description": "OK", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineExtensionImage" - } + "$ref": "#/definitions/ProximityPlacementGroup" } } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/compute/PatchAProximityPlacementGroup.json" + } } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": { - "get": { + }, + "delete": { "tags": [ - "VirtualMachineExtensionImages" + "ProximityPlacementGroups" ], - "operationId": "VirtualMachineExtensionImages_ListVersions", - "description": "Gets a list of virtual machine extension image versions.", + "operationId": "ProximityPlacementGroups_Delete", + "description": "Delete a proximity placement group.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the resource group." }, { - "name": "publisherName", + "name": "proximityPlacementGroupName", "in": "path", "required": true, - "type": "string" + "type": "string", + "description": "The name of the proximity placement group." }, { - "name": "type", + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/compute/DeleteAProximityPlacementGroup.json" + } + } + }, + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_Get", + "description": "Retrieves information about a proximity placement group .", + "parameters": [ + { + "name": "resourceGroupName", "in": "path", "required": true, - "type": "string" + "type": "string", + "description": "The name of the resource group." }, { - "name": "$filter", - "in": "query", - "required": false, + "name": "proximityPlacementGroupName", + "in": "path", + "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "The name of the proximity placement group." }, { - "name": "$top", + "name": "includeColocationStatus", "in": "query", "required": false, - "type": "integer", - "format": "int32" + "type": "string", + "description": "includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group." }, { - "name": "$orderby", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/ApiVersionParameter" }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroup" + } + } + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/compute/GetAProximityPlacementGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { + "tags": [ + "ProximityPlacementGroups" + ], + "operationId": "ProximityPlacementGroups_ListBySubscription", + "description": "Lists all proximity placement groups in a subscription.", + "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, @@ -486,23 +566,27 @@ "200": { "description": "OK", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineExtensionImage" - } + "$ref": "#/definitions/ProximityPlacementGroupListResult" } } }, - "x-ms-odata": "#/definitions/VirtualMachineExtensionImage" + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/compute/ListProximityPlacementGroupsInASubscription.json" + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": { + "get": { "tags": [ - "VirtualMachineExtensions" + "ProximityPlacementGroups" ], - "operationId": "VirtualMachineExtensions_CreateOrUpdate", - "description": "The operation to create or update the extension.", + "operationId": "ProximityPlacementGroups_ListByResourceGroup", + "description": "Lists all proximity placement groups in a resource group.", "parameters": [ { "name": "resourceGroupName", @@ -512,27 +596,60 @@ "description": "The name of the resource group." }, { - "name": "vmName", + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProximityPlacementGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create a proximity placement group.": { + "$ref": "./examples/compute/ListProximityPlacementGroupsInAResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}": { + "put": { + "tags": [ + "DedicatedHostGroups" + ], + "operationId": "DedicatedHostGroups_CreateOrUpdate", + "description": "Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596)", + "parameters": [ + { + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine where the extension should be created or updated." + "description": "The name of the resource group." }, { - "name": "vmExtensionName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine extension." + "description": "The name of the dedicated host group." }, { - "name": "extensionParameters", + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/DedicatedHostGroup" }, - "description": "Parameters supplied to the Create Virtual Machine Extension operation." + "description": "Parameters supplied to the Create Dedicated Host Group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -545,24 +662,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/DedicatedHostGroup" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/DedicatedHostGroup" } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Create or update a dedicated host group.": { + "$ref": "./examples/compute/CreateOrUpdateADedicatedHostGroup.json" + } + } }, "patch": { "tags": [ - "VirtualMachineExtensions" + "DedicatedHostGroups" ], - "operationId": "VirtualMachineExtensions_Update", - "description": "The operation to update the extension.", + "operationId": "DedicatedHostGroups_Update", + "description": "Update an dedicated host group.", "parameters": [ { "name": "resourceGroupName", @@ -572,27 +693,20 @@ "description": "The name of the resource group." }, { - "name": "vmName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine where the extension should be updated." - }, - { - "name": "vmExtensionName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine extension." + "description": "The name of the dedicated host group." }, { - "name": "extensionParameters", + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineExtensionUpdate" + "$ref": "#/definitions/DedicatedHostGroupUpdate" }, - "description": "Parameters supplied to the Update Virtual Machine Extension operation." + "description": "Parameters supplied to the Update Dedicated Host Group operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -605,18 +719,17 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/DedicatedHostGroup" } } - }, - "x-ms-long-running-operation": true + } }, "delete": { "tags": [ - "VirtualMachineExtensions" + "DedicatedHostGroups" ], - "operationId": "VirtualMachineExtensions_Delete", - "description": "The operation to delete the extension.", + "operationId": "DedicatedHostGroups_Delete", + "description": "Delete a dedicated host group.", "parameters": [ { "name": "resourceGroupName", @@ -626,18 +739,11 @@ "description": "The name of the resource group." }, { - "name": "vmName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine where the extension should be deleted." - }, - { - "name": "vmExtensionName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine extension." + "description": "The name of the dedicated host group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -650,21 +756,17 @@ "200": { "description": "OK" }, - "202": { - "description": "Accepted" - }, "204": { "description": "No Content" } - }, - "x-ms-long-running-operation": true + } }, "get": { "tags": [ - "VirtualMachineExtensions" + "DedicatedHostGroups" ], - "operationId": "VirtualMachineExtensions_Get", - "description": "The operation to get the extension.", + "operationId": "DedicatedHostGroups_Get", + "description": "Retrieves information about a dedicated host group.", "parameters": [ { "name": "resourceGroupName", @@ -674,25 +776,26 @@ "description": "The name of the resource group." }, { - "name": "vmName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine containing the extension." - }, - { - "name": "vmExtensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine extension." + "description": "The name of the dedicated host group." }, { "name": "$expand", "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply on the operation." + "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated hosts under the dedicated host group. 'UserData' is not supported for dedicated host group.", + "enum": [ + "instanceView", + "userData" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } }, { "$ref": "#/parameters/ApiVersionParameter" @@ -705,19 +808,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtension" + "$ref": "#/definitions/DedicatedHostGroup" } } + }, + "x-ms-examples": { + "Create a dedicated host group.": { + "$ref": "./examples/compute/GetADedicatedHostGroup.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups": { "get": { "tags": [ - "VirtualMachineExtensions" + "DedicatedHostGroups" ], - "operationId": "VirtualMachineExtensions_List", - "description": "The operation to get all extensions of a Virtual Machine.", + "operationId": "DedicatedHostGroups_ListByResourceGroup", + "description": "Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response to get the next page of dedicated host groups.", "parameters": [ { "name": "resourceGroupName", @@ -726,20 +834,6 @@ "type": "string", "description": "The name of the resource group." }, - { - "name": "vmName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual machine containing the extension." - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "The expand expression to apply on the operation." - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -751,54 +845,80 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineExtensionsListResult" + "$ref": "#/definitions/DedicatedHostGroupListResult" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/hostGroups": { "get": { "tags": [ - "VirtualMachineImages" + "DedicatedHostGroups" ], - "operationId": "VirtualMachineImages_Get", - "description": "Gets a virtual machine image.", + "operationId": "DedicatedHostGroups_ListBySubscription", + "description": "Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the next page of dedicated host groups.", "parameters": [ { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "The name of a supported Azure region." + "$ref": "#/parameters/ApiVersionParameter" }, { - "name": "publisherName", + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DedicatedHostGroupListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts/{hostName}": { + "put": { + "tags": [ + "DedicatedHosts" + ], + "operationId": "DedicatedHosts_CreateOrUpdate", + "description": "Create or update a dedicated host .", + "parameters": [ + { + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher." + "description": "The name of the resource group." }, { - "name": "offer", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher offer." + "description": "The name of the dedicated host group." }, { - "name": "skus", + "name": "hostName", "in": "path", "required": true, "type": "string", - "description": "A valid image SKU." + "description": "The name of the dedicated host ." }, { - "name": "version", - "in": "path", + "name": "parameters", + "in": "body", "required": true, - "type": "string", - "description": "A valid image SKU version." + "schema": { + "$ref": "#/definitions/DedicatedHost" + }, + "description": "Parameters supplied to the Create Dedicated Host." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -811,67 +931,59 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineImage" + "$ref": "#/definitions/DedicatedHost" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DedicatedHost" } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": { - "get": { + }, + "x-ms-examples": { + "Create or update a dedicated host .": { + "$ref": "./examples/compute/CreateOrUpdateADedicatedHost.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { "tags": [ - "VirtualMachineImages" + "DedicatedHosts" ], - "operationId": "VirtualMachineImages_List", - "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.", + "operationId": "DedicatedHosts_Update", + "description": "Update an dedicated host .", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the resource group." }, { - "name": "publisherName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher." + "description": "The name of the dedicated host group." }, { - "name": "offer", + "name": "hostName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher offer." + "description": "The name of the dedicated host ." }, { - "name": "skus", - "in": "path", + "name": "parameters", + "in": "body", "required": true, - "type": "string", - "description": "A valid image SKU." - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "The filter to apply on the operation." - }, - { - "name": "$top", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "required": false, - "type": "string" + "schema": { + "$ref": "#/definitions/DedicatedHostUpdate" + }, + "description": "Parameters supplied to the Update Dedicated Host operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -884,72 +996,39 @@ "200": { "description": "OK", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineImageResource" - } + "$ref": "#/definitions/DedicatedHost" } } }, - "x-ms-odata": "#/definitions/VirtualMachineImageResource" - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": { - "get": { + "x-ms-long-running-operation": true + }, + "delete": { "tags": [ - "VirtualMachineImages" + "DedicatedHosts" ], - "operationId": "VirtualMachineImages_ListOffers", - "description": "Gets a list of virtual machine image offers for the specified location and publisher.", + "operationId": "DedicatedHosts_Delete", + "description": "Delete a dedicated host.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the resource group." }, { - "name": "publisherName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "The name of the dedicated host group." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineImageResource" - } - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": { - "get": { - "tags": [ - "VirtualMachineImages" - ], - "operationId": "VirtualMachineImages_ListPublishers", - "description": "Gets a list of virtual machine image publishers for the specified Azure location.", - "parameters": [ - { - "name": "location", + "name": "hostName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the dedicated host." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -960,45 +1039,59 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineImageResource" - } - } + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": { + }, + "x-ms-long-running-operation": true + }, "get": { "tags": [ - "VirtualMachineImages" + "DedicatedHosts" ], - "operationId": "VirtualMachineImages_ListSkus", - "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.", + "operationId": "DedicatedHosts_Get", + "description": "Retrieves information about a dedicated host.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of a supported Azure region." + "description": "The name of the resource group." }, { - "name": "publisherName", + "name": "hostGroupName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher." + "description": "The name of the dedicated host group." }, { - "name": "offer", + "name": "hostName", "in": "path", "required": true, "type": "string", - "description": "A valid image publisher offer." + "description": "The name of the dedicated host." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the dedicated host. 'UserData' is not supported for dedicated host.", + "enum": [ + "instanceView", + "userData" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1011,30 +1104,38 @@ "200": { "description": "OK", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/VirtualMachineImageResource" - } + "$ref": "#/definitions/DedicatedHost" } } + }, + "x-ms-examples": { + "Get a dedicated host.": { + "$ref": "./examples/compute/GetADedicatedHost.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts": { "get": { "tags": [ - "Usage" + "DedicatedHost" ], - "operationId": "Usage_List", - "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.", + "operationId": "DedicatedHosts_ListByHostGroup", + "description": "Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response to get the next page of dedicated hosts.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The location for which resource usage is queried.", - "pattern": "^[-\\w\\._]+$" + "description": "The name of the resource group." + }, + { + "name": "hostGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the dedicated host group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1047,7 +1148,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ListUsagesResult" + "$ref": "#/definitions/DedicatedHostListResult" } } }, @@ -1056,22 +1157,14 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sshPublicKeys": { "get": { "tags": [ - "VirtualMachines" + "SshPublicKeys" ], - "operationId": "VirtualMachines_ListByLocation", - "description": "Gets all the virtual machines under the specified subscription for the specified location.", + "operationId": "SshPublicKeys_ListBySubscription", + "description": "Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next page of SSH public keys.", "parameters": [ - { - "name": "location", - "in": "path", - "required": true, - "type": "string", - "description": "The location for which virtual machines under the subscription are queried.", - "pattern": "^[-\\w\\._]+$" - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1083,35 +1176,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineListResult" + "$ref": "#/definitions/SshPublicKeysGroupListResult" } } }, - "x-ms-examples": { - "Lists all the virtual machines under the specified subscription for the specified location.": { - "$ref": "./examples/ListVirtualMachinesInASubscriptionByLocation.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys": { "get": { "tags": [ - "VirtualMachineSizes" + "SshPublicKeys" ], - "operationId": "VirtualMachineSizes_List", - "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list)", + "operationId": "SshPublicKeys_ListByResourceGroup", + "description": "Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to get the next page of SSH public keys.", "parameters": [ { - "name": "location", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The location upon which virtual-machine-sizes is queried.", - "pattern": "^[-\\w\\._]+$" + "description": "The name of the resource group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1124,22 +1211,22 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineSizeListResult" + "$ref": "#/definitions/SshPublicKeysGroupListResult" } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}": { "put": { "tags": [ - "Images" + "SshPublicKeys" ], - "operationId": "Images_CreateOrUpdate", - "description": "Create or update an image.", + "operationId": "SshPublicKeys_Create", + "description": "Creates a new SSH public key resource.", "parameters": [ { "name": "resourceGroupName", @@ -1149,20 +1236,20 @@ "description": "The name of the resource group." }, { - "name": "imageName", + "name": "sshPublicKeyName", "in": "path", "required": true, "type": "string", - "description": "The name of the image." + "description": "The name of the SSH public key." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Image" + "$ref": "#/definitions/SshPublicKeyResource" }, - "description": "Parameters supplied to the Create Image operation." + "description": "Parameters supplied to create the SSH public key." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1175,47 +1262,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Image" + "$ref": "#/definitions/SshPublicKeyResource" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/Image" + "$ref": "#/definitions/SshPublicKeyResource" } } }, "x-ms-examples": { - "Create a virtual machine image from a blob.": { - "$ref": "./examples/CreateAnImageFromABlob.json" - }, - "Create a virtual machine image from a snapshot.": { - "$ref": "./examples/CreateAnImageFromASnapshot.json" - }, - "Create a virtual machine image from a managed disk.": { - "$ref": "./examples/CreateAnImageFromAManagedDisk.json" - }, - "Create a virtual machine image from an existing virtual machine.": { - "$ref": "./examples/CreateAnImageFromAVM.json" - }, - "Create a virtual machine image that includes a data disk from a blob.": { - "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json" - }, - "Create a virtual machine image that includes a data disk from a snapshot.": { - "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json" - }, - "Create a virtual machine image that includes a data disk from a managed disk.": { - "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json" + "Create a new SSH public key resource.": { + "$ref": "./examples/compute/CreateAnSshPublicKey.json" } - }, - "x-ms-long-running-operation": true + } }, "patch": { "tags": [ - "Images" + "SshPublicKeys" ], - "operationId": "Images_Update", - "description": "Update an image.", + "operationId": "SshPublicKeys_Update", + "description": "Updates a new SSH public key resource.", "parameters": [ { "name": "resourceGroupName", @@ -1225,20 +1293,20 @@ "description": "The name of the resource group." }, { - "name": "imageName", + "name": "sshPublicKeyName", "in": "path", "required": true, "type": "string", - "description": "The name of the image." + "description": "The name of the SSH public key." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ImageUpdate" + "$ref": "#/definitions/SshPublicKeyUpdateResource" }, - "description": "Parameters supplied to the Update Image operation." + "description": "Parameters supplied to update the SSH public key." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1251,24 +1319,17 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Image" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/Image" + "$ref": "#/definitions/SshPublicKeyResource" } } - }, - "x-ms-long-running-operation": true + } }, "delete": { "tags": [ - "Images" + "SshPublicKeys" ], - "operationId": "Images_Delete", - "description": "Deletes an Image.", + "operationId": "SshPublicKeys_Delete", + "description": "Delete an SSH public key.", "parameters": [ { "name": "resourceGroupName", @@ -1278,11 +1339,11 @@ "description": "The name of the resource group." }, { - "name": "imageName", + "name": "sshPublicKeyName", "in": "path", "required": true, "type": "string", - "description": "The name of the image." + "description": "The name of the SSH public key." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1295,21 +1356,17 @@ "200": { "description": "OK" }, - "202": { - "description": "Accepted" - }, "204": { "description": "No Content" } - }, - "x-ms-long-running-operation": true + } }, "get": { "tags": [ - "Images" + "SshPublicKeys" ], - "operationId": "Images_Get", - "description": "Gets an image.", + "operationId": "SshPublicKeys_Get", + "description": "Retrieves information about an SSH public key.", "parameters": [ { "name": "resourceGroupName", @@ -1319,18 +1376,11 @@ "description": "The name of the resource group." }, { - "name": "imageName", + "name": "sshPublicKeyName", "in": "path", "required": true, "type": "string", - "description": "The name of the image." - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "The expand expression to apply on the operation." + "description": "The name of the SSH public key." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1343,24 +1393,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Image" + "$ref": "#/definitions/SshPublicKeyResource" } } }, "x-ms-examples": { - "Get information about a virtual machine image.": { - "$ref": "./examples/GetInformationAboutAnImage.json" + "Get an ssh public key.": { + "$ref": "./examples/compute/GetAnSshPublicKey.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}/generateKeyPair": { + "post": { "tags": [ - "Images" + "SshPublicKeys" ], - "operationId": "Images_ListByResourceGroup", - "description": "Gets the list of images under a resource group.", + "operationId": "SshPublicKeys_GenerateKeyPair", + "description": "Generates and returns a public/private key pair and populates the SSH public key resource with the public key. The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.", "parameters": [ { "name": "resourceGroupName", @@ -1369,6 +1419,13 @@ "type": "string", "description": "The name of the resource group." }, + { + "name": "sshPublicKeyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the SSH public key." + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1380,28 +1437,50 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ImageListResult" + "$ref": "#/definitions/SshPublicKeyGenerateKeyPairResult" } } }, "x-ms-examples": { - "List all virtual machine images in a resource group.": { - "$ref": "./examples/ListImagesInAResourceGroup.json" + "Generate an SSH key pair.": { + "$ref": "./examples/compute/GenerateSshKeyPair.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": { "get": { "tags": [ - "Images" + "VirtualMachineExtensionImages" ], - "operationId": "Images_List", - "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.", + "operationId": "VirtualMachineExtensionImages_Get", + "description": "Gets a virtual machine extension image.", "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "type", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "version", + "in": "path", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1413,50 +1492,32 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ImageListResult" + "$ref": "#/definitions/VirtualMachineExtensionImage" } } - }, - "x-ms-examples": { - "List all virtual machine images in a subscription.": { - "$ref": "./examples/ListImagesInASubscription.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensionImages" ], - "operationId": "VirtualMachines_Capture", - "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.", + "operationId": "VirtualMachineExtensionImages_ListTypes", + "description": "Gets a list of virtual machine extension image types.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "publisherName", "in": "path", "required": true, - "type": "string", - "description": "The name of the virtual machine." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachineCaptureParameters" - }, - "description": "Parameters supplied to the Capture Virtual Machine operation." + "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1469,49 +1530,61 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineCaptureResult" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionImage" + } } - }, - "202": { - "description": "Accepted" } - }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": { - "put": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensionImages" ], - "operationId": "VirtualMachines_CreateOrUpdate", - "description": "The operation to create or update a virtual machine.", + "operationId": "VirtualMachineExtensionImages_ListVersions", + "description": "Gets a list of virtual machine extension image versions.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "publisherName", "in": "path", "required": true, - "type": "string", - "description": "The name of the virtual machine." + "type": "string" }, { - "name": "parameters", - "in": "body", + "name": "type", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachine" - }, - "description": "Parameters supplied to the Create Virtual Machine operation." + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1524,59 +1597,83 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachine" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/VirtualMachine" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtensionImage" + } } } }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Create a vm with password authentication.": { - "$ref": "./examples/CreateAVmWithPasswordAuthentication.json" - }, - "Create a vm with ssh authentication.": { - "$ref": "./examples/CreateAVmWithSshAuthentication.json" - }, - "Create a vm with premium storage.": { - "$ref": "./examples/CreateAVmWithPremiumStorage.json" - }, - "Create a vm in an availability set.": { - "$ref": "./examples/CreateAVmInAnAvailabilitySet.json" - }, - "Create a vm with boot diagnostics.": { - "$ref": "./examples/CreateAVmWithBootDiagnostics.json" + "x-ms-odata": "#/definitions/VirtualMachineExtensionImage" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": { + "put": { + "tags": [ + "VirtualMachineExtensions" + ], + "operationId": "VirtualMachineExtensions_CreateOrUpdate", + "description": "The operation to create or update the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." }, - "Create a vm with empty data disks.": { - "$ref": "./examples/CreateAVmWithEmptyDataDisks.json" + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the extension should be created or updated." }, - "Create a vm with a marketplace image plan.": { - "$ref": "./examples/CreateAVmWithAMarketplaceImagePlan.json" + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." }, - "Create a vm from a custom image.": { - "$ref": "./examples/CreateAVmFromACustomImage.json" + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "Parameters supplied to the Create Virtual Machine Extension operation." }, - "Create a platform-image vm with unmanaged os and data disks.": { - "$ref": "./examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json" + { + "$ref": "#/parameters/ApiVersionParameter" }, - "Create a custom-image vm from an unmanaged generalized os image.": { - "$ref": "./examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json" + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } }, - "Create a vm with ephemeral os disk.": { - "$ref": "./examples/CreateAVmWithADiffOsDisk.json" + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineExtension" + } } - } + }, + "x-ms-long-running-operation": true }, "patch": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensions" ], - "operationId": "VirtualMachines_Update", - "description": "The operation to update a virtual machine.", + "operationId": "VirtualMachineExtensions_Update", + "description": "The operation to update the extension.", "parameters": [ { "name": "resourceGroupName", @@ -1590,16 +1687,23 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the virtual machine where the extension should be updated." }, { - "name": "parameters", + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineUpdate" + "$ref": "#/definitions/VirtualMachineExtensionUpdate" }, - "description": "Parameters supplied to the Update Virtual Machine operation." + "description": "Parameters supplied to the Update Virtual Machine Extension operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1612,24 +1716,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachine" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/VirtualMachine" + "$ref": "#/definitions/VirtualMachineExtension" } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update VM extension.": { + "$ref": "./examples/compute/UpdateVMExtensionWithSuppressFailureEnabled.json" + } + } }, "delete": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensions" ], - "operationId": "VirtualMachines_Delete", - "description": "The operation to delete a virtual machine.", + "operationId": "VirtualMachineExtensions_Delete", + "description": "The operation to delete the extension.", "parameters": [ { "name": "resourceGroupName", @@ -1643,7 +1746,14 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the virtual machine where the extension should be deleted." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1667,10 +1777,10 @@ }, "get": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensions" ], - "operationId": "VirtualMachines_Get", - "description": "Retrieves information about the model view or the instance view of a virtual machine.", + "operationId": "VirtualMachineExtensions_Get", + "description": "The operation to get the extension.", "parameters": [ { "name": "resourceGroupName", @@ -1684,21 +1794,21 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the virtual machine containing the extension." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." }, { "name": "$expand", "in": "query", "required": false, "type": "string", - "description": "The expand expression to apply on the operation.", - "enum": [ - "instanceView" - ], - "x-ms-enum": { - "name": "InstanceViewTypes", - "modelAsString": false - } + "description": "The expand expression to apply on the operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1711,19 +1821,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachine" + "$ref": "#/definitions/VirtualMachineExtension" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": { "get": { "tags": [ - "VirtualMachines" + "VirtualMachineExtensions" ], - "operationId": "VirtualMachines_InstanceView", - "description": "Retrieves information about the run-time state of a virtual machine.", + "operationId": "VirtualMachineExtensions_List", + "description": "The operation to get all extensions of a Virtual Machine.", "parameters": [ { "name": "resourceGroupName", @@ -1737,7 +1847,14 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the virtual machine containing the extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1750,73 +1867,54 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineInstanceView" + "$ref": "#/definitions/VirtualMachineExtensionsListResult" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_ConvertToManagedDisks", - "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.", + "operationId": "VirtualMachineImages_Get", + "description": "Gets a virtual machine image.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "publisherName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "A valid image publisher." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK" + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": { - "post": { - "tags": [ - "VirtualMachines" - ], - "operationId": "VirtualMachines_Deallocate", - "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.", - "parameters": [ { - "name": "resourceGroupName", + "name": "skus", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "A valid image SKU." }, { - "name": "vmName", + "name": "version", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "A valid image SKU version." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1827,65 +1925,69 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineImage" + } } - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_Generalize", - "description": "Sets the state of the virtual machine to generalized.", + "operationId": "VirtualMachineImages_List", + "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "publisherName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "A valid image publisher." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": { - "get": { - "tags": [ - "VirtualMachines" - ], - "operationId": "VirtualMachines_List", - "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.", - "parameters": [ - { - "name": "resourceGroupName", + "name": "skus", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "A valid image SKU." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1898,23 +2000,37 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineListResult" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": { "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_ListAll", - "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.", + "operationId": "VirtualMachineImages_ListOffers", + "description": "Gets a list of virtual machine image offers for the specified location and publisher.", "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1926,36 +2042,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineListResult" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": { "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_ListAvailableSizes", - "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.", + "operationId": "VirtualMachineImages_ListPublishers", + "description": "Gets a list of virtual machine image publishers for the specified Azure location.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of a supported Azure region." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1968,36 +2077,43 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineSizeListResult" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } } } - }, - "x-ms-pageable": { - "nextLinkName": null } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_PowerOff", - "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.", + "operationId": "VirtualMachineImages_ListSkus", + "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "publisherName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "A valid image publisher." + }, + { + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2008,76 +2124,66 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } } - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_Restart", - "description": "The operation to restart a virtual machine.", + "operationId": "VirtualMachineImagesEdgeZone_Get", + "description": "Gets a virtual machine image in an edge zone.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "edgeZone", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the edge zone." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK" + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": { - "post": { - "tags": [ - "VirtualMachines" - ], - "operationId": "VirtualMachines_Start", - "description": "The operation to start a virtual machine.", - "parameters": [ { - "name": "resourceGroupName", + "name": "skus", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "A valid image SKU." }, { - "name": "vmName", + "name": "version", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "A valid image SKU version." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2088,85 +2194,84 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineImage" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_Redeploy", - "description": "The operation to redeploy a virtual machine.", + "operationId": "VirtualMachineImagesEdgeZone_List", + "description": "Gets a list of all virtual machine image versions for the specified location, edge zone, publisher, offer, and SKU.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "edgeZone", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "The name of the edge zone." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK" + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": { - "post": { - "tags": [ - "VirtualMachines" - ], - "operationId": "VirtualMachines_Reimage", - "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.", - "parameters": [ { - "name": "resourceGroupName", + "name": "offer", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "A valid image publisher offer." }, { - "name": "vmName", + "name": "skus", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "A valid image SKU." }, - { - "name": "parameters", - "in": "body", + { + "name": "$expand", + "in": "query", "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineReimageParameters" - }, - "description": "Parameters supplied to the Reimage Virtual Machine operation." + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "An integer value specifying the number of images to return that matches supplied values." + }, + { + "name": "$orderby", + "in": "query", + "required": false, + "type": "string", + "description": "Specifies the order of the results returned. Formatted as an OData query." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2177,41 +2282,51 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Reimage a Virtual Machine.": { - "$ref": "./examples/ReimageVirtualMachine.json" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers": { + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineImages" ], - "operationId": "VirtualMachines_PerformMaintenance", - "description": "The operation to perform maintenance on a virtual machine.", + "operationId": "VirtualMachineImagesEdgeZone_ListOffers", + "description": "Gets a list of virtual machine image offers for the specified location, edge zone and publisher.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmName", + "name": "edgeZone", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the edge zone." + }, + { + "name": "publisherName", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2222,45 +2337,44 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": { - "put": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachineImages" ], - "operationId": "VirtualMachineScaleSets_CreateOrUpdate", - "description": "Create or update a VM scale set.", + "operationId": "VirtualMachineImagesEdgeZone_ListPublishers", + "description": "Gets a list of virtual machine image publishers for the specified Azure location and edge zone.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmScaleSetName", + "name": "edgeZone", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set to create or update." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSet" - }, - "description": "The scale set object." + "description": "The name of the edge zone." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2273,88 +2387,56 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSet" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSet" + "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Create a scale set with password authentication.": { - "$ref": "./examples/CreateAScaleSetWithPasswordAuthentication.json" - }, - "Create a scale set with ssh authentication.": { - "$ref": "./examples/CreateAScaleSetWithSshAuthentication.json" - }, - "Create a scale set with premium storage.": { - "$ref": "./examples/CreateAScaleSetWithPremiumStorage.json" - }, - "Create a scale set with empty data disks on each vm.": { - "$ref": "./examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json" - }, - "Create a scale set with an azure load balancer.": { - "$ref": "./examples/CreateAScaleSetWithAnAzureLoadBalancer.json" - }, - "Create a scale set with an azure application gateway.": { - "$ref": "./examples/CreateAScaleSetWithAnAzureApplicationGateway.json" - }, - "Create a scale set with boot diagnostics.": { - "$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json" - }, - "Create a scale set with a marketplace image plan.": { - "$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json" - }, - "Create a scale set from a custom image.": { - "$ref": "./examples/CreateAScaleSetFromACustomImage.json" - }, - "Create a platform-image scale set with unmanaged os disks.": { - "$ref": "./examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json" - }, - "Create a custom-image scale set from an unmanaged generalized os image.": { - "$ref": "./examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json" - }, - "Create a scale set with virtual machines in different zones.": { - "$ref": "./examples/CreateAScaleSetWithVMsInDifferentZones.json" - }, - "Create a scale set with ephemeral os disks.": { - "$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json" - } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/edgeZones/{edgeZone}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachineImages" ], - "operationId": "VirtualMachineScaleSets_Update", - "description": "Update a VM scale set.", + "operationId": "VirtualMachineImagesEdgeZone_ListSkus", + "description": "Gets a list of virtual machine image SKUs for the specified location, edge zone, publisher, and offer.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." + "description": "The name of a supported Azure region." }, { - "name": "vmScaleSetName", + "name": "edgeZone", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set to create or update." + "description": "The name of the edge zone." }, { - "name": "parameters", - "in": "body", + "name": "publisherName", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetUpdate" - }, - "description": "The scale set object." + "type": "string", + "description": "A valid image publisher." + }, + { + "name": "offer", + "in": "path", + "required": true, + "type": "string", + "description": "A valid image publisher offer." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2367,32 +2449,36 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSet" + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageResource" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true - }, - "delete": { + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "Usage" ], - "operationId": "VirtualMachineScaleSets_Delete", - "description": "Deletes a VM scale set.", + "operationId": "Usage_List", + "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2403,37 +2489,32 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "No Content" + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } } }, - "x-ms-long-running-operation": true - }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": { "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_Get", - "description": "Display information about a virtual machine scale set.", + "operationId": "VirtualMachines_ListByLocation", + "description": "Gets all the virtual machines under the specified subscription for the specified location.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The location for which virtual machines under the subscription are queried.", + "pattern": "^[-\\w\\._]+$" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2446,42 +2527,35 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSet" + "$ref": "#/definitions/VirtualMachineListResult" } } + }, + "x-ms-examples": { + "Lists all the virtual machines under the specified subscription for the specified location.": { + "$ref": "./examples/compute/ListVirtualMachinesInASubscriptionByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachineScaleSets": { + "get": { "tags": [ "VirtualMachineScaleSets" ], - "operationId": "VirtualMachineScaleSets_Deallocate", - "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.", + "operationId": "VirtualMachineScaleSets_ListByLocation", + "description": "Gets all the VM scale sets under the specified subscription for the specified location.", "parameters": [ { - "name": "resourceGroupName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmInstanceIDs", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "description": "The location for which VM scale sets under the subscription are queried.", + "pattern": "^[-\\w\\._]+$" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2492,45 +2566,43 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListResult" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Lists all the VM scale sets under the specified subscription for the specified location.": { + "$ref": "./examples/compute/ListVirtualMachineScaleSetsInASubscriptionByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachineSizes" ], - "operationId": "VirtualMachineScaleSets_DeleteInstances", - "description": "Deletes virtual machines in a VM scale set.", + "operationId": "VirtualMachineSizes_List", + "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/rest/api/compute/resourceskus/list)", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", + "name": "location", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmInstanceIDs", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2541,22 +2613,24 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineSizeListResult" + } } }, - "x-ms-long-running-operation": true + "x-ms-pageable": { + "nextLinkName": null + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": { + "put": { "tags": [ - "VirtualMachineScaleSets" + "Images" ], - "operationId": "VirtualMachineScaleSets_GetInstanceView", - "description": "Gets the status of a VM scale set instance.", + "operationId": "Images_CreateOrUpdate", + "description": "Create or update an image.", "parameters": [ { "name": "resourceGroupName", @@ -2566,43 +2640,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "imageName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "The name of the image." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetInstanceView" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": { - "get": { - "tags": [ - "VirtualMachineScaleSets" - ], - "operationId": "VirtualMachineScaleSets_List", - "description": "Gets a list of all VM scale sets under a resource group.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", + "name": "parameters", + "in": "body", "required": true, - "type": "string", - "description": "The name of the resource group." + "schema": { + "$ref": "#/definitions/Image" + }, + "description": "Parameters supplied to the Create Image operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2615,22 +2666,56 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetListResult" + "$ref": "#/definitions/Image" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Image" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": { - "put": { + "x-ms-examples": { + "Create a virtual machine image from a blob.": { + "$ref": "./examples/compute/CreateAnImageFromABlob.json" + }, + "Create a virtual machine image from a snapshot.": { + "$ref": "./examples/compute/CreateAnImageFromASnapshot.json" + }, + "Create a virtual machine image from a managed disk.": { + "$ref": "./examples/compute/CreateAnImageFromAManagedDisk.json" + }, + "Create a virtual machine image from an existing virtual machine.": { + "$ref": "./examples/compute/CreateAnImageFromAVM.json" + }, + "Create a virtual machine image that includes a data disk from a blob.": { + "$ref": "./examples/compute/CreateAnImageThatIncludesADataDiskFromABlob.json" + }, + "Create a virtual machine image that includes a data disk from a snapshot.": { + "$ref": "./examples/compute/CreateAnImageThatIncludesADataDiskFromASnapshot.json" + }, + "Create a virtual machine image that includes a data disk from a managed disk.": { + "$ref": "./examples/compute/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json" + }, + "Create a virtual machine image from a blob with DiskEncryptionSet resource.": { + "$ref": "./examples/compute/CreateAnImageFromABlobWithDiskEncryptionSet.json" + }, + "Create a virtual machine image from a snapshot with DiskEncryptionSet resource.": { + "$ref": "./examples/compute/CreateAnImageFromASnapshotWithDiskEncryptionSet.json" + }, + "Create a virtual machine image from a managed disk with DiskEncryptionSet resource.": { + "$ref": "./examples/compute/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { "tags": [ - "VirtualMachineScaleSetExtensions" + "Images" ], - "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate", - "description": "The operation to create or update an extension.", + "operationId": "Images_Update", + "description": "Update an image.", "parameters": [ { "name": "resourceGroupName", @@ -2640,27 +2725,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set where the extension should be create or updated." - }, - { - "name": "vmssExtensionName", + "name": "imageName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set extension." + "description": "The name of the image." }, { - "name": "extensionParameters", + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetExtension" + "$ref": "#/definitions/ImageUpdate" }, - "description": "Parameters supplied to the Create VM scale set Extension operation." + "description": "Parameters supplied to the Update Image operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2673,24 +2751,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetExtension" + "$ref": "#/definitions/Image" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetExtension" + "$ref": "#/definitions/Image" } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates tags of an Image.": { + "$ref": "./examples/compute/UpdateImage.json" + } + } }, "delete": { "tags": [ - "VirtualMachineScaleSetExtensions" + "Images" ], - "operationId": "VirtualMachineScaleSetExtensions_Delete", - "description": "The operation to delete the extension.", + "operationId": "Images_Delete", + "description": "Deletes an Image.", "parameters": [ { "name": "resourceGroupName", @@ -2700,18 +2783,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set where the extension should be deleted." - }, - { - "name": "vmssExtensionName", + "name": "imageName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set extension." + "description": "The name of the image." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2735,10 +2811,10 @@ }, "get": { "tags": [ - "VirtualMachineScaleSetExtensions" + "Images" ], - "operationId": "VirtualMachineScaleSetExtensions_Get", - "description": "The operation to get the extension.", + "operationId": "Images_Get", + "description": "Gets an image.", "parameters": [ { "name": "resourceGroupName", @@ -2748,18 +2824,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set containing the extension." - }, - { - "name": "vmssExtensionName", + "name": "imageName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set extension." + "description": "The name of the image." }, { "name": "$expand", @@ -2779,19 +2848,24 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetExtension" + "$ref": "#/definitions/Image" } } + }, + "x-ms-examples": { + "Get information about a virtual machine image.": { + "$ref": "./examples/compute/GetInformationAboutAnImage.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": { "get": { "tags": [ - "VirtualMachineScaleSetExtensions" + "Images" ], - "operationId": "VirtualMachineScaleSetExtensions_List", - "description": "Gets a list of all extensions in a VM scale set.", + "operationId": "Images_ListByResourceGroup", + "description": "Gets the list of images under a resource group.", "parameters": [ { "name": "resourceGroupName", @@ -2800,13 +2874,6 @@ "type": "string", "description": "The name of the resource group." }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set containing the extension." - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -2818,22 +2885,27 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult" + "$ref": "#/definitions/ImageListResult" } } }, + "x-ms-examples": { + "List all virtual machine images in a resource group.": { + "$ref": "./examples/compute/ListImagesInAResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": { "get": { "tags": [ - "VirtualMachineScaleSets" + "Images" ], - "operationId": "VirtualMachineScaleSets_ListAll", - "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.", + "operationId": "Images_List", + "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -2846,22 +2918,27 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult" + "$ref": "#/definitions/ImageListResult" } } }, + "x-ms-examples": { + "List all virtual machine images in a subscription.": { + "$ref": "./examples/compute/ListImagesInASubscription.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": { + "post": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_ListSkus", - "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.", + "operationId": "VirtualMachines_Capture", + "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.", "parameters": [ { "name": "resourceGroupName", @@ -2871,11 +2948,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineCaptureParameters" + }, + "description": "Parameters supplied to the Capture Virtual Machine operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2888,22 +2974,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult" + "$ref": "#/definitions/VirtualMachineCaptureResult" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": { + "put": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory", - "description": "Gets list of OS upgrades on a VM scale set instance.", + "operationId": "VirtualMachines_CreateOrUpdate", + "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.", "parameters": [ { "name": "resourceGroupName", @@ -2913,11 +3003,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachine" + }, + "description": "Parameters supplied to the Create Virtual Machine operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2930,22 +3029,137 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory" + "$ref": "#/definitions/VirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachine" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a vm with password authentication.": { + "$ref": "./examples/compute/CreateAVmWithPasswordAuthentication.json" + }, + "Create a vm with ssh authentication.": { + "$ref": "./examples/compute/CreateAVmWithSshAuthentication.json" + }, + "Create a vm with premium storage.": { + "$ref": "./examples/compute/CreateAVmWithPremiumStorage.json" + }, + "Create a vm in a Virtual Machine Scale Set with customer assigned platformFaultDomain.": { + "$ref": "./examples/compute/CreateAVmInAVirtualMachineScaleSetWithCustomerAssignedPlatformFaultDomain.json" + }, + "Create a vm in an availability set.": { + "$ref": "./examples/compute/CreateAVmInAnAvailabilitySet.json" + }, + "Create a vm with Scheduled Events Profile": { + "$ref": "./examples/compute/CreateAVmWithScheduledEventsProfile.json" + }, + "Create a vm with boot diagnostics.": { + "$ref": "./examples/compute/CreateAVmWithBootDiagnostics.json" + }, + "Create a vm with managed boot diagnostics.": { + "$ref": "./examples/compute/CreateAVmWithManagedBootDiagnostics.json" + }, + "Create a vm with empty data disks.": { + "$ref": "./examples/compute/CreateAVmWithEmptyDataDisks.json" + }, + "Create a vm with a marketplace image plan.": { + "$ref": "./examples/compute/CreateAVmWithAMarketplaceImagePlan.json" + }, + "Create a vm from a custom image.": { + "$ref": "./examples/compute/CreateAVmFromACustomImage.json" + }, + "Create a platform-image vm with unmanaged os and data disks.": { + "$ref": "./examples/compute/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json" + }, + "Create a custom-image vm from an unmanaged generalized os image.": { + "$ref": "./examples/compute/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json" + }, + "Create a vm with ephemeral os disk.": { + "$ref": "./examples/compute/CreateAVmWithADiffOsDisk.json" + }, + "Create a vm with DiskEncryptionSet resource id in the os disk and data disk.": { + "$ref": "./examples/compute/CreateAVmWithDiskEncryptionSetResource.json" + }, + "Create a vm with ephemeral os disk provisioning in Resource disk using placement property.": { + "$ref": "./examples/compute/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json" + }, + "Create a vm with ephemeral os disk provisioning in Cache disk using placement property.": { + "$ref": "./examples/compute/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json" + }, + "Create a vm with Host Encryption using encryptionAtHost property.": { + "$ref": "./examples/compute/CreateAVmWithEncryptionAtHost.json" + }, + "Create a Windows vm with a patch setting patchMode of AutomaticByOS.": { + "$ref": "./examples/compute/CreateAWindowsVmWithPatchSettingModeOfAutomaticByOS.json" + }, + "Create a Windows vm with patch settings patchMode and assessmentMode set to AutomaticByPlatform.": { + "$ref": "./examples/compute/CreateAWindowsVmWithPatchSettingModesOfAutomaticByPlatform.json" + }, + "Create a Windows vm with a patch setting patchMode of Manual.": { + "$ref": "./examples/compute/CreateAWindowsVmWithPatchSettingModeOfManual.json" + }, + "Create a Windows vm with a patch setting assessmentMode of ImageDefault.": { + "$ref": "./examples/compute/CreateAWindowsVmWithPatchSettingAssessmentModeOfImageDefault.json" + }, + "Create a Windows vm with a patch setting patchMode of AutomaticByPlatform and enableHotpatching set to true.": { + "$ref": "./examples/compute/CreateAWindowsVmWithPatchSettingModeOfAutomaticByPlatformAndEnableHotPatchingTrue.json" + }, + "Create a Linux vm with a patch settings patchMode and assessmentMode set to AutomaticByPlatform.": { + "$ref": "./examples/compute/CreateALinuxVmWithPatchSettingModesOfAutomaticByPlatform.json" + }, + "Create a Linux vm with a patch setting patchMode of ImageDefault.": { + "$ref": "./examples/compute/CreateALinuxVmWithPatchSettingModeOfImageDefault.json" + }, + "Create a Linux vm with a patch setting assessmentMode of ImageDefault.": { + "$ref": "./examples/compute/CreateALinuxVmWithPatchSettingAssessmentModeOfImageDefault.json" + }, + "Create a vm with an extensions time budget.": { + "$ref": "./examples/compute/CreateAVmWithExtensionsTimeBudget.json" + }, + "Create a VM with Uefi Settings of secureBoot and vTPM.": { + "$ref": "./examples/compute/CreateAVmWithUefiSettings.json" + }, + "Create a vm from a generalized shared image.": { + "$ref": "./examples/compute/CreateAVmFromAGeneralizedSharedImage.json" + }, + "Create a vm from a specialized shared image.": { + "$ref": "./examples/compute/CreateAVmFromASpecializedSharedImage.json" + }, + "Create a VM with network interface configuration": { + "$ref": "./examples/compute/CreateAVmWithNetworkInterfaceConfiguration.json" + }, + "Create a VM with UserData": { + "$ref": "./examples/compute/CreateOrUpdateAVmWithUserData.json" + }, + "Create a vm with Application Profile.": { + "$ref": "./examples/compute/CreateAVmWithApplicationProfile.json" + }, + "Create a VM with HibernationEnabled": { + "$ref": "./examples/compute/CreateOrUpdateAVmWithHibernationEnabled.json" + }, + "Create a VM with VM Size Properties": { + "$ref": "./examples/compute/CreateOrUpdateAVmWithVMSizeProperties.json" + }, + "Create or update a VM with capacity reservation": { + "$ref": "./examples/compute/CreateOrUpdateAVmWithCapacityReservation.json" + }, + "Create a VM from a shared gallery image": { + "$ref": "./examples/compute/CreateAVmFromASharedGalleryImage.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": { - "post": { + }, + "patch": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_PowerOff", - "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "operationId": "VirtualMachines_Update", + "description": "The operation to update a virtual machine.", "parameters": [ { "name": "resourceGroupName", @@ -2955,20 +3169,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." }, { - "name": "vmInstanceIDs", + "name": "parameters", "in": "body", - "required": false, + "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + "$ref": "#/definitions/VirtualMachineUpdate" }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "description": "Parameters supplied to the Update Virtual Machine operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2979,22 +3193,28 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } } }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": { - "post": { + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a VM by detaching data disk": { + "$ref": "./examples/compute/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json" + }, + "Update a VM by force-detaching data disk": { + "$ref": "./examples/compute/UpdateVMForceDetachDataDisk.json" + } + } + }, + "delete": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_Restart", - "description": "Restarts one or more virtual machines in a VM scale set.", + "operationId": "VirtualMachines_Delete", + "description": "The operation to delete a virtual machine.", "parameters": [ { "name": "resourceGroupName", @@ -3004,20 +3224,18 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." }, { - "name": "vmInstanceIDs", - "in": "body", + "name": "forceDeletion", + "in": "query", "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "type": "boolean", + "description": "Optional parameter to force delete virtual machines." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3032,18 +3250,24 @@ }, "202": { "description": "Accepted" + }, + "204": { + "description": "No Content" } }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": { - "post": { + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Force delete a VM": { + "$ref": "./examples/compute/ForceDeleteVirtualMachine.json" + } + } + }, + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_Start", - "description": "Starts one or more virtual machines in a VM scale set.", + "operationId": "VirtualMachines_Get", + "description": "Retrieves information about the model view or the instance view of a virtual machine.", "parameters": [ { "name": "resourceGroupName", @@ -3053,20 +3277,26 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." }, { - "name": "vmInstanceIDs", - "in": "body", + "name": "$expand", + "in": "query", "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "type": "string", + "description": "The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the virtual machine that is managed by the platform and can change outside of control plane operations. 'UserData' retrieves the UserData property as part of the VM model view that was provided by the user during the VM Create/Update operation.", + "enum": [ + "instanceView", + "userData" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3077,22 +3307,29 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachine" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Get a Virtual Machine.": { + "$ref": "./examples/compute/GetVirtualMachine.json" + }, + "Get a virtual machine placed on a dedicated host group through automatic placement": { + "$ref": "./examples/compute/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json" + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_Redeploy", - "description": "Redeploy one or more virtual machines in a VM scale set.", + "operationId": "VirtualMachines_InstanceView", + "description": "Retrieves information about the run-time state of a virtual machine.", "parameters": [ { "name": "resourceGroupName", @@ -3102,20 +3339,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmInstanceIDs", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "description": "The name of the virtual machine." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3126,22 +3354,29 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineInstanceView" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Get Virtual Machine Instance View.": { + "$ref": "./examples/compute/GetVirtualMachineInstanceView.json" + }, + "Get instance view of a virtual machine placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/compute/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json" + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": { "post": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_PerformMaintenance", - "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications", + "operationId": "VirtualMachines_ConvertToManagedDisks", + "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.", "parameters": [ { "name": "resourceGroupName", @@ -3151,20 +3386,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmInstanceIDs", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "description": "The name of the virtual machine." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3184,13 +3410,13 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": { "post": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_UpdateInstances", - "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.", + "operationId": "VirtualMachines_Deallocate", + "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.", "parameters": [ { "name": "resourceGroupName", @@ -3200,20 +3426,18 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the virtual machine." }, { - "name": "vmInstanceIDs", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." + "name": "hibernate", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to hibernate a virtual machine. (Feature in Preview)" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3233,13 +3457,13 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": { "post": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_Reimage", - "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.", + "operationId": "VirtualMachines_Generalize", + "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/azure/virtual-machines/windows/capture-image-resource).
For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/azure/virtual-machines/linux/capture-image).", "parameters": [ { "name": "resourceGroupName", @@ -3249,20 +3473,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmScaleSetReimageInput", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters" - }, - "description": "Parameters for Reimaging VM ScaleSet." + "description": "The name of the virtual machine." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3274,21 +3489,22 @@ "responses": { "200": { "description": "OK" - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Generalize a Virtual Machine.": { + "$ref": "./examples/compute/GeneralizeVirtualMachine.json" + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": { + "get": { "tags": [ - "VirtualMachineScaleSets" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSets_ReimageAll", - "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.", + "operationId": "VirtualMachines_List", + "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.", "parameters": [ { "name": "resourceGroupName", @@ -3297,22 +3513,6 @@ "type": "string", "description": "The name of the resource group." }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "vmInstanceIDs", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" - }, - "description": "A list of virtual machine instance IDs from the VM scale set." - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -3322,63 +3522,68 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineListResult" + } } }, - "x-ms-long-running-operation": true + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": { + "get": { "tags": [ - "VirtualMachineScaleSetRollingUpgrades" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel", - "description": "Cancels the current virtual machine scale set rolling upgrade.", + "operationId": "VirtualMachines_ListAll", + "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.", "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "statusOnly", + "in": "query", + "required": false, + "type": "string", + "description": "statusOnly=true enables fetching run time status of all Virtual Machines in the subscription." } ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineListResult" + } } }, - "x-ms-long-running-operation": true + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}": { + "put": { "tags": [ - "VirtualMachineScaleSetRollingUpgrades" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade", - "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.", + "operationId": "RestorePointCollections_CreateOrUpdate", + "description": "The operation to create or update the restore point collection. Please refer to https://aka.ms/RestorePoints for more details. When updating a restore point collection, only tags may be modified.", + "x-ms-examples": { + "Create or update a restore point collection.": { + "$ref": "./examples/compute/CreateOrUpdateARestorePointCollection.json" + } + }, "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3387,38 +3592,56 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the restore point collection." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RestorePointCollection" + }, + "description": "Parameters supplied to the Create or Update restore point collection operation." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorePointCollection" + } }, - "202": { - "description": "Accepted" + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/RestorePointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": { - "post": { + } + }, + "patch": { "tags": [ - "VirtualMachineScaleSetRollingUpgrades" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade", - "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.", + "operationId": "RestorePointCollections_Update", + "description": "The operation to update the restore point collection.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3427,43 +3650,50 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the restore point collection." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RestorePointCollectionUpdate" + }, + "description": "Parameters supplied to the Update restore point collection operation." }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorePointCollection" + } }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Start an extension rolling upgrade.": { - "$ref": "./examples/VMScaleSetExtensionRollingUpgrade.json" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": { - "get": { + }, + "delete": { "tags": [ - "VirtualMachineScaleSetRollingUpgrades" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest", - "description": "Gets the status of the latest virtual machine scale set rolling upgrade.", + "operationId": "RestorePointCollections_Delete", + "description": "The operation to delete the restore point collection. This operation will also delete all the contained restore points.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3472,207 +3702,155 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the Restore Point Collection." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RollingUpgradeStatusInfo" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": { - "post": { - "tags": [ - "VirtualMachineScaleSets" - ], - "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk", - "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.", - "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." + "description": "OK" }, - { - "$ref": "#/parameters/ApiVersionParameter" + "202": { + "description": "Accepted" }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "204": { + "description": "No Content" }, - { - "name": "platformUpdateDomain", - "in": "query", - "required": true, - "type": "integer", - "description": "The platform update domain for which a manual recovery walk is requested" - } - ], - "responses": { - "200": { - "description": "OK", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RecoveryWalkResponse" + "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": { - "post": { + }, + "x-ms-long-running-operation": true + }, + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetVMs_Reimage", - "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.", + "operationId": "RestorePointCollections_Get", + "description": "The operation to get the restore point collection.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "vmScaleSetName", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the resource group." }, { - "name": "instanceId", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the restore point collection." }, { - "name": "vmScaleSetVMReimageInput", - "in": "body", + "name": "$expand", + "in": "query", "required": false, - "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters" - }, - "description": "Parameters for the Reimaging Virtual machine in ScaleSet." + "type": "string", + "description": "The expand expression to apply on the operation. If expand=restorePoints, server will return all contained restore points in the restorePointCollection.", + "enum": [ + "restorePoints" + ], + "x-ms-enum": { + "name": "RestorePointCollectionExpandOptions", + "modelAsString": true + } }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], + "x-ms-examples": { + "Get a restore point collection (but not the restore points contained in the restore point collection)": { + "$ref": "./examples/compute/GetRestorePointCollection.json" + }, + "Get a restore point collection, including the restore points contained in the restore point collection": { + "$ref": "./examples/compute/GetRestorePointCollectionWithContainedRestorePoints.json" + } + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorePointCollection" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections": { + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetVMs_ReimageAll", - "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.", + "operationId": "RestorePointCollections_List", + "description": "Gets the list of restore point collections in a resource group.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "instanceId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the resource group." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], + "x-ms-examples": { + "Gets the list of restore point collections in a resource group.": { + "$ref": "./examples/compute/GetRestorePointCollectionsInAResourceGroup.json" + } + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorePointCollectionListResult" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": { - "post": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/restorePointCollections": { + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "RestorePointCollections" ], - "operationId": "VirtualMachineScaleSetVMs_Deallocate", - "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.", + "operationId": "RestorePointCollections_ListAll", + "description": "Gets the list of restore point collections in the subscription. Use nextLink property in the response to get the next page of restore point collections. Do this till nextLink is not null to fetch all the restore point collections.", "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "instanceId", - "in": "path", - "required": true, - "type": "string", - "description": "The instance ID of the virtual machine." - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -3682,23 +3860,41 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RestorePointCollectionListResult" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Gets the list of restore point collections in a subscription": { + "$ref": "./examples/compute/GetRestorePointCollectionsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{restorePointName}": { "put": { - "tags": [ - "VirtualMachineScaleSetVMs" - ], - "operationId": "VirtualMachineScaleSetVMs_Update", - "description": "Updates a virtual machine of a VM scale set.", + "operationId": "RestorePoints_Create", + "description": "The operation to create the restore point. Updating properties of an existing restore point is not allowed", + "x-ms-examples": { + "Create a restore point": { + "$ref": "./examples/compute/CreateARestorePoint.json" + } + }, "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3707,58 +3903,55 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set where the extension should be create or updated." + "description": "The name of the restore point collection." }, { - "name": "instanceId", + "name": "restorePointName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the restore point." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVM" + "$ref": "#/definitions/RestorePoint" }, - "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation." + "description": "Parameters supplied to the Create restore point operation." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVM" + "$ref": "#/definitions/RestorePoint" } }, - "202": { - "description": "Accepted", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVM" + "$ref": "#/definitions/CloudError" } } }, "x-ms-long-running-operation": true }, "delete": { - "tags": [ - "VirtualMachineScaleSetVMs" - ], - "operationId": "VirtualMachineScaleSetVMs_Delete", - "description": "Deletes a virtual machine from a VM scale set.", + "operationId": "RestorePoints_Delete", + "description": "The operation to delete the restore point.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3767,24 +3960,21 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the Restore Point Collection." }, { - "name": "instanceId", + "name": "restorePointName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the restore point." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -3796,17 +3986,23 @@ }, "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true }, "get": { - "tags": [ - "VirtualMachineScaleSetVMs" - ], - "operationId": "VirtualMachineScaleSetVMs_Get", - "description": "Gets a virtual machine from a VM scale set.", + "operationId": "RestorePoints_Get", + "description": "The operation to get the restore point.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "name": "resourceGroupName", "in": "path", @@ -3815,43 +4011,51 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "restorePointCollectionName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the restore point collection." }, { - "name": "instanceId", + "name": "restorePointName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the restore point." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], + "x-ms-examples": { + "Get a restore point": { + "$ref": "./examples/compute/GetRestorePoint.json" + } + }, "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVM" + "$ref": "#/definitions/RestorePoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": { "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "VirtualMachines" ], - "operationId": "VirtualMachineScaleSetVMs_GetInstanceView", - "description": "Gets the status of a virtual machine from a VM scale set.", + "operationId": "VirtualMachines_ListAvailableSizes", + "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.", "parameters": [ { "name": "resourceGroupName", @@ -3861,18 +4065,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "instanceId", + "name": "vmName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the virtual machine." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3885,19 +4082,27 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView" + "$ref": "#/definitions/VirtualMachineSizeListResult" } } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "Lists all available virtual machine sizes to which the specified virtual machine can be resized": { + "$ref": "./examples/compute/ListAvailableVmSizes_VirtualMachines.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}": { + "put": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservationGroups" ], - "operationId": "VirtualMachineScaleSetVMs_List", - "description": "Gets a list of all virtual machines in a VM scale sets.", + "operationId": "CapacityReservationGroups_CreateOrUpdate", + "description": "The operation to create or update a capacity reservation group. When updating a capacity reservation group, only tags may be modified. Please refer to https://aka.ms/CapacityReservation for more details.", "parameters": [ { "name": "resourceGroupName", @@ -3907,32 +4112,20 @@ "description": "The name of the resource group." }, { - "name": "virtualMachineScaleSetName", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "The filter to apply to the operation." + "description": "The name of the capacity reservation group." }, { - "name": "$select", - "in": "query", - "required": false, - "type": "string", - "description": "The list parameters." - }, - { - "name": "$expand", - "in": "query", - "required": false, - "type": "string", - "description": "The expand expression to apply to the operation." + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CapacityReservationGroup" + }, + "description": "Parameters supplied to the Create capacity reservation Group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3945,23 +4138,34 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VirtualMachineScaleSetVMListResult" + "$ref": "#/definitions/CapacityReservationGroup" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CapacityReservationGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": { - "post": { + "x-ms-examples": { + "Create or update a capacity reservation group.": { + "$ref": "./examples/compute/CreateOrUpdateACapacityReservationGroup.json" + } + } + }, + "patch": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservationGroups" ], - "operationId": "VirtualMachineScaleSetVMs_PowerOff", - "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "operationId": "CapacityReservationGroups_Update", + "description": "The operation to update a capacity reservation group. When updating a capacity reservation group, only tags may be modified.", "parameters": [ { "name": "resourceGroupName", @@ -3971,18 +4175,20 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the capacity reservation group." }, { - "name": "instanceId", - "in": "path", + "name": "parameters", + "in": "body", "required": true, - "type": "string", - "description": "The instance ID of the virtual machine." + "schema": { + "$ref": "#/definitions/CapacityReservationGroupUpdate" + }, + "description": "Parameters supplied to the Update capacity reservation Group operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -3993,22 +4199,25 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservationGroup" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": { - "post": { + } + }, + "delete": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservationGroups" ], - "operationId": "VirtualMachineScaleSetVMs_Restart", - "description": "Restarts a virtual machine in a VM scale set.", + "operationId": "CapacityReservationGroups_Delete", + "description": "The operation to delete a capacity reservation group. This operation is allowed only if all the associated resources are disassociated from the reservation group and all capacity reservations under the reservation group have also been deleted. Please refer to https://aka.ms/CapacityReservation for more details.", "parameters": [ { "name": "resourceGroupName", @@ -4018,18 +4227,11 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." - }, - { - "name": "instanceId", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the capacity reservation group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -4042,20 +4244,23 @@ "200": { "description": "OK" }, - "202": { - "description": "Accepted" + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": { - "post": { + } + }, + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservationGroups" ], - "operationId": "VirtualMachineScaleSetVMs_Start", - "description": "Starts a virtual machine in a VM scale set.", + "operationId": "CapacityReservationGroups_Get", + "description": "The operation that retrieves information about a capacity reservation group.", "parameters": [ { "name": "resourceGroupName", @@ -4065,18 +4270,25 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the capacity reservation group." }, { - "name": "instanceId", - "in": "path", - "required": true, + "name": "$expand", + "in": "query", + "required": false, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the list of instance views of the capacity reservations under the capacity reservation group which is a snapshot of the runtime properties of a capacity reservation that is managed by the platform and can change outside of control plane operations.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "CapacityReservationGroupInstanceViewTypes", + "modelAsString": true + } }, { "$ref": "#/parameters/ApiVersionParameter" @@ -4087,22 +4299,32 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservationGroup" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Get a capacity reservation Group.": { + "$ref": "./examples/compute/GetACapacityReservationGroup.json" + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups": { + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservationGroups" ], - "operationId": "VirtualMachineScaleSetVMs_Redeploy", - "description": "Redeploys a virtual machine in a VM scale set.", + "operationId": "CapacityReservationGroups_ListByResourceGroup", + "description": "Lists all of the capacity reservation groups in the specified resource group. Use the nextLink property in the response to get the next page of capacity reservation groups.", "parameters": [ { "name": "resourceGroupName", @@ -4112,44 +4334,112 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the VM scale set." + "$ref": "#/parameters/ApiVersionParameter" }, { - "name": "instanceId", - "in": "path", - "required": true, + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The expand expression to apply on the operation. Based on the expand param(s) specified we return Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation group in the response.", + "enum": [ + "virtualMachineScaleSetVMs/$ref", + "virtualMachines/$ref" + ], + "x-ms-enum": { + "name": "ExpandTypesForGetCapacityReservationGroups", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservationGroupListResult" + } }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List capacity reservation groups in resource group.": { + "$ref": "./examples/compute/ListCapacityReservationGroupsInResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/capacityReservationGroups": { + "get": { + "tags": [ + "CapacityReservationGroups" + ], + "operationId": "CapacityReservationGroups_ListBySubscription", + "description": "Lists all of the capacity reservation groups in the subscription. Use the nextLink property in the response to get the next page of capacity reservation groups.", + "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. Based on the expand param(s) specified we return Virtual Machine or ScaleSet VM Instance or both resource Ids which are associated to capacity reservation group in the response.", + "enum": [ + "virtualMachineScaleSetVMs/$ref", + "virtualMachines/$ref" + ], + "x-ms-enum": { + "name": "ExpandTypesForGetCapacityReservationGroups", + "modelAsString": true + } } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservationGroupListResult" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "List capacity reservation groups in subscription.": { + "$ref": "./examples/compute/ListCapacityReservationGroupsInSubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}": { + "put": { "tags": [ - "VirtualMachineScaleSetVMs" + "CapacityReservations" ], - "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance", - "description": "Performs maintenance on a virtual machine in a VM scale set.", + "operationId": "CapacityReservations_CreateOrUpdate", + "description": "The operation to create or update a capacity reservation. Please note some properties can be set only during capacity reservation creation. Please refer to https://aka.ms/CapacityReservation for more details.", "parameters": [ { "name": "resourceGroupName", @@ -4159,18 +4449,27 @@ "description": "The name of the resource group." }, { - "name": "vmScaleSetName", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the VM scale set." + "description": "The name of the capacity reservation group." }, { - "name": "instanceId", + "name": "capacityReservationName", "in": "path", "required": true, "type": "string", - "description": "The instance ID of the virtual machine." + "description": "The name of the capacity reservation." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CapacityReservation" + }, + "description": "Parameters supplied to the Create capacity reservation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -4181,44 +4480,189 @@ ], "responses": { "200": { - "description": "OK" - }, - "202": { - "description": "Accepted" + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservation" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CapacityReservation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": { - "post": { - "tags": [ - "LogAnalytics" - ], - "operationId": "LogAnalytics_ExportRequestRateByInterval", "x-ms-examples": { - "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": { - "$ref": "./examples/LogAnalyticsRequestRateByInterval.json" + "Create or update a capacity reservation .": { + "$ref": "./examples/compute/CreateOrUpdateACapacityReservation.json" } }, - "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.", + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "CapacityReservations" + ], + "operationId": "CapacityReservations_Update", + "description": "The operation to update a capacity reservation.", "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "capacityReservationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation group." + }, + { + "name": "capacityReservationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation." + }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RequestRateByIntervalInput" + "$ref": "#/definitions/CapacityReservationUpdate" }, - "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api." + "description": "Parameters supplied to the Update capacity reservation operation." }, { - "name": "location", + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapacityReservation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CapacityReservations" + ], + "operationId": "CapacityReservations_Delete", + "description": "The operation to delete a capacity reservation. This operation is allowed only when all the associated resources are disassociated from the capacity reservation. Please refer to https://aka.ms/CapacityReservation for more details.", + "parameters": [ + { + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The location upon which virtual-machine-sizes is queried.", - "pattern": "^[-\\w\\._]+$" + "description": "The name of the resource group." + }, + { + "name": "capacityReservationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation group." + }, + { + "name": "capacityReservationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "CapacityReservations" + ], + "operationId": "CapacityReservations_Get", + "description": "The operation that retrieves information about the capacity reservation.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "capacityReservationGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation group." + }, + { + "name": "capacityReservationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the capacity reservation." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. 'InstanceView' retrieves a snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations.", + "enum": [ + "instanceView" + ], + "x-ms-enum": { + "name": "CapacityReservationInstanceViewTypes", + "modelAsString": true + } }, { "$ref": "#/parameters/ApiVersionParameter" @@ -4231,48 +4675,44 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogAnalyticsOperationResult" + "$ref": "#/definitions/CapacityReservation" } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" + "x-ms-examples": { + "Get a capacity reservation.": { + "$ref": "./examples/compute/GetACapacityReservation.json" + } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations": { + "get": { "tags": [ - "LogAnalytics" + "CapacityReservation" ], - "operationId": "LogAnalytics_ExportThrottledRequests", - "x-ms-examples": { - "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": { - "$ref": "./examples/LogAnalyticsThrottledRequests.json" - } - }, - "description": "Export logs that show total throttled Api requests for this subscription in the given time window.", + "operationId": "CapacityReservations_ListByCapacityReservationGroup", + "description": "Lists all of the capacity reservations in the specified capacity reservation group. Use the nextLink property in the response to get the next page of capacity reservations.", "parameters": [ { - "name": "parameters", - "in": "body", + "name": "resourceGroupName", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ThrottledRequestsInput" - }, - "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api." + "type": "string", + "description": "The name of the resource group." }, { - "name": "location", + "name": "capacityReservationGroupName", "in": "path", "required": true, "type": "string", - "description": "The location upon which virtual-machine-sizes is queried.", - "pattern": "^[-\\w\\._]+$" + "description": "The name of the capacity reservation group." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -4285,164 +4725,4885 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogAnalyticsOperationResult" + "$ref": "#/definitions/CapacityReservationListResult" } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "azure-async-operation" + "x-ms-examples": { + "List capacity reservations in reservation group.": { + "$ref": "./examples/compute/ListCapacityReservationsInReservationGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } - } - }, - "definitions": { - "ComputeOperationListResult": { - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/ComputeOperationValue" - }, - "description": "The list of compute operations" - } - }, - "description": "The List Compute Operation operation response." }, - "ComputeOperationValue": { - "properties": { - "origin": { - "type": "string", - "readOnly": true, - "description": "The origin of the compute operation." - }, - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the compute operation." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_PowerOff", + "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Reapply", + "description": "The operation to reapply a virtual machine's state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reapply the state of a virtual machine.": { + "$ref": "./examples/compute/ReapplyVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Restart", + "description": "The operation to restart a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Start", + "description": "The operation to start a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Redeploy", + "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_Reimage", + "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineReimageParameters" + }, + "description": "Parameters supplied to the Reimage Virtual Machine operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Reimage a Virtual Machine.": { + "$ref": "./examples/compute/ReimageVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_RetrieveBootDiagnosticsData", + "description": "The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "sasUriExpirationTimeInMinutes", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.

NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "RetrieveBootDiagnosticsData of a virtual machine.": { + "$ref": "./examples/compute/RetrieveBootDiagnosticsDataVirtualMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_PerformMaintenance", + "description": "The operation to perform maintenance on a virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_SimulateEviction", + "description": "The operation to simulate the eviction of spot virtual machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Simulate Eviction a virtual machine.": { + "$ref": "./examples/compute/SimulateEvictionOfVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_AssessPatches", + "x-ms-examples": { + "Assess patch state of a virtual machine.": { + "$ref": "./examples/compute/VirtualMachineAssessPatches.json" + } + }, + "description": "Assess patches on the VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineAssessPatchesResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/installPatches": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_InstallPatches", + "description": "Installs patches on the VM.", + "x-ms-examples": { + "Install patch state of a virtual machine.": { + "$ref": "./examples/compute/VirtualMachineInstallPatches.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "installPatchesInput", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineInstallPatchesParameters" + }, + "description": "Input for InstallPatches as directly received by the API" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineInstallPatchesResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": { + "put": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_CreateOrUpdate", + "description": "Create or update a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + }, + "description": "The scale set object." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create a scale set with password authentication.": { + "$ref": "./examples/compute/CreateAScaleSetWithPasswordAuthentication.json" + }, + "Create a scale set with ssh authentication.": { + "$ref": "./examples/compute/CreateAScaleSetWithSshAuthentication.json" + }, + "Create a scale set with premium storage.": { + "$ref": "./examples/compute/CreateAScaleSetWithPremiumStorage.json" + }, + "Create a scale set with empty data disks on each vm.": { + "$ref": "./examples/compute/CreateAScaleSetWithEmptyDataDisksOnEachVm.json" + }, + "Create a scale set with an azure load balancer.": { + "$ref": "./examples/compute/CreateAScaleSetWithAnAzureLoadBalancer.json" + }, + "Create a scale set with an azure application gateway.": { + "$ref": "./examples/compute/CreateAScaleSetWithAnAzureApplicationGateway.json" + }, + "Create a scale set with boot diagnostics.": { + "$ref": "./examples/compute/CreateAScaleSetWithBootDiagnostics.json" + }, + "Create a scale set with managed boot diagnostics.": { + "$ref": "./examples/compute/CreateAScaleSetWithManagedBootDiagnostics.json" + }, + "Create a scale set with a marketplace image plan.": { + "$ref": "./examples/compute/CreateAScaleSetWithAMarketplaceImagePlan.json" + }, + "Create a scale set from a custom image.": { + "$ref": "./examples/compute/CreateAScaleSetFromACustomImage.json" + }, + "Create a platform-image scale set with unmanaged os disks.": { + "$ref": "./examples/compute/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json" + }, + "Create a custom-image scale set from an unmanaged generalized os image.": { + "$ref": "./examples/compute/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json" + }, + "Create a scale set with virtual machines in different zones.": { + "$ref": "./examples/compute/CreateAScaleSetWithVMsInDifferentZones.json" + }, + "Create a scale set with ephemeral os disks.": { + "$ref": "./examples/compute/CreateAScaleSetWithDiffOsDisk.json" + }, + "Create a scale set with terminate scheduled events enabled.": { + "$ref": "./examples/compute/CreateAScaleSetWithTerminateScheduledEventEnabled.json" + }, + "Create a scale set with automatic repairs enabled": { + "$ref": "./examples/compute/CreateAScaleSetWithAutomaticRepairs.json" + }, + "Create a scale set with DiskEncryptionSet resource in os disk and data disk.": { + "$ref": "./examples/compute/CreateAScalesetWithDiskEncryptionSetResource.json" + }, + "Create a scale set with ephemeral os disks using placement property.": { + "$ref": "./examples/compute/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json" + }, + "Create a scale set with extension time budget.": { + "$ref": "./examples/compute/CreateAScaleSetWithExtensionsTimeBudget.json" + }, + "Create a scale set with Host Encryption using encryptionAtHost property.": { + "$ref": "./examples/compute/CreateAScaleSetWithEncryptionAtHost.json" + }, + "Create a scale set with Fpga Network Interfaces.": { + "$ref": "./examples/compute/CreateAScaleSetFromWithFpgaNetworkInterface.json" + }, + "Create a scale set with Uefi Settings of secureBoot and vTPM.": { + "$ref": "./examples/compute/CreateAScaleSetWithUefiSettings.json" + }, + "Create a scale set from a generalized shared image.": { + "$ref": "./examples/compute/CreateAScaleSetFromAGeneralizedSharedImage.json" + }, + "Create a scale set from a specialized shared image.": { + "$ref": "./examples/compute/CreateAScaleSetFromASpecializedSharedImage.json" + }, + "Create a scale set with userData.": { + "$ref": "./examples/compute/CreateOrUpdateAScaleSetWithUserData.json" + }, + "Create a scale set with Application Profile": { + "$ref": "./examples/compute/CreateAScaleSetWithApplicationProfile.json" + }, + "Create a scale set with scaleInPolicy.": { + "$ref": "./examples/compute/CreateAScaleSetWithScaleInPolicy.json" + }, + "Create a VMSS with an extension that has suppressFailures enabled": { + "$ref": "./examples/compute/CreateAScaleSetWithExtensionsSuppressFailuresEnabled.json" + }, + "Create or update a scale set with capacity reservation.": { + "$ref": "./examples/compute/CreateOrUpdateAScaleSetWithCapacityReservation.json" + }, + "Create a scale set with spot restore policy": { + "$ref": "./examples/compute/CreateAScaleSetWithSpotRestorePolicy.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Update", + "description": "Update a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetUpdate" + }, + "description": "The scale set object." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Delete", + "description": "Deletes a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "forceDeletion", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to force delete a VM scale set. (Feature in Preview)" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Force Delete a VM scale set.": { + "$ref": "./examples/compute/ForceDeleteVirtualMachineScaleSets.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Get", + "description": "Display information about a virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. 'UserData' retrieves the UserData property of the VM scale set that was provided by the user during the VM scale set Create/Update operation", + "enum": [ + "userData" + ], + "x-ms-enum": { + "name": "ExpandTypesForGetVMScaleSets", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSet" + } + } + }, + "x-ms-examples": { + "Get a virtual machine scale set placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/compute/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json" + }, + "Get a virtual machine scale set with UserData": { + "$ref": "./examples/compute/GetVirtualMachineScaleSetWithUserData.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Deallocate", + "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_DeleteInstances", + "description": "Deletes virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "name": "forceDeletion", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to force delete virtual machines from the VM scale set. (Feature in Preview)" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_GetInstanceView", + "description": "Gets the status of a VM scale set instance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetInstanceView" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_List", + "description": "Gets a list of all VM scale sets under a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate", + "description": "The operation to create or update an extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be create or updated." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + }, + "description": "Parameters supplied to the Create VM scale set Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Update", + "description": "The operation to update an extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be updated." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionUpdate" + }, + "description": "Parameters supplied to the Update VM scale set Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Delete", + "description": "The operation to delete the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be deleted." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_Get", + "description": "The operation to get the extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set containing the extension." + }, + { + "name": "vmssExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtension" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": { + "get": { + "tags": [ + "VirtualMachineScaleSetExtensions" + ], + "operationId": "VirtualMachineScaleSetExtensions_List", + "description": "Gets a list of all extensions in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set containing the extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ListAll", + "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ListSkus", + "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": { + "get": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory", + "description": "Gets list of OS upgrades on a VM scale set instance.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_PowerOff", + "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Restart", + "description": "Restarts one or more virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Start", + "description": "Starts one or more virtual machines in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Redeploy", + "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_PerformMaintenance", + "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_UpdateInstances", + "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_Reimage", + "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmScaleSetReimageInput", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters" + }, + "description": "Parameters for Reimaging VM ScaleSet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ReimageAll", + "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "vmInstanceIDs", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs" + }, + "description": "A list of virtual machine instance IDs from the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel", + "description": "Cancels the current virtual machine scale set rolling upgrade.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade", + "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": { + "post": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade", + "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start an extension rolling upgrade.": { + "$ref": "./examples/compute/VMScaleSetExtensionRollingUpgrade.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": { + "get": { + "tags": [ + "VirtualMachineScaleSetRollingUpgrades" + ], + "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest", + "description": "Gets the status of the latest virtual machine scale set rolling upgrade.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RollingUpgradeStatusInfo" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk", + "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "platformUpdateDomain", + "in": "query", + "required": true, + "type": "integer", + "description": "The platform update domain for which a manual recovery walk is requested" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryWalkResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup", + "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VMScaleSetConvertToSinglePlacementGroupInput" + }, + "description": "The input object for ConvertToSinglePlacementGroup API." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/setOrchestrationServiceState": { + "post": { + "tags": [ + "VirtualMachineScaleSets" + ], + "operationId": "VirtualMachineScaleSets_SetOrchestrationServiceState", + "description": "Changes ServiceState property for a given service", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine scale set to create or update." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/OrchestrationServiceStateInput" + }, + "description": "The input object for SetOrchestrationServiceState API." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_CreateOrUpdate", + "description": "The operation to create or update the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + }, + "description": "Parameters supplied to the Create Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/compute/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Update", + "description": "The operation to update the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "extensionParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine Extension operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/compute/UpdateVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Delete", + "description": "The operation to delete the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/compute/DeleteVirtualMachineScaleSetVMExtensions.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_Get", + "description": "The operation to get the VMSS VM extension.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmExtensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine extension." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get VirtualMachineScaleSet VM extension.": { + "$ref": "./examples/compute/GetVirtualMachineScaleSetVMExtensions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMExtensions" + ], + "operationId": "VirtualMachineScaleSetVMExtensions_List", + "description": "The operation to get all extensions of an instance in Virtual Machine Scaleset.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List extensions in Vmss instance.": { + "$ref": "./examples/compute/ListVirtualMachineScaleSetVMExtensions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Reimage", + "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "vmScaleSetVMReimageInput", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters" + }, + "description": "Parameters for the Reimaging Virtual machine in ScaleSet." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_ReimageAll", + "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Deallocate", + "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Update", + "description": "Updates a virtual machine of a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set where the extension should be create or updated." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + }, + "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Delete", + "description": "Deletes a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "forceDeletion", + "in": "query", + "required": false, + "type": "boolean", + "description": "Optional parameter to force delete a virtual machine from a VM scale set. (Feature in Preview)" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Force Delete a virtual machine from a VM scale set.": { + "$ref": "./examples/compute/ForceDeleteVirtualMachineScaleSetVM.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Get", + "description": "Gets a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation. 'InstanceView' will retrieve the instance view of the virtual machine. 'UserData' will retrieve the UserData of the virtual machine.", + "enum": [ + "instanceView", + "userData" + ], + "x-ms-enum": { + "name": "InstanceViewTypes", + "modelAsString": false + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVM" + } + } + }, + "x-ms-examples": { + "Get VM scale set VM with UserData": { + "$ref": "./examples/compute/GetVirtualMachineScaleSetVMWithUserData.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_GetInstanceView", + "description": "Gets the status of a virtual machine from a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView" + } + } + }, + "x-ms-examples": { + "Get instance view of a virtual machine from a VM scale set placed on a dedicated host group through automatic placement.": { + "$ref": "./examples/compute/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": { + "get": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_List", + "description": "Gets a list of all virtual machines in a VM scale sets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualMachineScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply to the operation. Allowed values are 'startswith(instanceView/statuses/code, 'PowerState') eq true', 'properties/latestModelApplied eq true', 'properties/latestModelApplied eq false'." + }, + { + "name": "$select", + "in": "query", + "required": false, + "type": "string", + "description": "The list parameters. Allowed values are 'instanceView', 'instanceView/statuses'." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineScaleSetVMListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_PowerOff", + "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "skipShutdown", + "in": "query", + "required": false, + "type": "boolean", + "default": false, + "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Restart", + "description": "Restarts a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Start", + "description": "Starts a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_Redeploy", + "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/retrieveBootDiagnosticsData": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_RetrieveBootDiagnosticsData", + "description": "The operation to retrieve SAS URIs of boot diagnostic logs for a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "sasUriExpirationTimeInMinutes", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.

NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "RetrieveBootDiagnosticsData of a virtual machine.": { + "$ref": "./examples/compute/RetrieveBootDiagnosticsDataVMScaleSetVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance", + "description": "Performs maintenance on a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/simulateEviction": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_SimulateEviction", + "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Simulate Eviction a virtual machine.": { + "$ref": "./examples/compute/SimulateEvictionOfVmssVM.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": { + "post": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_ExportRequestRateByInterval", + "x-ms-examples": { + "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": { + "$ref": "./examples/compute/LogAnalyticsRequestRateByInterval.json" + } + }, + "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RequestRateByIntervalInput" + }, + "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogAnalyticsOperationResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": { + "post": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_ExportThrottledRequests", + "x-ms-examples": { + "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": { + "$ref": "./examples/compute/LogAnalyticsThrottledRequests.json" + } + }, + "description": "Export logs that show total throttled Api requests for this subscription in the given time window.", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ThrottledRequestsInput" + }, + "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which virtual-machine-sizes is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogAnalyticsOperationResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "RestorePointCollectionSourceProperties": { + "properties": { + "location": { + "type": "string", + "readOnly": true, + "description": "Location of the source resource used to create this restore point collection." + }, + "id": { + "type": "string", + "description": "Resource Id of the source resource used to create this restore point collection" + } + }, + "description": "The properties of the source resource that this restore point collection is created from." + }, + "RestorePointCollectionProperties": { + "properties": { + "source": { + "$ref": "#/definitions/RestorePointCollectionSourceProperties" + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioning state of the restore point collection." + }, + "restorePointCollectionId": { + "type": "string", + "readOnly": true, + "description": "The unique id of the restore point collection." + }, + "restorePoints": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RestorePoint" + }, + "description": "A list containing all restore points created under this restore point collection." + } + }, + "description": "The restore point collection properties." + }, + "RestorePointCollection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RestorePointCollectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Create or update Restore Point collection parameters." + }, + "RestorePointCollectionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RestorePointCollectionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Update Restore Point collection parameters." + }, + "RestorePointCollectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RestorePointCollection" + }, + "description": "Gets the list of restore point collections." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of RestorePointCollections. Call ListNext() with this to fetch the next page of RestorePointCollections" + } + }, + "description": "The List restore point collection operation response." + }, + "RestorePointSourceMetadata": { + "properties": { + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "Gets the hardware profile." + }, + "storageProfile": { + "$ref": "#/definitions/RestorePointSourceVMStorageProfile", + "description": "Gets the storage profile." + }, + "osProfile": { + "$ref": "#/definitions/OSProfile", + "description": "Gets the OS profile." + }, + "diagnosticsProfile": { + "$ref": "#/definitions/DiagnosticsProfile", + "description": "Gets the diagnostics profile." + }, + "licenseType": { + "type": "string", + "description": "Gets the license type, which is for bring your own license scenario." + }, + "vmId": { + "type": "string", + "description": "Gets the virtual machine unique id." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Gets the security profile." + }, + "location": { + "type": "string", + "description": "Location of the VM from which the restore point was created." + } + }, + "description": "Describes the properties of the Virtual Machine for which the restore point was created. The properties provided are a subset and the snapshot of the overall Virtual Machine properties captured at the time of the restore point creation." + }, + "RestorePointSourceVMStorageProfile": { + "properties": { + "osDisk": { + "$ref": "#/definitions/RestorePointSourceVMOSDisk", + "description": "Gets the OS disk of the VM captured at the time of the restore point creation." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/RestorePointSourceVMDataDisk" + }, + "description": "Gets the data disks of the VM captured at the time of the restore point creation." + } + }, + "description": "Describes the storage profile." + }, + "RestorePointSourceVMOSDisk": { + "properties": { + "osType": { + "type": "string", + "description": "Gets the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemType", + "modelAsString": true + } + }, + "encryptionSettings": { + "$ref": "#/definitions/DiskEncryptionSettings", + "description": "Gets the disk encryption settings." + }, + "name": { + "type": "string", + "description": "Gets the disk name." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Gets the caching type." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Gets the disk size in GB." + }, + "managedDisk": { + "$ref": "#/definitions/ManagedDiskParameters", + "description": "Gets the managed disk details" + }, + "diskRestorePoint": { + "$ref": "#/definitions/ApiEntityReference", + "description": "Gets the disk restore point Id." + } + }, + "description": "Describes an Operating System disk." + }, + "RestorePointSourceVMDataDisk": { + "properties": { + "lun": { + "type": "integer", + "format": "int32", + "description": "Gets the logical unit number." + }, + "name": { + "type": "string", + "description": "Gets the disk name." + }, + "caching": { + "$ref": "#/definitions/Caching", + "description": "Gets the caching type." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Gets the initial disk size in GB for blank data disks, and the new desired size for existing OS and Data disks." + }, + "managedDisk": { + "$ref": "#/definitions/ManagedDiskParameters", + "description": "Gets the managed disk details" + }, + "diskRestorePoint": { + "$ref": "#/definitions/ApiEntityReference", + "description": "Gets the disk restore point Id." + } + }, + "description": "Describes a data disk." + }, + "RestorePointProvisioningDetails": { + "properties": { + "creationTime": { + "type": "string", + "format": "date-time", + "description": "Gets the creation time of the restore point." + }, + "totalUsedSizeInBytes": { + "type": "integer", + "format": "int64", + "description": "Gets the total size of the data in all the disks which are part of the restore point." + }, + "statusCode": { + "type": "integer", + "format": "int32", + "description": "Gets the status of the Create restore point operation." + }, + "statusMessage": { + "type": "string", + "description": "Gets the status message of the Create restore point operation." + } + }, + "description": "Restore Point Provisioning details." + }, + "RestorePoint": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RestorePointProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "description": "Restore Point details." + }, + "RestorePointProperties": { + "type": "object", + "properties": { + "excludeDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiEntityReference" + }, + "description": "List of disk resource ids that the customer wishes to exclude from the restore point. If no disks are specified, all disks will be included." + }, + "sourceMetadata": { + "readOnly": true, + "$ref": "#/definitions/RestorePointSourceMetadata", + "description": "Gets the details of the VM captured at the time of the restore point creation." + }, + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Gets the provisioning state of the restore point." + }, + "consistencyMode": { + "type": "string", + "readOnly": true, + "enum": [ + "CrashConsistent", + "FileSystemConsistent", + "ApplicationConsistent" + ], + "x-ms-enum": { + "name": "ConsistencyModeTypes", + "modelAsString": true + }, + "description": "Gets the consistency mode for the restore point. Please refer to https://aka.ms/RestorePoints for more details." + }, + "provisioningDetails": { + "$ref": "#/definitions/RestorePointProvisioningDetails", + "readOnly": true, + "description": "Gets the provisioning details set by the server during Create restore point operation." + } + }, + "description": "The restore point properties." + }, + "ComputeOperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ComputeOperationValue" + }, + "description": "The list of compute operations" + } + }, + "description": "The List Compute Operation operation response." + }, + "ComputeOperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the compute operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the compute operation." }, "display": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ComputeOperationValueDisplay" + "$ref": "#/definitions/ComputeOperationValueDisplay" + } + }, + "description": "Describes the properties of a Compute Operation value." + }, + "ComputeOperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the compute operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Compute Operation Value Display." + }, + "DisallowedConfiguration": { + "properties": { + "vmDiskType": { + "type": "string", + "description": "VM disk types which are disallowed.", + "enum": [ + "None", + "Unmanaged" + ], + "x-ms-enum": { + "name": "VmDiskTypes", + "modelAsString": true + } + } + }, + "description": "Specifies the disallowed configuration for a virtual machine image." + }, + "RetrieveBootDiagnosticsDataResult": { + "properties": { + "consoleScreenshotBlobUri": { + "type": "string", + "readOnly": true, + "description": "The console screenshot blob URI" + }, + "serialConsoleLogBlobUri": { + "type": "string", + "readOnly": true, + "description": "The serial console log blob URI." + } + }, + "description": "The SAS URIs of the console screenshot and serial log blobs." + }, + "HyperVGenerationType": { + "type": "string", + "description": "Specifies the HyperVGeneration Type", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGenerationTypes", + "modelAsString": true + } + }, + "InstanceViewStatus": { + "properties": { + "code": { + "type": "string", + "description": "The status code." + }, + "level": { + "type": "string", + "description": "The level code.", + "enum": [ + "Info", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "StatusLevelTypes", + "modelAsString": false + } + }, + "displayStatus": { + "type": "string", + "description": "The short localizable label for the status." + }, + "message": { + "type": "string", + "description": "The detailed status message, including for alerts and error messages." + }, + "time": { + "type": "string", + "format": "date-time", + "description": "The time of the status." + } + }, + "description": "Instance view status." + }, + "AvailabilitySetProperties": { + "properties": { + "platformUpdateDomainCount": { + "type": "integer", + "format": "int32", + "description": "Update Domain count." + }, + "platformFaultDomainCount": { + "type": "integer", + "format": "int32", + "description": "Fault Domain count." + }, + "virtualMachines": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "A list of references to all virtual machines in the availability set." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the availability set should be assigned to.

Minimum api-version: 2018-04-01." + }, + "statuses": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a resource." + }, + "AvailabilitySetSkuType": { + "type": "string", + "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.", + "enum": [ + "Classic", + "Aligned" + ], + "x-ms-enum": { + "name": "AvailabilitySetSkuTypes", + "modelAsString": true + } + }, + "AvailabilitySet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailabilitySetProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).

For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + }, + "AvailabilitySetUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AvailabilitySetProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "Sku of the availability set" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated." + }, + "AvailabilitySetListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AvailabilitySet" + }, + "description": "The list of availability sets" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets." + } + }, + "required": [ + "value" + ], + "description": "The List Availability Set operation response." + }, + "SubResourceWithColocationStatus": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "colocationStatus": { + "$ref": "#/definitions/InstanceViewStatus", + "description": "Describes colocation status of a resource in the Proximity Placement Group." + } + } + }, + "ProximityPlacementGroupProperties": { + "properties": { + "proximityPlacementGroupType": { + "type": "string", + "description": "Specifies the type of the proximity placement group.

Possible values are:

**Standard** : Co-locate resources within an Azure region or Availability Zone.

**Ultra** : For future use.", + "enum": [ + "Standard", + "Ultra" + ], + "x-ms-enum": { + "name": "ProximityPlacementGroupType", + "modelAsString": true + } + }, + "virtualMachines": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all virtual machines in the proximity placement group." + }, + "virtualMachineScaleSets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all virtual machine scale sets in the proximity placement group." + }, + "availabilitySets": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceWithColocationStatus" + }, + "description": "A list of references to all availability sets in the proximity placement group." + }, + "colocationStatus": { + "$ref": "#/definitions/InstanceViewStatus", + "description": "Describes colocation status of the Proximity Placement Group." + } + }, + "description": "Describes the properties of a Proximity Placement Group." + }, + "ProximityPlacementGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProximityPlacementGroupProperties", + "description": "Describes the properties of a Proximity Placement Group." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupUpdate": { + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the proximity placement group." + }, + "ProximityPlacementGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProximityPlacementGroup" + }, + "description": "The list of proximity placement groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of proximity placement groups." + } + }, + "required": [ + "value" + ], + "description": "The List Proximity Placement Group operation response." + }, + "DedicatedHostGroupInstanceView": { + "properties": { + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostInstanceViewWithName" + }, + "description": "List of instance view of the dedicated hosts under the dedicated host group." + } + } + }, + "DedicatedHostGroupProperties": { + "properties": { + "platformFaultDomainCount": { + "type": "integer", + "format": "int32", + "minimum": 1, + "description": "Number of fault domains that the host group can span." + }, + "hosts": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of references to all dedicated hosts in the dedicated host group." + }, + "instanceView": { + "$ref": "#/definitions/DedicatedHostGroupInstanceView", + "readOnly": true, + "description": "The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group." + }, + "supportAutomaticPlacement": { + "type": "boolean", + "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'false' when not provided.

Minimum api-version: 2020-06-01." + } + }, + "required": [ + "platformFaultDomainCount" + ], + "description": "Dedicated Host Group Properties." + }, + "DedicatedHostGroup": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the dedicated host group that the dedicated hosts should be assigned to.

Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group." + }, + "DedicatedHostGroupUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostGroupProperties" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated." + }, + "DedicatedHostGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostGroup" + }, + "description": "The list of dedicated host groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups." + } + }, + "required": [ + "value" + ], + "description": "The List Dedicated Host Group with resource group response." + }, + "DedicatedHostLicenseType": { + "type": "string", + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

Possible values are:

**None**

**Windows_Server_Hybrid**

**Windows_Server_Perpetual**

Default: **None**", + "enum": [ + "None", + "Windows_Server_Hybrid", + "Windows_Server_Perpetual" + ], + "x-ms-enum": { + "name": "DedicatedHostLicenseTypes", + "modelAsString": false + } + }, + "DedicatedHostAllocatableVM": { + "properties": { + "vmSize": { + "type": "string", + "description": "VM size in terms of which the unutilized capacity is represented." + }, + "count": { + "type": "number", + "format": "double", + "description": "Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity." + } + }, + "description": "Represents the dedicated host unutilized capacity in terms of a specific VM size." + }, + "DedicatedHostAvailableCapacity": { + "properties": { + "allocatableVMs": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHostAllocatableVM" + }, + "description": "The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host." + } + }, + "description": "Dedicated host unutilized capacity." + }, + "DedicatedHostInstanceView": { + "properties": { + "assetId": { + "readOnly": true, + "type": "string", + "description": "Specifies the unique id of the dedicated physical machine on which the dedicated host resides." + }, + "availableCapacity": { + "$ref": "#/definitions/DedicatedHostAvailableCapacity", + "description": "Unutilized capacity of the dedicated host." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a dedicated host." + }, + "DedicatedHostInstanceViewWithName": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the dedicated host." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DedicatedHostInstanceView" + } + ], + "description": "The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group." + }, + "DedicatedHostProperties": { + "properties": { + "platformFaultDomain": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "Fault domain of the dedicated host within a dedicated host group." + }, + "autoReplaceOnFailure": { + "type": "boolean", + "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided." + }, + "hostId": { + "readOnly": true, + "type": "string", + "description": "A unique id generated and assigned to the dedicated host by the platform.

Does not change throughout the lifetime of the host." + }, + "virtualMachines": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of references to all virtual machines in the Dedicated Host." + }, + "licenseType": { + "$ref": "#/definitions/DedicatedHostLicenseType", + "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.

Possible values are:

**None**

**Windows_Server_Hybrid**

**Windows_Server_Perpetual**

Default: **None**" + }, + "provisioningTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date when the host was first provisioned." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/DedicatedHostInstanceView", + "readOnly": true, + "description": "The dedicated host instance view." + } + }, + "description": "Properties of the dedicated host." + }, + "DedicatedHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ], + "description": "Specifies information about the Dedicated host." + }, + "DedicatedHostUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DedicatedHostProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated." + }, + "DedicatedHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DedicatedHost" + }, + "description": "The list of dedicated hosts" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts." + } + }, + "required": [ + "value" + ], + "description": "The list dedicated host operation response." + }, + "CapacityReservationGroupInstanceView": { + "type": "object", + "properties": { + "capacityReservations": { + "type": "array", + "items": { + "$ref": "#/definitions/CapacityReservationInstanceViewWithName" + }, + "readOnly": true, + "description": "List of instance view of the capacity reservations under the capacity reservation group." + } + } + }, + "CapacityReservationGroupProperties": { + "type": "object", + "properties": { + "capacityReservations": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of all capacity reservation resource ids that belong to capacity reservation group." + }, + "virtualMachinesAssociated": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of references to all virtual machines associated to the capacity reservation group." + }, + "instanceView": { + "$ref": "#/definitions/CapacityReservationGroupInstanceView", + "readOnly": true, + "description": "The capacity reservation group instance view which has the list of instance views for all the capacity reservations that belong to the capacity reservation group." + } + }, + "description": "capacity reservation group Properties." + }, + "CapacityReservationGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CapacityReservationGroupProperties" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zones to use for this capacity reservation group. The zones can be assigned only during creation. If not provided, the group supports only regional resources in the region. If provided, enforces each capacity reservation in the group to be in one of the zones." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the capacity reservation group that the capacity reservations should be assigned to.

Currently, a capacity reservation can only be added to a capacity reservation group at creation time. An existing capacity reservation cannot be added or moved to another capacity reservation group." + }, + "CapacityReservationGroupUpdate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CapacityReservationGroupProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the capacity reservation group. Only tags can be updated." + }, + "CapacityReservationGroupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CapacityReservationGroup" + }, + "description": "The list of capacity reservation groups" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of capacity reservation groups. Call ListNext() with this URI to fetch the next page of capacity reservation groups." + } + }, + "required": [ + "value" + ], + "description": "The List capacity reservation group with resource group response." + }, + "CapacityReservationInstanceView": { + "type": "object", + "properties": { + "utilizationInfo": { + "$ref": "#/definitions/CapacityReservationUtilization", + "description": "Unutilized capacity of the capacity reservation." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a capacity reservation that provides as snapshot of the runtime properties of the capacity reservation that is managed by the platform and can change outside of control plane operations." + }, + "CapacityReservationUtilization": { + "type": "object", + "properties": { + "virtualMachinesAllocated": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of all virtual machines resource ids allocated against the capacity reservation." + } + }, + "description": "Represents the capacity reservation utilization in terms of resources allocated." + }, + "CapacityReservationInstanceViewWithName": { + "type": "object", + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the capacity reservation." + } + }, + "allOf": [ + { + "$ref": "#/definitions/CapacityReservationInstanceView" + } + ], + "description": "The instance view of a capacity reservation that includes the name of the capacity reservation. It is used for the response to the instance view of a capacity reservation group." + }, + "CapacityReservationProperties": { + "type": "object", + "properties": { + "reservationId": { + "readOnly": true, + "type": "string", + "description": "A unique id generated and assigned to the capacity reservation by the platform which does not change throughout the lifetime of the resource." + }, + "virtualMachinesAssociated": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResourceReadOnly" + }, + "readOnly": true, + "description": "A list of all virtual machine resource ids that are associated with the capacity reservation." + }, + "provisioningTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The date time when the capacity reservation was last updated." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/CapacityReservationInstanceView", + "readOnly": true, + "description": "The Capacity reservation instance view." + } + }, + "description": "Properties of the Capacity reservation." + }, + "CapacityReservation": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CapacityReservationProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Availability Zone to use for this capacity reservation. The zone has to be single value and also should be part for the list of zones specified during the capacity reservation group creation. The zone can be assigned only during creation. If not provided, the reservation supports only non-zonal deployments. If provided, enforces VM/VMSS using this capacity reservation to be in same zone." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "required": [ + "sku" + ], + "description": "Specifies information about the capacity reservation." + }, + "CapacityReservationUpdate": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CapacityReservationProperties" + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the resource for which capacity needs be reserved. The SKU name and capacity is required to be set. Currently VM Skus with the capability called 'CapacityReservationSupported' set to true are supported. Refer to List Microsoft.Compute SKUs in a region (https://docs.microsoft.com/rest/api/compute/resourceskus/list) for supported values." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the capacity reservation. Only tags and sku.capacity can be updated." + }, + "CapacityReservationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/CapacityReservation" + }, + "description": "The list of capacity reservations" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of capacity reservations. Call ListNext() with this URI to fetch the next page of capacity reservations." + } + }, + "required": [ + "value" + ], + "description": "The list capacity reservation operation response." + }, + "SshPublicKeyGenerateKeyPairResult": { + "properties": { + "privateKey": { + "type": "string", + "description": "Private key portion of the key pair used to authenticate to a virtual machine through ssh. The private key is returned in RFC3447 format and should be treated as a secret." + }, + "publicKey": { + "type": "string", + "description": "Public key portion of the key pair used to authenticate to a virtual machine through ssh. The public key is in ssh-rsa format." + }, + "id": { + "type": "string", + "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{SshPublicKeyName}" + } + }, + "required": [ + "privateKey", + "publicKey", + "id" + ], + "description": "Response from generation of an SSH key pair." + }, + "SshPublicKeyResourceProperties": { + "properties": { + "publicKey": { + "type": "string", + "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format." + } + }, + "description": "Properties of the SSH public key." + }, + "SshPublicKeyResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SshPublicKeyResourceProperties", + "description": "Properties of the SSH public key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Specifies information about the SSH public key." + }, + "SshPublicKeyUpdateResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SshPublicKeyResourceProperties", + "description": "Properties of the SSH public key." + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Specifies information about the SSH public key." + }, + "SshPublicKeysGroupListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKeyResource" + }, + "description": "The list of SSH public keys" + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of SSH public keys. Call ListNext() with this URI to fetch the next page of SSH public keys." + } + }, + "required": [ + "value" + ], + "description": "The list SSH public keys operation response." + }, + "VirtualMachineSize": { + "properties": { + "name": { + "type": "string", + "description": "The name of the virtual machine size." + }, + "numberOfCores": { + "type": "integer", + "format": "int32", + "description": "The number of cores supported by the virtual machine size. For Constrained vCPU capable VM sizes, this number represents the total vCPUs of quota that the VM uses. For accurate vCPU count, please refer to https://docs.microsoft.com/azure/virtual-machines/constrained-vcpu or https://docs.microsoft.com/rest/api/compute/resourceskus/list" + }, + "osDiskSizeInMB": { + "type": "integer", + "format": "int32", + "description": "The OS disk size, in MB, allowed by the virtual machine size." + }, + "resourceDiskSizeInMB": { + "type": "integer", + "format": "int32", + "description": "The resource disk size, in MB, allowed by the virtual machine size." + }, + "memoryInMB": { + "type": "integer", + "format": "int32", + "description": "The amount of memory, in MB, supported by the virtual machine size." + }, + "maxDataDiskCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of data disks that can be attached to the virtual machine size." + } + }, + "description": "Describes the properties of a VM size." + }, + "VirtualMachineSizeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineSize" + }, + "description": "The list of virtual machine sizes." + } + }, + "description": "The List Virtual Machine operation response." + }, + "VirtualMachineExtensionImageProperties": { + "properties": { + "operatingSystem": { + "type": "string", + "description": "The operating system this extension supports." + }, + "computeRole": { + "type": "string", + "description": "The type of role (IaaS or PaaS) this extension supports." + }, + "handlerSchema": { + "type": "string", + "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema." + }, + "vmScaleSetEnabled": { + "type": "boolean", + "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS." + }, + "supportsMultipleExtensions": { + "type": "boolean", + "description": "Whether the handler can support multiple extensions." + } + }, + "required": [ + "operatingSystem", + "computeRole", + "handlerSchema" + ], + "description": "Describes the properties of a Virtual Machine Extension Image." + }, + "VirtualMachineExtensionImage": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionImageProperties" + } + }, + "required": [ + "name", + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine Extension Image." + }, + "VirtualMachineImageResource": { + "properties": { + "name": { + "type": "string", + "description": "The name of the resource." + }, + "location": { + "type": "string", + "description": "The supported Azure location of the resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." } }, - "description": "Describes the properties of a Compute Operation value." + "required": [ + "name", + "location" + ], + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Virtual machine image resource information." }, - "ComputeOperationValueDisplay": { + "VirtualMachineExtensionInstanceView": { "properties": { - "operation": { + "name": { "type": "string", - "readOnly": true, - "description": "The display name of the compute operation." + "description": "The virtual machine extension name." }, - "resource": { + "type": { "type": "string", - "readOnly": true, - "description": "The display name of the resource the operation applies to." + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." }, - "description": { + "typeHandlerVersion": { "type": "string", - "readOnly": true, - "description": "The description of the operation." + "description": "Specifies the version of the script handler." }, - "provider": { - "type": "string", - "readOnly": true, - "description": "The resource provider for the operation." + "substatuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." } }, - "description": "Describes the properties of a Compute Operation Value Display." + "description": "The instance view of a virtual machine extension." }, - "InstanceViewStatus": { + "VirtualMachineExtensionProperties": { "properties": { - "code": { + "forceUpdateTag": { "type": "string", - "description": "The status code." + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, - "level": { + "publisher": { "type": "string", - "description": "The level code.", - "enum": [ - "Info", - "Warning", - "Error" - ], - "x-ms-enum": { - "name": "StatusLevelTypes", - "modelAsString": false - } + "description": "The name of the extension handler publisher." }, - "displayStatus": { + "type": { "type": "string", - "description": "The short localizable label for the status." + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." }, - "message": { + "typeHandlerVersion": { "type": "string", - "description": "The detailed status message, including for alerts and error messages." + "description": "Specifies the version of the script handler." }, - "time": { + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "provisioningState": { + "readOnly": true, "type": "string", - "format": "date-time", - "description": "The time of the status." + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "$ref": "#/definitions/VirtualMachineExtensionInstanceView", + "description": "The virtual machine extension instance view." + }, + "suppressFailures": { + "type": "boolean", + "description": "Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false." } }, - "description": "Instance view status." + "description": "Describes the properties of a Virtual Machine Extension." }, - "AvailabilitySetProperties": { + "VirtualMachineExtensionUpdateProperties": { "properties": { - "platformUpdateDomainCount": { - "type": "integer", - "format": "int32", - "description": "Update Domain count." + "forceUpdateTag": { + "type": "string", + "description": "How the extension handler should be forced to update even if the extension configuration has not changed." }, - "platformFaultDomainCount": { - "type": "integer", - "format": "int32", - "description": "Fault Domain count." + "publisher": { + "type": "string", + "description": "The name of the extension handler publisher." }, - "virtualMachines": { - "type": "array", - "items": { - "$ref": "#/definitions/SubResource" - }, - "description": "A list of references to all virtual machines in the availability set." + "type": { + "type": "string", + "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." }, - "statuses": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/InstanceViewStatus" - }, - "description": "The resource status information." + "typeHandlerVersion": { + "type": "string", + "description": "Specifies the version of the script handler." + }, + "autoUpgradeMinorVersion": { + "type": "boolean", + "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, + "settings": { + "type": "object", + "description": "Json formatted public settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + }, + "suppressFailures": { + "type": "boolean", + "description": "Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false." } }, - "description": "The instance view of a resource." + "description": "Describes the properties of a Virtual Machine Extension." }, - "AvailabilitySetSkuType": { - "type": "string", - "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.", - "enum": [ - "Classic", - "Aligned" - ], - "x-ms-enum": { - "name": "AvailabilitySetSkuTypes", - "modelAsString": true - } - }, - "AvailabilitySet": { + "VirtualMachineExtension": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/AvailabilitySetProperties" - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'." + "$ref": "#/definitions/VirtualMachineExtensionProperties" } }, "allOf": [ @@ -4450,313 +9611,503 @@ "$ref": "#/definitions/Resource" } ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Describes a Virtual Machine Extension." }, - "AvailabilitySetUpdate": { + "VirtualMachineScaleSetVMExtension": { "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/AvailabilitySetProperties" + "$ref": "#/definitions/VirtualMachineExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a VMSS VM Extension." + }, + "VirtualMachineExtensionUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine Extension." + }, + "VirtualMachineScaleSetVMExtensionUpdate": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "Sku of the availability set" + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a VMSS VM Extension." + }, + "VirtualMachineExtensionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineExtension" + }, + "description": "The list of extensions" } }, - "allOf": [ - { - "$ref": "#/definitions/UpdateResource" - } - ], - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated." + "description": "The List Extension operation response" }, - "AvailabilitySetListResult": { + "VirtualMachineScaleSetVMExtensionsListResult": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/AvailabilitySet" + "$ref": "#/definitions/VirtualMachineScaleSetVMExtension" }, - "description": "The list of availability sets" + "description": "The list of VMSS VM extensions" + } + }, + "description": "The List VMSS VM Extension operation response" + }, + "VirtualMachineSoftwarePatchProperties": { + "properties": { + "patchId": { + "type": "string", + "readOnly": true, + "description": "A unique identifier for the patch." }, - "nextLink": { + "name": { "type": "string", - "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets." + "readOnly": true, + "description": "The friendly name of the patch." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "The version number of the patch. This property applies only to Linux patches." + }, + "kbId": { + "type": "string", + "readOnly": true, + "description": "The KBID of the patch. Only applies to Windows patches." + }, + "classifications": { + "type": "array", + "readOnly": true, + "items": { + "type": "string" + }, + "description": "The classification(s) of the patch as provided by the patch publisher." + }, + "rebootBehavior": { + "type": "string", + "readOnly": true, + "description": "Describes the reboot requirements of the patch.", + "enum": [ + "Unknown", + "NeverReboots", + "AlwaysRequiresReboot", + "CanRequestReboot" + ], + "x-ms-enum": { + "name": "VMGuestPatchRebootBehavior", + "modelAsString": true + } + }, + "activityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "publishedDate": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the repository published this patch." + }, + "lastModifiedDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp of the last update to this patch record." + }, + "assessmentState": { + "type": "string", + "readOnly": true, + "description": "Describes the availability of a given patch.", + "enum": [ + "Unknown", + "Available" + ], + "x-ms-enum": { + "name": "PatchAssessmentState", + "modelAsString": true + } } }, - "required": [ - "value" - ], - "description": "The List Availability Set operation response." + "description": "Describes the properties of a Virtual Machine software patch." }, - "VirtualMachineSize": { + "VirtualMachineAssessPatchesResult": { "properties": { - "name": { + "status": { "type": "string", - "description": "The name of the virtual machine size." + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "Unknown", + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } }, - "numberOfCores": { - "type": "integer", - "format": "int32", - "description": "The number of cores supported by the virtual machine size." + "assessmentActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." }, - "osDiskSizeInMB": { - "type": "integer", - "format": "int32", - "description": "The OS disk size, in MB, allowed by the virtual machine size." + "rebootPending": { + "type": "boolean", + "readOnly": true, + "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred." }, - "resourceDiskSizeInMB": { + "criticalAndSecurityPatchCount": { "type": "integer", + "readOnly": true, "format": "int32", - "description": "The resource disk size, in MB, allowed by the virtual machine size." + "description": "The number of critical or security patches that have been detected as available and not yet installed." }, - "memoryInMB": { + "otherPatchCount": { "type": "integer", + "readOnly": true, "format": "int32", - "description": "The amount of memory, in MB, supported by the virtual machine size." + "description": "The number of all available patches excluding critical and security." }, - "maxDataDiskCount": { - "type": "integer", - "format": "int32", - "description": "The maximum number of data disks that can be attached to the virtual machine size." - } - }, - "description": "Describes the properties of a VM size." - }, - "VirtualMachineSizeListResult": { - "properties": { - "value": { + "startDateTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "availablePatches": { "type": "array", + "readOnly": true, "items": { - "$ref": "#/definitions/VirtualMachineSize" + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineSoftwarePatchProperties" }, - "description": "The list of virtual machine sizes." + "description": "The list of patches that have been detected as available for installation." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." } }, - "description": "The List Virtual Machine operation response." + "description": "Describes the properties of an AssessPatches result." }, - "VirtualMachineExtensionImageProperties": { + "VirtualMachineInstallPatchesParameters": { "properties": { - "operatingSystem": { - "type": "string", - "description": "The operating system this extension supports." - }, - "computeRole": { + "maximumDuration": { "type": "string", - "description": "The type of role (IaaS or PaaS) this extension supports." + "description": "Specifies the maximum amount of time that the operation will run. It must be an ISO 8601-compliant duration string such as PT4H (4 hours)" }, - "handlerSchema": { + "rebootSetting": { "type": "string", - "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema." + "description": "Defines when it is acceptable to reboot a VM during a software update operation.", + "enum": [ + "IfRequired", + "Never", + "Always" + ], + "x-ms-enum": { + "name": "VMGuestPatchRebootSetting", + "modelAsString": true + } }, - "vmScaleSetEnabled": { - "type": "boolean", - "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS." + "windowsParameters": { + "$ref": "#/definitions/WindowsParameters", + "description": "Input for InstallPatches on a Windows VM, as directly received by the API" }, - "supportsMultipleExtensions": { - "type": "boolean", - "description": "Whether the handler can support multiple extensions." - } - }, - "required": [ - "operatingSystem", - "computeRole", - "handlerSchema" - ], - "description": "Describes the properties of a Virtual Machine Extension Image." - }, - "VirtualMachineExtensionImage": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VirtualMachineExtensionImageProperties" + "linuxParameters": { + "$ref": "#/definitions/LinuxParameters", + "description": "Input for InstallPatches on a Linux VM, as directly received by the API" } }, "required": [ - "name", - "location" - ], - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "rebootSetting" ], - "description": "Describes a Virtual Machine Extension Image." + "description": "Input for InstallPatches as directly received by the API" }, - "VirtualMachineImageResource": { + "WindowsParameters": { "properties": { - "name": { - "type": "string", - "description": "The name of the resource." + "classificationsToInclude": { + "type": "array", + "description": "The update classifications to select when installing patches for Windows.", + "items": { + "type": "string", + "enum": [ + "Critical", + "Security", + "UpdateRollUp", + "FeaturePack", + "ServicePack", + "Definition", + "Tools", + "Updates" + ], + "x-ms-enum": { + "name": "VMGuestPatchClassification_Windows", + "modelAsString": true + } + } }, - "location": { - "type": "string", - "description": "The supported Azure location of the resource." + "kbNumbersToInclude": { + "type": "array", + "description": "Kbs to include in the patch operation", + "items": { + "type": "string" + } }, - "tags": { - "type": "object", - "additionalProperties": { + "kbNumbersToExclude": { + "type": "array", + "description": "Kbs to exclude in the patch operation", + "items": { "type": "string" - }, - "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)." + } + }, + "excludeKbsRequiringReboot": { + "type": "boolean", + "description": "Filters out Kbs that don't have an InstallationRebootBehavior of 'NeverReboots' when this is set to true." + }, + "maxPatchPublishDate": { + "type": "string", + "format": "date-time", + "description": "This is used to install patches that were published on or before this given max published date." } }, - "required": [ - "name", - "location" - ], - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ], - "description": "Virtual machine image resource information." + "description": "Input for InstallPatches on a Windows VM, as directly received by the API" }, - "VirtualMachineExtensionInstanceView": { + "LinuxParameters": { "properties": { - "name": { - "type": "string", - "description": "The virtual machine extension name." - }, - "type": { - "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." - }, - "typeHandlerVersion": { - "type": "string", - "description": "Specifies the version of the script handler." + "classificationsToInclude": { + "type": "array", + "description": "The update classifications to select when installing patches for Linux.", + "items": { + "type": "string", + "enum": [ + "Critical", + "Security", + "Other" + ], + "x-ms-enum": { + "name": "VMGuestPatchClassification_Linux", + "modelAsString": true + } + } }, - "substatuses": { + "packageNameMasksToInclude": { "type": "array", + "description": "packages to include in the patch operation. Format: packageName_packageVersion", "items": { - "$ref": "#/definitions/InstanceViewStatus" - }, - "description": "The resource status information." + "type": "string" + } }, - "statuses": { + "packageNameMasksToExclude": { "type": "array", + "description": "packages to exclude in the patch operation. Format: packageName_packageVersion", "items": { - "$ref": "#/definitions/InstanceViewStatus" - }, - "description": "The resource status information." + "type": "string" + } + }, + "maintenanceRunId": { + "type": "string", + "description": "This is used as a maintenance run identifier for Auto VM Guest Patching in Linux." } }, - "description": "The instance view of a virtual machine extension." + "description": "Input for InstallPatches on a Linux VM, as directly received by the API" }, - "VirtualMachineExtensionProperties": { + "VirtualMachineInstallPatchesResult": { "properties": { - "forceUpdateTag": { - "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." - }, - "publisher": { + "status": { "type": "string", - "description": "The name of the extension handler publisher." + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", \"Unknown\" or \"CompletedWithWarnings.\"", + "enum": [ + "Unknown", + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } }, - "type": { + "installationActivityId": { "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." }, - "typeHandlerVersion": { + "rebootStatus": { "type": "string", - "description": "Specifies the version of the script handler." + "readOnly": true, + "description": "The reboot state of the VM following completion of the operation.", + "enum": [ + "Unknown", + "NotNeeded", + "Required", + "Started", + "Failed", + "Completed" + ], + "x-ms-enum": { + "name": "VMGuestPatchRebootStatus", + "modelAsString": true + } }, - "autoUpgradeMinorVersion": { + "maintenanceWindowExceeded": { "type": "boolean", - "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." + "readOnly": true, + "description": "Whether the operation ran out of time before it completed all its intended actions." }, - "settings": { - "type": "object", - "description": "Json formatted public settings for the extension." + "excludedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of patches that were not installed due to the user blocking their installation." }, - "protectedSettings": { - "type": "object", - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." + "notSelectedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of patches that were detected as available for install, but did not meet the operation's criteria." }, - "provisioningState": { + "pendingPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of patches that were identified as meeting the installation criteria, but were not able to be installed. Typically this happens when maintenanceWindowExceeded == true." + }, + "installedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of patches successfully installed." + }, + "failedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of patches that could not be installed due to some issue. See errors for details." + }, + "patches": { + "type": "array", "readOnly": true, + "items": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchInstallationDetail" + }, + "description": "The patches that were installed during the operation." + }, + "startDateTime": { "type": "string", - "description": "The provisioning state, which only appears in the response." + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." }, - "instanceView": { - "$ref": "#/definitions/VirtualMachineExtensionInstanceView", - "description": "The virtual machine extension instance view." + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." } }, - "description": "Describes the properties of a Virtual Machine Extension." + "description": "The result summary of an installation operation." }, - "VirtualMachineExtensionUpdateProperties": { + "PatchInstallationDetail": { "properties": { - "forceUpdateTag": { + "patchId": { "type": "string", - "description": "How the extension handler should be forced to update even if the extension configuration has not changed." + "readOnly": true, + "description": "A unique identifier for the patch." }, - "publisher": { + "name": { "type": "string", - "description": "The name of the extension handler publisher." + "readOnly": true, + "description": "The friendly name of the patch." }, - "type": { + "version": { "type": "string", - "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"." + "readOnly": true, + "description": "The version string of the package. It may conform to Semantic Versioning. Only applies to Linux." }, - "typeHandlerVersion": { + "kbId": { "type": "string", - "description": "Specifies the version of the script handler." - }, - "autoUpgradeMinorVersion": { - "type": "boolean", - "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." - }, - "settings": { - "type": "object", - "description": "Json formatted public settings for the extension." + "readOnly": true, + "description": "The KBID of the patch. Only applies to Windows patches." }, - "protectedSettings": { - "type": "object", - "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all." - } - }, - "description": "Describes the properties of a Virtual Machine Extension." - }, - "VirtualMachineExtension": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VirtualMachineExtensionProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Describes a Virtual Machine Extension." - }, - "VirtualMachineExtensionUpdate": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties" - } - }, - "allOf": [ - { - "$ref": "#/definitions/UpdateResource" - } - ], - "description": "Describes a Virtual Machine Extension." - }, - "VirtualMachineExtensionsListResult": { - "properties": { - "value": { + "classifications": { "type": "array", + "readOnly": true, "items": { - "$ref": "#/definitions/VirtualMachineExtension" + "type": "string" }, - "description": "The list of extensions" + "description": "The classification(s) of the patch as provided by the patch publisher." + }, + "installationState": { + "type": "string", + "readOnly": true, + "description": "The state of the patch after the installation operation completed.", + "enum": [ + "Unknown", + "Installed", + "Failed", + "Excluded", + "NotSelected", + "Pending" + ], + "x-ms-enum": { + "name": "PatchInstallationState", + "modelAsString": true + } } }, - "description": "The List Extension operation response" + "description": "Information about a specific patch that was encountered during an installation action." }, "PurchasePlan": { "properties": { @@ -4814,8 +10165,8 @@ "AutomaticOSUpgradeProperties": { "properties": { "automaticOSUpgradeSupported": { - "type": "boolean", - "description": "Specifies whether automatic OS upgrade is supported on the image." + "type": "boolean", + "description": "Specifies whether automatic OS upgrade is supported on the image." } }, "required": [ @@ -4823,6 +10174,19 @@ ], "description": "Describes automatic OS upgrade properties on the image." }, + "VirtualMachineImageFeature": { + "properties": { + "name": { + "type": "string", + "description": "The name of the feature." + }, + "value": { + "type": "string", + "description": "The corresponding value for the feature." + } + }, + "description": "Specifies additional capabilities supported by the image" + }, "VirtualMachineImageProperties": { "properties": { "plan": { @@ -4839,6 +10203,19 @@ }, "automaticOSUpgradeProperties": { "$ref": "#/definitions/AutomaticOSUpgradeProperties" + }, + "hyperVGeneration": { + "$ref": "#/definitions/HyperVGenerationType" + }, + "disallowed": { + "$ref": "#/definitions/DisallowedConfiguration", + "description": "Specifies disallowed configuration for the VirtualMachine created from the image" + }, + "features": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineImageFeature" + } } }, "description": "Describes the properties of a Virtual Machine Image." @@ -4933,7 +10310,7 @@ "properties": { "tempDisk": { "type": "boolean", - "description": "Specifies whether to reimage temp disk. Default value: false." + "description": "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk." } }, "description": "Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged" @@ -5019,7 +10396,7 @@ "properties": { "vmSize": { "type": "string", - "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:

[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)", + "description": "Specifies the size of the virtual machine.

The enum data type is currently deprecated and will be removed by December 23rd 2023.

Recommended way to get the list of available sizes is using these APIs:

[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)

[List all available virtual machine sizes in a region]( https://docs.microsoft.com/rest/api/compute/resourceskus/list)

[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes). For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/sizes).

The available VM sizes depend on region and availability set.", "enum": [ "Basic_A0", "Basic_A1", @@ -5192,10 +10569,30 @@ "name": "VirtualMachineSizeTypes", "modelAsString": true } + }, + "vmSizeProperties": { + "$ref": "#/definitions/VMSizeProperties", + "description": "Specifies the properties for customizing the size of the virtual machine. Minimum api-version: 2021-07-01.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet.

Please follow the instructions in [VM Customization](https://aka.ms/vmcustomization) for more details." } }, "description": "Specifies the hardware settings for the virtual machine." }, + "VMSizeProperties": { + "type": "object", + "properties": { + "vCPUsAvailable": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of vCPUs available for the VM.

When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list) ." + }, + "vCPUsPerCore": { + "type": "integer", + "format": "int32", + "description": "Specifies the vCPU to physical core ratio.

When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list)

Setting this property to 1 also means that hyper-threading is disabled." + } + }, + "description": "Specifies VM Size Property settings on the virtual machine." + }, "ImageReference": { "properties": { "publisher": { @@ -5213,6 +10610,15 @@ "version": { "type": "string", "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available." + }, + "exactVersion": { + "type": "string", + "readOnly": true, + "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'." + }, + "sharedGalleryImageId": { + "type": "string", + "description": "Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call." } }, "allOf": [ @@ -5220,7 +10626,7 @@ "$ref": "#/definitions/SubResource" } ], - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set." }, "KeyVaultSecretReference": { "properties": { @@ -5239,6 +10645,14 @@ ], "description": "Describes a reference to Key Vault Secret" }, + "DiskEncryptionSetParameters": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.

NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details." + }, "KeyVaultKeyReference": { "properties": { "keyUrl": { @@ -5308,14 +10722,39 @@ "modelAsString": true } }, + "DetachOption": { + "type": "string", + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.

detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'.", + "enum": [ + "ForceDetach" + ], + "x-ms-enum": { + "name": "DiskDetachOptionTypes", + "modelAsString": true + } + }, + "DeleteOption": { + "type": "string", + "description": "Specifies the behavior of the managed disk when the VM gets deleted i.e whether the managed disk is deleted or detached. Supported values:

**Delete** If this value is used, the managed disk is deleted when VM gets deleted.

**Detach** If this value is used, the managed disk is retained after VM gets deleted.

Minimum api-version: 2021-03-01", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DiskDeleteOptionTypes", + "modelAsString": true + } + }, "StorageAccountType": { "type": "string", - "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk.", + "description": "Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. Premium_ZRS uses Premium SSD zone redundant storage. StandardSSD_ZRS uses Standard SSD zone redundant storage. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/azure/virtual-machines/linux/disks-types", "enum": [ "Standard_LRS", "Premium_LRS", "StandardSSD_LRS", - "UltraSSD_LRS" + "UltraSSD_LRS", + "Premium_ZRS", + "StandardSSD_ZRS" ], "x-ms-enum": { "name": "StorageAccountTypes", @@ -5333,11 +10772,27 @@ "modelAsString": true } }, + "DiffDiskPlacement": { + "type": "string", + "description": "Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements", + "enum": [ + "CacheDisk", + "ResourceDisk" + ], + "x-ms-enum": { + "name": "DiffDiskPlacement", + "modelAsString": true + } + }, "DiffDiskSettings": { "properties": { "option": { "$ref": "#/definitions/DiffDiskOption", "description": "Specifies the ephemeral disk settings for operating system disk." + }, + "placement": { + "$ref": "#/definitions/DiffDiskPlacement", + "description": "Specifies the ephemeral disk placement for operating system disk.

Possible values are:

**CacheDisk**

**ResourceDisk**

Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.

Refer to VM size documentation for Windows VM at https://docs.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk." } }, "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.

NOTE: The ephemeral disk settings can only be specified for managed disk." @@ -5347,6 +10802,10 @@ "storageAccountType": { "$ref": "#/definitions/StorageAccountType", "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed disk." } }, "allOf": [ @@ -5388,14 +10847,14 @@ }, "caching": { "$ref": "#/definitions/Caching", - "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**" + "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None** for Standard storage. **ReadOnly** for Premium storage." }, "writeAcceleratorEnabled": { "type": "boolean", "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." }, "diffDiskSettings": { - "$ref": "#/definitions/DiffDiskSettings", + "$ref": "#/definitions/DiffDiskSettings", "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine." }, "createOption": { @@ -5410,12 +10869,16 @@ "managedDisk": { "description": "The managed disk parameters.", "$ref": "#/definitions/ManagedDiskParameters" + }, + "deleteOption": { + "$ref": "#/definitions/DeleteOption", + "description": "Specifies whether OS Disk should be deleted or detached upon VM deletion.

Possible values:

**Delete** If this value is used, the OS disk is deleted when VM is deleted.

**Detach** If this value is used, the os disk is retained after VM is deleted.

The default value is set to **detach**. For an ephemeral OS Disk, the default value is set to **Delete**. User cannot change the delete option for ephemeral OS Disk." } }, "required": [ "createOption" ], - "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "DataDisk": { "properties": { @@ -5440,55 +10903,169 @@ "$ref": "#/definitions/Caching", "description": "Specifies the caching requirements.

Possible values are:

**None**

**ReadOnly**

**ReadWrite**

Default: **None for Standard storage. ReadOnly for Premium storage**" }, - "writeAcceleratorEnabled": { + "writeAcceleratorEnabled": { + "type": "boolean", + "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + }, + "createOption": { + "$ref": "#/definitions/CreateOption", + "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB" + }, + "managedDisk": { + "description": "The managed disk parameters.", + "$ref": "#/definitions/ManagedDiskParameters" + }, + "toBeDetached": { + "type": "boolean", + "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset" + }, + "diskIOPSReadWrite": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set." + }, + "diskMBpsReadWrite": { + "type": "integer", + "readOnly": true, + "format": "int64", + "description": "Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set." + }, + "detachOption": { + "$ref": "#/definitions/DetachOption", + "description": "Specifies the detach behavior to be used while detaching a disk or which is already in the process of detachment from the virtual machine. Supported values: **ForceDetach**.

detachOption: **ForceDetach** is applicable only for managed data disks. If a previous detachment attempt of the data disk did not complete due to an unexpected failure from the virtual machine and the disk is still not released then use force-detach as a last resort option to detach the disk forcibly from the VM. All writes might not have been flushed when using this detach behavior.

This feature is still in preview mode and is not supported for VirtualMachineScaleSet. To force-detach a data disk update toBeDetached to 'true' along with setting detachOption: 'ForceDetach'." + }, + "deleteOption": { + "$ref": "#/definitions/DeleteOption", + "description": "Specifies whether data disk should be deleted or detached upon VM deletion.

Possible values:

**Delete** If this value is used, the data disk is deleted when VM is deleted.

**Detach** If this value is used, the data disk is retained after VM is deleted.

The default value is set to **detach**" + } + }, + "required": [ + "lun", + "createOption" + ], + "description": "Describes a data disk." + }, + "CapacityReservationProfile": { + "type": "object", + "properties": { + "capacityReservationGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies the capacity reservation group resource id that should be used for allocating the virtual machine or scaleset vm instances provided enough capacity has been reserved. Please refer to https://aka.ms/CapacityReservation for more details." + } + }, + "description": "The parameters of a capacity reservation Profile." + }, + "StorageProfile": { + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." + }, + "osDisk": { + "$ref": "#/definitions/OSDisk", + "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." + }, + "dataDisks": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisk" + }, + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." + } + }, + "description": "Specifies the storage settings for the virtual machine disks." + }, + "UefiSettings": { + "properties": { + "secureBootEnabled": { + "type": "boolean", + "description": "Specifies whether secure boot should be enabled on the virtual machine.

Minimum api-version: 2020-12-01" + }, + "vTpmEnabled": { + "type": "boolean", + "description": "Specifies whether vTPM should be enabled on the virtual machine.

Minimum api-version: 2020-12-01" + } + }, + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.

Minimum api-version: 2020-12-01" + }, + "SecurityProfile": { + "properties": { + "uefiSettings": { + "$ref": "#/definitions/UefiSettings", + "description": "Specifies the security settings like secure boot and vTPM used while creating the virtual machine.

Minimum api-version: 2020-12-01" + }, + "encryptionAtHost": { "type": "boolean", - "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk." + "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. This will enable the encryption for all the disks including Resource/Temp disk at host itself.

Default: The Encryption at host will be disabled unless this property is set to true for the resource." }, - "createOption": { - "$ref": "#/definitions/CreateOption", - "description": "Specifies how the virtual machine should be created.

Possible values are:

**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.

**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." + "securityType": { + "type": "string", + "description": "Specifies the SecurityType of the virtual machine. It is set as TrustedLaunch to enable UefiSettings.

Default: UefiSettings will not be enabled unless this property is set as TrustedLaunch.", + "enum": [ + "TrustedLaunch" + ], + "x-ms-enum": { + "name": "SecurityTypes", + "modelAsString": true + } + } + }, + "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set." + }, + "VMGalleryApplication": { + "type": "object", + "properties": { + "tags": { + "type": "string", + "description": "Optional, Specifies a passthrough value for more generic context." }, - "diskSizeGB": { + "order": { "type": "integer", "format": "int32", - "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.

This value cannot be larger than 1023 GB" + "description": "Optional, Specifies the order in which the packages have to be installed" }, - "managedDisk": { - "description": "The managed disk parameters.", - "$ref": "#/definitions/ManagedDiskParameters" + "packageReferenceId": { + "type": "string", + "description": "Specifies the GalleryApplicationVersion resource id on the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/applications/{application}/versions/{version}" + }, + "configurationReference": { + "type": "string", + "description": "Optional, Specifies the uri to an azure blob that will replace the default configuration for the package if provided" } }, "required": [ - "lun", - "createOption" + "packageReferenceId" ], - "description": "Describes a data disk." + "description": "Specifies the required information to reference a compute gallery application version" }, - "StorageProfile": { + "ApplicationProfile": { + "type": "object", "properties": { - "imageReference": { - "$ref": "#/definitions/ImageReference", - "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations." - }, - "osDisk": { - "$ref": "#/definitions/OSDisk", - "description": "Specifies information about the operating system disk used by the virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." - }, - "dataDisks": { + "galleryApplications": { "type": "array", "items": { - "$ref": "#/definitions/DataDisk" + "$ref": "#/definitions/VMGalleryApplication" }, - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" } }, - "description": "Specifies the storage settings for the virtual machine disks." + "description": "Contains the list of gallery applications that should be made available to the VM/VMSS" }, "AdditionalCapabilities": { "properties": { "ultraSSDEnabled": { "type": "boolean", "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled." + }, + "hibernationEnabled": { + "type": "boolean", + "description": "The flag that enables or disables hibernation capability on the VM." } }, "description": "Enables or disables a capability on the virtual machine or virtual machine scale set." @@ -5540,7 +11117,7 @@ "properties": { "protocol": { "type": "string", - "description": "Specifies the protocol of listener.

Possible values are:
**http**

**https**", + "description": "Specifies the protocol of WinRM listener.

Possible values are:
**http**

**https**", "enum": [ "Http", "Https" @@ -5552,7 +11129,7 @@ }, "certificateUrl": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." } }, "description": "Describes Protocol and thumbprint of Windows Remote Management listener" @@ -5577,11 +11154,11 @@ }, "enableAutomaticUpdates": { "type": "boolean", - "description": "Indicates whether virtual machine is enabled for automatic updates." + "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.

For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning." }, "timeZone": { "type": "string", - "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\"" + "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".

Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/dotnet/api/system.timezoneinfo.getsystemtimezones)." }, "additionalUnattendContent": { "type": "array", @@ -5590,6 +11167,10 @@ }, "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup." }, + "patchSettings": { + "$ref": "#/definitions/PatchSettings", + "description": "[Preview Feature] Specifies settings related to VM Guest Patching on Windows." + }, "winRM": { "$ref": "#/definitions/WinRMConfiguration", "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell." @@ -5605,131 +11186,446 @@ }, "keyData": { "type": "string", - "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.

For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure]https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed)." + } + }, + "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + }, + "SshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with linux based VMs." + } + }, + "description": "SSH configuration for Linux based VMs running on Azure" + }, + "LinuxConfiguration": { + "properties": { + "disablePasswordAuthentication": { + "type": "boolean", + "description": "Specifies whether password authentication should be disabled." + }, + "ssh": { + "$ref": "#/definitions/SshConfiguration", + "description": "Specifies the ssh key configuration for a Linux OS." + }, + "provisionVMAgent": { + "type": "boolean", + "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + }, + "patchSettings": { + "$ref": "#/definitions/LinuxPatchSettings", + "description": "[Preview Feature] Specifies settings related to VM Guest Patching on Linux." + } + }, + "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." + }, + "VaultCertificate": { + "properties": { + "certificateUrl": { + "type": "string", + "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}
To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." + }, + "certificateStore": { + "type": "string", + "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted." + } + }, + "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + }, + "VaultSecretGroup": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SubResource", + "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." + }, + "vaultCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultCertificate" + }, + "description": "The list of key vault references in SourceVault which contain certificates." + } + }, + "description": "Describes a set of certificates which are all in the same Key Vault." + }, + "OSProfile": { + "properties": { + "computerName": { + "type": "string", + "description": "Specifies the host OS name of the virtual machine.

This name cannot be updated after the VM is created.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/azure-resource-manager/management/resource-name-rules)." + }, + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

This property cannot be updated after the VM is created.

**Windows-only restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters." + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

**Minimum-length (Windows):** 8 characters

**Minimum-length (Linux):** 6 characters

**Max-length (Windows):** 123 characters

**Max-length (Linux):** 72 characters

**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])

**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)" + }, + "customData": { + "type": "string", + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

**Note: Do not pass any secrets or passwords in customData property**

This property cannot be updated after the VM is created.

customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/blog/custom-data-and-cloud-init-on-windows-azure/)

For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)" + }, + "windowsConfiguration": { + "$ref": "#/definitions/WindowsConfiguration", + "description": "Specifies Windows operating system settings on the virtual machine." + }, + "linuxConfiguration": { + "$ref": "#/definitions/LinuxConfiguration", + "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." + }, + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/VaultSecretGroup" + }, + "description": "Specifies set of certificates that should be installed onto the virtual machine. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." + }, + "allowExtensionOperations": { + "type": "boolean", + "description": "Specifies whether extension operations should be allowed on the virtual machine.

This may only be set to False when no extensions are present on the virtual machine." + }, + "requireGuestProvisionSignal": { + "type": "boolean", + "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine. **Note: This property is for private testing only, and all customers must not set the property to false.**" + } + }, + "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned." + }, + "AutomaticRepairsPolicy": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false." + }, + "gracePeriod": { + "type": "string", + "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)." + } + }, + "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set." + }, + "NetworkInterfaceReferenceProperties": { + "properties": { + "primary": { + "type": "boolean", + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the network interface when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } + } + }, + "description": "Describes a network interface reference properties." + }, + "NetworkInterfaceReference": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "description": "Describes a network interface reference." + }, + "VirtualMachineIpTag": { + "properties": { + "ipTagType": { + "type": "string", + "description": "IP tag type. Example: FirstPartyUsage." + }, + "tag": { + "type": "string", + "description": "IP tag associated with the public IP. Example: SQL, Storage etc." + } + }, + "description": "Contains the IP tag associated with the public IP address." + }, + "VirtualMachinePublicIPAddressDnsSettingsConfiguration": { + "properties": { + "domainNameLabel": { + "type": "string", + "description": "The Domain name label prefix of the PublicIPAddress resources that will be created. The generated name label is the concatenation of the domain name label and vm network profile unique ID." + } + }, + "required": [ + "domainNameLabel" + ], + "description": "Describes a virtual machines network configuration's DNS settings." + }, + "VirtualMachinePublicIPAddressConfigurationProperties": { + "properties": { + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "description": "The idle timeout of the public IP address." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the public IP address when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } + }, + "dnsSettings": { + "$ref": "#/definitions/VirtualMachinePublicIPAddressDnsSettingsConfiguration", + "description": "The dns settings to be applied on the publicIP addresses ." + }, + "ipTags": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineIpTag" + }, + "description": "The list of IP tags associated with the public IP address." + }, + "publicIPPrefix": { + "$ref": "#/definitions/SubResource", + "description": "The PublicIPPrefix from which to allocate publicIP addresses." + }, + "publicIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersions", + "modelAsString": true + } + }, + "publicIPAllocationMethod": { + "type": "string", + "description": "Specify the public IP allocation type", + "enum": [ + "Dynamic", + "Static" + ], + "x-ms-enum": { + "name": "PublicIPAllocationMethod", + "modelAsString": true + } + } + }, + "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration" + }, + "PublicIPAddressSku": { + "properties": { + "name": { + "type": "string", + "description": "Specify public IP sku name", + "enum": [ + "Basic", + "Standard" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Specify public IP sku tier", + "enum": [ + "Regional", + "Global" + ], + "x-ms-enum": { + "name": "PublicIPAddressSkuTier", + "modelAsString": true + } } }, - "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed." + "description": "Describes the public IP Sku" }, - "SshConfiguration": { + "VirtualMachinePublicIPAddressConfiguration": { "properties": { - "publicKeys": { - "type": "array", - "items": { - "$ref": "#/definitions/SshPublicKey" - }, - "description": "The list of SSH public keys used to authenticate with linux based VMs." + "name": { + "type": "string", + "description": "The publicIP address configuration name." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachinePublicIPAddressConfigurationProperties" + }, + "sku": { + "$ref": "#/definitions/PublicIPAddressSku" } }, - "description": "SSH configuration for Linux based VMs running on Azure" + "required": [ + "name" + ], + "description": "Describes a virtual machines IP Configuration's PublicIPAddress configuration" }, - "LinuxConfiguration": { + "VirtualMachineNetworkInterfaceIPConfigurationProperties": { "properties": { - "disablePasswordAuthentication": { + "subnet": { + "$ref": "#/definitions/SubResource", + "description": "Specifies the identifier of the subnet." + }, + "primary": { "type": "boolean", - "description": "Specifies whether password authentication should be disabled." + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "ssh": { - "$ref": "#/definitions/SshConfiguration", - "description": "Specifies the ssh key configuration for a Linux OS." + "publicIPAddressConfiguration": { + "$ref": "#/definitions/VirtualMachinePublicIPAddressConfiguration", + "description": "The publicIPAddressConfiguration." }, - "provisionVMAgent": { - "type": "boolean", - "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.

When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later." + "privateIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersions", + "modelAsString": true + } + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to application security group." + }, + "applicationGatewayBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to backend address pools of application gateways. A virtual machine can reference backend address pools of multiple application gateways. Multiple virtual machines cannot use the same application gateway." + }, + "loadBalancerBackendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/SubResource" + }, + "description": "Specifies an array of references to backend address pools of load balancers. A virtual machine can reference backend address pools of one public and one internal load balancer. [Multiple virtual machines cannot use the same basic sku load balancer]." } }, - "description": "Specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + "description": "Describes a virtual machine network interface IP configuration properties." }, - "VaultCertificate": { + "VirtualMachineNetworkInterfaceIPConfiguration": { "properties": { - "certificateUrl": { + "name": { "type": "string", - "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:

{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}" + "description": "The IP configuration name." }, - "certificateStore": { - "type": "string", - "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.

For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name .crt for the X509 certificate file and .prv for private key. Both of these files are .pem formatted." + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfigurationProperties" } }, - "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM." + "required": [ + "name" + ], + "description": "Describes a virtual machine network profile's IP configuration." }, - "VaultSecretGroup": { + "VirtualMachineNetworkInterfaceDnsSettingsConfiguration": { "properties": { - "sourceVault": { - "$ref": "#/definitions/SubResource", - "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates." - }, - "vaultCertificates": { + "dnsServers": { "type": "array", "items": { - "$ref": "#/definitions/VaultCertificate" + "type": "string" }, - "description": "The list of key vault references in SourceVault which contain certificates." + "description": "List of DNS servers IP addresses" } }, - "description": "Describes a set of certificates which are all in the same Key Vault." + "description": "Describes a virtual machines network configuration's DNS settings." }, - "OSProfile": { + "VirtualMachineNetworkInterfaceConfigurationProperties": { "properties": { - "computerName": { - "type": "string", - "description": "Specifies the host OS name of the virtual machine.

**Max-length (Windows):** 15 characters

**Max-length (Linux):** 64 characters.

For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)." + "primary": { + "type": "boolean", + "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." }, - "adminUsername": { + "deleteOption": { "type": "string", - "description": "Specifies the name of the administrator account.

**Windows-only restriction:** Cannot end in \".\"

**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

**Minimum-length (Linux):** 1 character

**Max-length (Linux):** 64 characters

**Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specify what happens to the network interface when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } }, - "adminPassword": { - "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "enableAcceleratedNetworking": { + "type": "boolean", + "description": "Specifies whether the network interface is accelerated networking-enabled." }, - "customData": { - "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "enableFpga": { + "type": "boolean", + "description": "Specifies whether the network interface is FPGA networking-enabled." }, - "windowsConfiguration": { - "$ref": "#/definitions/WindowsConfiguration", - "description": "Specifies Windows operating system settings on the virtual machine." + "enableIPForwarding": { + "type": "boolean", + "description": "Whether IP forwarding enabled on this NIC." }, - "linuxConfiguration": { - "$ref": "#/definitions/LinuxConfiguration", - "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + "networkSecurityGroup": { + "$ref": "#/definitions/SubResource", + "description": "The network security group." }, - "secrets": { + "dnsSettings": { + "$ref": "#/definitions/VirtualMachineNetworkInterfaceDnsSettingsConfiguration", + "description": "The dns settings to be applied on the network interfaces." + }, + "ipConfigurations": { "type": "array", "items": { - "$ref": "#/definitions/VaultSecretGroup" + "$ref": "#/definitions/VirtualMachineNetworkInterfaceIPConfiguration" }, - "description": "Specifies set of certificates that should be installed onto the virtual machine." + "description": "Specifies the IP configurations of the network interface." }, - "allowExtensionOperations": { - "type": "boolean", - "description": "Specifies whether extension operations should be allowed on the virtual machine.

    This may only be set to False when no extensions are present on the virtual machine." - } - }, - "description": "Specifies the operating system settings for the virtual machine." - }, - "NetworkInterfaceReferenceProperties": { - "properties": { - "primary": { - "type": "boolean", - "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface." + "dscpConfiguration": { + "$ref": "#/definitions/SubResource" } }, - "description": "Describes a network interface reference properties." + "required": [ + "ipConfigurations" + ], + "description": "Describes a virtual machine network profile's IP configuration." }, - "NetworkInterfaceReference": { + "VirtualMachineNetworkInterfaceConfiguration": { "properties": { + "name": { + "type": "string", + "description": "The network interface configuration name." + }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/NetworkInterfaceReferenceProperties" + "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfigurationProperties" } }, - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } + "required": [ + "name" ], - "description": "Describes a network interface reference." + "description": "Describes a virtual machine network interface configurations." }, "NetworkProfile": { "properties": { @@ -5739,9 +11635,27 @@ "$ref": "#/definitions/NetworkInterfaceReference" }, "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine." + }, + "networkApiVersion": { + "type": "string", + "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations", + "enum": [ + "2020-11-01" + ], + "x-ms-enum": { + "name": "NetworkApiVersion", + "modelAsString": true + } + }, + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineNetworkInterfaceConfiguration" + }, + "description": "Specifies the networking configurations that will be used to create the virtual machine networking resources." } }, - "description": "Specifies the network interfaces of the virtual machine." + "description": "Specifies the network interfaces or the networking configuration of the virtual machine." }, "BootDiagnostics": { "properties": { @@ -5751,7 +11665,7 @@ }, "storageUri": { "type": "string", - "description": "Uri of the storage account to use for placing the console output and screenshot." + "description": "Uri of the storage account to use for placing the console output and screenshot.

    If storageUri is not specified while enabling boot diagnostics, managed storage will be used." } }, "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." @@ -5765,6 +11679,41 @@ }, "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, + "priority": { + "type": "string", + "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.

    'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.", + "enum": [ + "Regular", + "Low", + "Spot" + ], + "x-ms-enum": { + "name": "VirtualMachinePriorityTypes", + "modelAsString": true + } + }, + "evictionPolicy": { + "type": "string", + "description": "Specifies the eviction policy for the Azure Spot VM/VMSS", + "enum": [ + "Deallocate", + "Delete" + ], + "x-ms-enum": { + "name": "VirtualMachineEvictionPolicyTypes", + "modelAsString": true + } + }, + "BillingProfile": { + "properties": { + "maxPrice": { + "type": "number", + "format": "double", + "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.

    This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.

    The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.

    Possible values are:

    - Any decimal value greater than zero. Example: 0.01538

    -1 – indicates default price to be up-to on-demand.

    You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.

    Minimum api-version: 2019-03-01." + } + }, + "description": "Specifies the billing related details of a Azure Spot VM or VMSS.

    Minimum api-version: 2019-03-01." + }, "VirtualMachineExtensionHandlerInstanceView": { "properties": { "type": { @@ -5833,12 +11782,12 @@ "consoleScreenshotBlobUri": { "readOnly": true, "type": "string", - "description": "The console screenshot blob URI." + "description": "The console screenshot blob URI.

    NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." }, "serialConsoleLogBlobUri": { "readOnly": true, "type": "string", - "description": "The Linux serial console log blob Uri." + "description": "The serial console log blob Uri.

    NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage." }, "status": { "readOnly": true, @@ -5878,6 +11827,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "userAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -5967,6 +11917,18 @@ "type": "string", "description": "The version of Operating System running on the virtual machine." }, + "hyperVGeneration": { + "type": "string", + "description": "Specifies the HyperVGeneration Type associated with a resource", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGenerationType", + "modelAsString": true + } + }, "rdpThumbPrint": { "type": "string", "description": "The Remote desktop certificate thumbprint." @@ -5993,16 +11955,30 @@ }, "description": "The extensions information." }, + "vmHealth": { + "readOnly": true, + "$ref": "#/definitions/VirtualMachineHealthStatus", + "description": "The health status for the VM." + }, "bootDiagnostics": { "$ref": "#/definitions/BootDiagnosticsInstanceView", "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.

    You can easily view the output of your console log.

    Azure also enables you to see a screenshot of the VM from the hypervisor." }, + "assignedHost": { + "type": "string", + "readOnly": true, + "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.

    Minimum api-version: 2020-06-01." + }, "statuses": { "type": "array", "items": { "$ref": "#/definitions/InstanceViewStatus" }, "description": "The resource status information." + }, + "patchStatus": { + "$ref": "#/definitions/VirtualMachinePatchStatus", + "description": "[Preview Feature] The status of virtual machine patch operations." } }, "description": "The instance view of a virtual machine." @@ -6023,19 +11999,51 @@ }, "osProfile": { "$ref": "#/definitions/OSProfile", - "description": "Specifies the operating system settings for the virtual machine." + "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned." }, "networkProfile": { "$ref": "#/definitions/NetworkProfile", "description": "Specifies the network interfaces of the virtual machine." }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machine." + }, "diagnosticsProfile": { "$ref": "#/definitions/DiagnosticsProfile", "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, "availabilitySet": { "$ref": "#/definitions/SubResource", - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).

    For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)

    Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.

    This property cannot exist along with a non-null properties.virtualMachineScaleSet reference." + }, + "virtualMachineScaleSet": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.

    This property cannot exist along with a non-null properties.availabilitySet reference.

    Minimum apiâ€version: 2019â€03â€01" + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.

    Minimum api-version: 2018-04-01." + }, + "priority": { + "$ref": "#/definitions/priority", + "description": "Specifies the priority for the virtual machine.

    Minimum api-version: 2019-03-01" + }, + "evictionPolicy": { + "$ref": "#/definitions/evictionPolicy", + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot virtual machine.

    Minimum api-version: 2019-03-01." + }, + "host": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host that the virtual machine resides in.

    Minimum api-version: 2018-10-01." + }, + "hostGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host group that the virtual machine resides in.

    Minimum api-version: 2020-06-01.

    NOTE: User cannot specify both host and hostGroup properties." }, "provisioningState": { "readOnly": true, @@ -6049,12 +12057,37 @@ }, "licenseType": { "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies that the image or disk that is being used was licensed on-premises.

    Possible values for Windows Server operating system are:

    Windows_Client

    Windows_Server

    Possible values for Linux Server operating system are:

    RHEL_BYOS (for RHEL)

    SLES_BYOS (for SUSE)

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

    [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

    Minimum api-version: 2015-06-15" }, "vmId": { "readOnly": true, "type": "string", "description": "Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" + }, + "platformFaultDomain": { + "type": "integer", + "format": "int32", + "description": "Specifies the scale set logical fault domain into which the Virtual Machine will be created. By default, the Virtual Machine will by automatically assigned to a fault domain that best maintains balance across available fault domains.
  • This is applicable only if the 'virtualMachineScaleSet' property of this Virtual Machine is set.
  • The Virtual Machine Scale Set that is referenced, must have 'platformFaultDomainCount' > 1.
  • This property cannot be updated once the Virtual Machine is created.
  • Fault domain assignment can be viewed in the Virtual Machine Instance View.

    Minimum apiâ€version: 2020â€12â€01" + }, + "scheduledEventsProfile": { + "$ref": "#/definitions/ScheduledEventsProfile", + "description": "Specifies Scheduled Event related configurations." + }, + "userData": { + "type": "string", + "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01" + }, + "capacityReservation": { + "$ref": "#/definitions/CapacityReservationProfile", + "description": "Specifies information about the capacity reservation that is used to allocate virtual machine.

    Minimum api-version: 2021-04-01." + }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" } }, "description": "Describes the properties of a Virtual Machine." @@ -6087,6 +12120,10 @@ "type": "string" }, "description": "The virtual machine zones." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." } }, "allOf": [ @@ -6160,13 +12197,13 @@ "description": "Specifies the number of virtual machines in the scale set." } }, - "description": "Describes a virtual machine scale set sku." + "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name." }, "AutomaticOSUpgradePolicy": { "properties": { "enableAutomaticOSUpgrade": { "type": "boolean", - "description": "Whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the image becomes available. Default value is false." + "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.

    If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true." }, "disableAutomaticRollback": { "type": "boolean", @@ -6217,19 +12254,78 @@ "maximum": 100, "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%." }, - "maxUnhealthyUpgradedInstancePercent": { - "type": "integer", - "format": "int32", - "minimum": 0, - "maximum": 100, - "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + "maxUnhealthyUpgradedInstancePercent": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%." + }, + "pauseTimeBetweenBatches": { + "type": "string", + "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + }, + "enableCrossZoneUpgrade": { + "type": "boolean", + "description": "Allow VMSS to ignore AZ boundaries when constructing upgrade batches. Take into consideration the Update Domain and maxBatchInstancePercent to determine the batch size." + }, + "prioritizeUnhealthyInstances": { + "type": "boolean", + "description": "Upgrade all unhealthy instances in a scale set before any healthy instances." + } + }, + "description": "The configuration parameters used while performing a rolling upgrade." + }, + "ScaleInPolicy": { + "properties": { + "rules": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Default", + "OldestVM", + "NewestVM" + ], + "x-ms-enum": { + "name": "VirtualMachineScaleSetScaleInRules", + "modelAsString": true + } + }, + "description": "The rules to be followed when scaling-in a virtual machine scale set.

    Possible values are:

    **Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.

    **OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.

    **NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.

    " + }, + "forceDeletion": { + "type": "boolean", + "description": "This property allows you to specify if virtual machines chosen for removal have to be force deleted when a virtual machine scale set is being scaled-in.(Feature in Preview)" + } + }, + "description": "Describes a scale-in policy for a virtual machine scale set." + }, + "SpotRestorePolicy": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enables the Spot-Try-Restore feature where evicted VMSS SPOT instances will be tried to be restored opportunistically based on capacity availability and pricing constraints" }, - "pauseTimeBetweenBatches": { + "restoreTimeout": { "type": "string", - "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)." + "description": "Timeout value expressed as an ISO 8601 time duration after which the platform will not try to restore the VMSS SPOT instances" } }, - "description": "The configuration parameters used while performing a rolling upgrade." + "description": "Specifies the Spot-Try-Restore properties for the virtual machine scale set.

    With this property customer can enable or disable automatic restore of the evicted Spot VMSS VM instances opportunistically based on capacity availability and pricing constraint." + }, + "OrchestrationMode": { + "type": "string", + "description": "Specifies the orchestration mode for the virtual machine scale set.", + "enum": [ + "Uniform", + "Flexible" + ], + "x-ms-enum": { + "name": "OrchestrationMode", + "modelAsString": true + } }, "ImageOSDisk": { "properties": { @@ -6254,44 +12350,25 @@ ], "x-ms-enum": { "name": "OperatingSystemStateTypes", - "modelAsString": false - } - }, - "snapshot": { - "$ref": "#/definitions/SubResource", - "description": "The snapshot." - }, - "managedDisk": { - "$ref": "#/definitions/SubResource", - "description": "The managedDisk." - }, - "blobUri": { - "type": "string", - "description": "The Virtual Hard Disk." - }, - "caching": { - "type": "string", - "description": "Specifies the caching requirements.

    Possible values are:

    **None**

    **ReadOnly**

    **ReadWrite**

    Default: **None for Standard storage. ReadOnly for Premium storage**", - "enum": [ - "None", - "ReadOnly", - "ReadWrite" - ], - "x-ms-enum": { - "name": "CachingTypes", - "modelAsString": false + "modelAsString": false, + "values": [ + { + "value": "Generalized", + "description": "Generalized image. Needs to be provisioned during deployment time." + }, + { + "value": "Specialized", + "description": "Specialized image. Contains already provisioned OS Disk." + } + ] } - }, - "diskSizeGB": { - "type": "integer", - "format": "int32", - "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.

    This value cannot be larger than 1023 GB" - }, - "storageAccountType": { - "$ref": "#/definitions/StorageAccountType", - "description": "Specifies the storage account type for the managed disk. UltraSSD_LRS cannot be used with OS Disk." } }, + "allOf": [ + { + "$ref": "#/definitions/ImageDisk" + } + ], "required": [ "osType", "osState" @@ -6304,7 +12381,20 @@ "type": "integer", "format": "int32", "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM." - }, + } + }, + "allOf": [ + { + "$ref": "#/definitions/ImageDisk" + } + ], + "required": [ + "lun" + ], + "description": "Describes a data disk." + }, + "ImageDisk": { + "properties": { "snapshot": { "$ref": "#/definitions/SubResource", "description": "The snapshot." @@ -6338,25 +12428,26 @@ "storageAccountType": { "$ref": "#/definitions/StorageAccountType", "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed image disk." } }, - "required": [ - "lun" - ], - "description": "Describes a data disk." + "description": "Describes a image disk." }, "ImageStorageProfile": { "properties": { "osDisk": { "$ref": "#/definitions/ImageOSDisk", - "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "dataDisks": { "type": "array", "items": { "$ref": "#/definitions/ImageDataDisk" }, - "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add a data disk to a virtual machine.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "zoneResilient": { "type": "boolean", @@ -6379,6 +12470,10 @@ "readOnly": true, "type": "string", "description": "The provisioning state." + }, + "hyperVGeneration": { + "$ref": "#/definitions/HyperVGenerationType", + "description": "Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource." } }, "description": "Describes the properties of an Image." @@ -6388,6 +12483,10 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/ImageProperties" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Image." } }, "allOf": [ @@ -6460,6 +12559,7 @@ "type": "object", "additionalProperties": { "type": "object", + "x-ms-client-name": "VirtualMachineScaleSetIdentityUserAssignedIdentitiesValue", "properties": { "principalId": { "readOnly": true, @@ -6486,15 +12586,15 @@ }, "adminUsername": { "type": "string", - "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters

  • For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
  • For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies the name of the administrator account.

    **Windows-only restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length (Linux):** 1 character

    **Max-length (Linux):** 64 characters

    **Max-length (Windows):** 20 characters" }, "adminPassword": { "type": "string", - "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)" + "description": "Specifies the password of the administrator account.

    **Minimum-length (Windows):** 8 characters

    **Minimum-length (Linux):** 6 characters

    **Max-length (Windows):** 123 characters

    **Max-length (Linux):** 72 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"

    For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp)

    For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)" }, "customData": { "type": "string", - "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)" + "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

    For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/linux/using-cloud-init)" }, "windowsConfiguration": { "$ref": "#/definitions/WindowsConfiguration", @@ -6502,14 +12602,14 @@ }, "linuxConfiguration": { "$ref": "#/definitions/LinuxConfiguration", - "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)

    For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)." + "description": "Specifies the Linux operating system settings on the virtual machine.

    For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros)." }, "secrets": { "type": "array", "items": { "$ref": "#/definitions/VaultSecretGroup" }, - "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set." + "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set. To install certificates on a virtual machine it is recommended to use the [Azure Key Vault virtual machine extension for Linux](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-linux) or the [Azure Key Vault virtual machine extension for Windows](https://docs.microsoft.com/azure/virtual-machines/extensions/key-vault-windows)." } }, "description": "Describes a virtual machine scale set OS profile." @@ -6543,6 +12643,10 @@ "storageAccountType": { "$ref": "#/definitions/StorageAccountType", "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk." + }, + "diskEncryptionSet": { + "$ref": "#/definitions/DiskEncryptionSetParameters", + "description": "Specifies the customer managed disk encryption set resource id for the managed disk." } }, "description": "Describes the parameters of a ScaleSet managed disk." @@ -6566,7 +12670,7 @@ "description": "Specifies how the virtual machines in the scale set should be created.

    The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described." }, "diffDiskSettings": { - "$ref": "#/definitions/DiffDiskSettings", + "$ref": "#/definitions/DiffDiskSettings", "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set." }, "diskSizeGB": { @@ -6671,6 +12775,16 @@ "managedDisk": { "description": "The managed disk parameters.", "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters" + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB." } }, "required": [ @@ -6687,14 +12801,14 @@ }, "osDisk": { "$ref": "#/definitions/VirtualMachineScaleSetOSDisk", - "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." }, "dataDisks": { "type": "array", "items": { "$ref": "#/definitions/VirtualMachineScaleSetDataDisk" }, - "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)." + "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.

    For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)." } }, "description": "Describes a virtual machine scale set storage profile." @@ -6773,14 +12887,14 @@ "items": { "$ref": "#/definitions/SubResource" }, - "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer." + "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." }, "loadBalancerInboundNatPools": { "type": "array", "items": { "$ref": "#/definitions/SubResource" }, - "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same load balancer" + "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer." } }, "description": "Describes a virtual machine scale set network profile's IP configuration properties." @@ -6879,7 +12993,7 @@ "$ref": "#/definitions/SubResource" } ], - "description": "Describes a virtual machine scale set network profile's IP configuration." + "description": "Describes a virtual machine scale set network profile's IP configuration. NOTE: The subnet of a scale set may be modified as long as the original subnet and the new subnet are in the same virtual network" }, "VirtualMachineScaleSetNetworkConfigurationProperties": { "properties": { @@ -6891,6 +13005,10 @@ "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." }, + "enableFpga": { + "type": "boolean", + "description": "Specifies whether the network interface is FPGA networking-enabled." + }, "networkSecurityGroup": { "$ref": "#/definitions/SubResource", "description": "The network security group." @@ -6909,6 +13027,18 @@ "enableIPForwarding": { "type": "boolean", "description": "Whether IP forwarding enabled on this NIC." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the network interface when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } } }, "required": [ @@ -6926,6 +13056,10 @@ "type": "boolean", "description": "Specifies whether the network interface is accelerated networking-enabled." }, + "enableFpga": { + "type": "boolean", + "description": "Specifies whether the network interface is FPGA networking-enabled." + }, "networkSecurityGroup": { "$ref": "#/definitions/SubResource", "description": "The network security group." @@ -6944,6 +13078,18 @@ "enableIPForwarding": { "type": "boolean", "description": "Whether IP forwarding enabled on this NIC." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the network interface when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } } }, "description": "Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration." @@ -7033,6 +13179,9 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties" + }, + "sku": { + "$ref": "#/definitions/PublicIPAddressSku" } }, "required": [ @@ -7074,6 +13223,30 @@ "publicIPPrefix": { "$ref": "#/definitions/SubResource", "description": "The PublicIPPrefix from which to allocate publicIP addresses." + }, + "publicIPAddressVersion": { + "type": "string", + "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.", + "enum": [ + "IPv4", + "IPv6" + ], + "x-ms-enum": { + "name": "IPVersion", + "modelAsString": true + } + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the public IP when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" @@ -7088,6 +13261,18 @@ "dnsSettings": { "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings", "description": "The dns settings to be applied on the publicIP addresses ." + }, + "deleteOption": { + "type": "string", + "description": "Specify what happens to the public IP when the VM is deleted", + "enum": [ + "Delete", + "Detach" + ], + "x-ms-enum": { + "name": "DeleteOptions", + "modelAsString": true + } } }, "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration" @@ -7104,18 +13289,44 @@ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" }, "description": "The list of network configurations." + }, + "networkApiVersion": { + "type": "string", + "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'", + "enum": [ + "2020-11-01" + ], + "x-ms-enum": { + "name": "NetworkApiVersion", + "modelAsString": true + } } }, "description": "Describes a virtual machine scale set network profile." }, "VirtualMachineScaleSetUpdateNetworkProfile": { "properties": { + "healthProbe": { + "$ref": "#/definitions/ApiEntityReference", + "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'." + }, "networkInterfaceConfigurations": { "type": "array", "items": { "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfiguration" }, "description": "The list of network configurations." + }, + "networkApiVersion": { + "type": "string", + "description": "specifies the Microsoft.Network API version used when creating networking resources in the Network Interface Configurations for Virtual Machine Scale Set with orchestration mode 'Flexible'", + "enum": [ + "2020-11-01" + ], + "x-ms-enum": { + "name": "NetworkApiVersion", + "modelAsString": true + } } }, "description": "Describes a virtual machine scale set network profile." @@ -7142,6 +13353,10 @@ "type": "boolean", "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true." }, + "enableAutomaticUpgrade": { + "type": "boolean", + "description": "Indicates whether the extension should be automatically upgraded by the platform if there is a newer version of the extension available." + }, "settings": { "type": "object", "description": "Json formatted public settings for the extension." @@ -7161,6 +13376,10 @@ "type": "string" }, "description": "Collection of extension names after which this extension needs to be provisioned." + }, + "suppressFailures": { + "type": "boolean", + "description": "Indicates whether failures stemming from the extension will be suppressed (Operational failures such as not connecting to the VM will not be suppressed regardless of this value). The default is false." } }, "description": "Describes the properties of a Virtual Machine Scale Set Extension." @@ -7171,6 +13390,35 @@ "type": "string", "description": "The name of the extension." }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/SubResourceReadOnly" + } + ], + "description": "Describes a Virtual Machine Scale Set Extension." + }, + "VirtualMachineScaleSetExtensionUpdate": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the extension." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties" @@ -7210,6 +13458,10 @@ "$ref": "#/definitions/VirtualMachineScaleSetExtension" }, "description": "The virtual machine scale set child extension resources." + }, + "extensionsTimeBudget": { + "type": "string", + "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).

    Minimum api-version: 2020-06-01" } }, "description": "Describes a virtual machine scale set extension profile." @@ -7224,14 +13476,14 @@ "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile", "description": "Specifies the storage settings for the virtual machine disks." }, - "additionalCapabilities": { - "$ref": "#/definitions/AdditionalCapabilities", - "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type." - }, "networkProfile": { "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile", "description": "Specifies properties of the network interfaces of the virtual machines in the scale set." }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machines in the scale set." + }, "diagnosticsProfile": { "$ref": "#/definitions/DiagnosticsProfile", "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." @@ -7242,31 +13494,35 @@ }, "licenseType": { "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies that the image or disk that is being used was licensed on-premises.

    Possible values for Windows Server operating system are:

    Windows_Client

    Windows_Server

    Possible values for Linux Server operating system are:

    RHEL_BYOS (for RHEL)

    SLES_BYOS (for SUSE)

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

    [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

    Minimum api-version: 2015-06-15" }, "priority": { - "type": "string", - "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview", - "enum": [ - "Regular", - "Low" - ], - "x-ms-enum": { - "name": "VirtualMachinePriorityTypes", - "modelAsString": true - } + "$ref": "#/definitions/priority", + "description": "Specifies the priority for the virtual machines in the scale set.

    Minimum api-version: 2017-10-30-preview" }, "evictionPolicy": { + "$ref": "#/definitions/evictionPolicy", + "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.

    For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.

    For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + }, + "scheduledEventsProfile": { + "$ref": "#/definitions/ScheduledEventsProfile", + "description": "Specifies Scheduled Event related configurations." + }, + "userData": { "type": "string", - "description": "Specifies the eviction policy for virtual machines in a low priority scale set.

    Minimum api-version: 2017-10-30-preview", - "enum": [ - "Deallocate", - "Delete" - ], - "x-ms-enum": { - "name": "VirtualMachineEvictionPolicyTypes", - "modelAsString": true - } + "description": "UserData for the virtual machines in the scale set, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01" + }, + "capacityReservation": { + "$ref": "#/definitions/CapacityReservationProfile", + "description": "Specifies the capacity reservation related details of a scale set.

    Minimum api-version: 2021-04-01." + }, + "applicationProfile": { + "$ref": "#/definitions/ApplicationProfile", + "description": "Specifies the gallery applications that should be made available to the VM/VMSS" } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -7285,6 +13541,10 @@ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile", "description": "The virtual machine scale set network profile." }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "The virtual machine scale set Security profile" + }, "diagnosticsProfile": { "$ref": "#/definitions/DiagnosticsProfile", "description": "The virtual machine scale set diagnostics profile." @@ -7296,6 +13556,18 @@ "licenseType": { "type": "string", "description": "The license type, which is for bring your own license scenario." + }, + "billingProfile": { + "$ref": "#/definitions/BillingProfile", + "description": "Specifies the billing related details of a Azure Spot VMSS.

    Minimum api-version: 2019-03-01." + }, + "scheduledEventsProfile": { + "$ref": "#/definitions/ScheduledEventsProfile", + "description": "Specifies Scheduled Event related configurations." + }, + "userData": { + "type": "string", + "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01" } }, "description": "Describes a virtual machine scale set virtual machine profile." @@ -7306,6 +13578,10 @@ "$ref": "#/definitions/UpgradePolicy", "description": "The upgrade policy." }, + "automaticRepairsPolicy": { + "$ref": "#/definitions/AutomaticRepairsPolicy", + "description": "Policy for automatic repairs." + }, "virtualMachineProfile": { "$ref": "#/definitions/VirtualMachineScaleSetVMProfile", "description": "The virtual machine profile." @@ -7319,6 +13595,10 @@ "type": "boolean", "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "type": "boolean", + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, "uniqueId": { "readOnly": true, "type": "string", @@ -7326,16 +13606,40 @@ }, "singlePlacementGroup": { "type": "boolean", - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." }, "zoneBalance": { "type": "boolean", - "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage." + "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage. zoneBalance property can only be set if the zones property of the scale set contains more than one zone. If there are no zones or only one zone specified, then zoneBalance property should not be set." }, "platformFaultDomainCount": { "type": "integer", "format": "int32", "description": "Fault Domain count for each placement group." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." + }, + "hostGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the dedicated host group that the virtual machine scale set resides in.

    Minimum api-version: 2020-06-01." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + }, + "scaleInPolicy": { + "$ref": "#/definitions/ScaleInPolicy", + "description": "Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set." + }, + "orchestrationMode": { + "$ref": "#/definitions/OrchestrationMode", + "description": "Specifies the orchestration mode for the virtual machine scale set." + }, + "spotRestorePolicy": { + "$ref": "#/definitions/SpotRestorePolicy", + "description": "Specifies the Spot Restore properties for the virtual machine scale set." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -7346,6 +13650,10 @@ "$ref": "#/definitions/UpgradePolicy", "description": "The upgrade policy." }, + "automaticRepairsPolicy": { + "$ref": "#/definitions/AutomaticRepairsPolicy", + "description": "Policy for automatic repairs." + }, "virtualMachineProfile": { "$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile", "description": "The virtual machine profile." @@ -7354,9 +13662,25 @@ "type": "boolean", "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned." }, + "doNotRunExtensionsOnOverprovisionedVMs": { + "type": "boolean", + "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs." + }, "singlePlacementGroup": { "type": "boolean", - "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines." + "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true." + }, + "additionalCapabilities": { + "$ref": "#/definitions/AdditionalCapabilities", + "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type." + }, + "scaleInPolicy": { + "$ref": "#/definitions/ScaleInPolicy", + "description": "Specifies the policies applied when scaling in Virtual Machines in the Virtual Machine Scale Set." + }, + "proximityPlacementGroup": { + "$ref": "#/definitions/SubResource", + "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.

    Minimum api-version: 2018-04-01." } }, "description": "Describes the properties of a Virtual Machine Scale Set." @@ -7384,7 +13708,11 @@ "items": { "type": "string" }, - "description": "The virtual machine scale set zones." + "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine Scale Set." } }, "allOf": [ @@ -7517,7 +13845,38 @@ "description": "The extensions information." } }, - "description": "Extensions summary for virtual machines of a virtual machine scale set." + "description": "Extensions summary for virtual machines of a virtual machine scale set." + }, + "OrchestrationServiceSummary": { + "properties": { + "serviceName": { + "type": "string", + "readOnly": true, + "description": "The name of the service.", + "enum": [ + "AutomaticRepairs" + ], + "x-ms-enum": { + "name": "OrchestrationServiceNames", + "modelAsString": true + } + }, + "serviceState": { + "type": "string", + "readOnly": true, + "description": "The current state of the service.", + "enum": [ + "NotRunning", + "Running", + "Suspended" + ], + "x-ms-enum": { + "name": "OrchestrationServiceState", + "modelAsString": true + } + } + }, + "description": "Summary for an orchestration service of a virtual machine scale set." }, "VirtualMachineScaleSetInstanceView": { "properties": { @@ -7540,6 +13899,14 @@ "$ref": "#/definitions/InstanceViewStatus" }, "description": "The resource status information." + }, + "orchestrationServices": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/OrchestrationServiceSummary" + }, + "description": "The orchestration services information." } }, "description": "The instance view of a virtual machine scale set." @@ -7827,17 +14194,25 @@ "$ref": "#/definitions/OSProfile", "description": "Specifies the operating system settings for the virtual machine." }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "Specifies the Security related profile settings for the virtual machine." + }, "networkProfile": { "$ref": "#/definitions/NetworkProfile", "description": "Specifies the network interfaces of the virtual machine." }, + "networkProfileConfiguration": { + "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration", + "description": "Specifies the network profile configuration of the virtual machine." + }, "diagnosticsProfile": { "$ref": "#/definitions/DiagnosticsProfile", "description": "Specifies the boot diagnostic settings state.

    Minimum api-version: 2015-06-15." }, "availabilitySet": { "$ref": "#/definitions/SubResource", - "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).

    For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." + "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Availability sets overview](https://docs.microsoft.com/azure/virtual-machines/availability-set-overview).

    For more information on Azure planned maintenance, see [Maintenance and updates for Virtual Machines in Azure](https://docs.microsoft.com/azure/virtual-machines/maintenance-and-updates)

    Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set." }, "provisioningState": { "readOnly": true, @@ -7846,7 +14221,20 @@ }, "licenseType": { "type": "string", - "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.

    Possible values are:

    Windows_Client

    Windows_Server

    If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)

    Minimum api-version: 2015-06-15" + "description": "Specifies that the image or disk that is being used was licensed on-premises.

    Possible values for Windows Server operating system are:

    Windows_Client

    Windows_Server

    Possible values for Linux Server operating system are:

    RHEL_BYOS (for RHEL)

    SLES_BYOS (for SUSE)

    For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/windows/hybrid-use-benefit-licensing)

    [Azure Hybrid Use Benefit for Linux Server](https://docs.microsoft.com/azure/virtual-machines/linux/azure-hybrid-benefit-linux)

    Minimum api-version: 2015-06-15" + }, + "modelDefinitionApplied": { + "readOnly": true, + "type": "string", + "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine." + }, + "protectionPolicy": { + "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy", + "description": "Specifies the protection policy of the virtual machine." + }, + "userData": { + "type": "string", + "description": "UserData for the VM, which must be base-64 encoded. Customer should not pass any secrets in here.

    Minimum api-version: 2021-03-01" } }, "description": "Describes the properties of a virtual machine scale set virtual machine." @@ -7949,6 +14337,11 @@ }, "description": "The resource status information." }, + "assignedHost": { + "type": "string", + "readOnly": true, + "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.

    Minimum api-version: 2020-06-01." + }, "placementGroupId": { "type": "string", "description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId." @@ -7956,6 +14349,53 @@ }, "description": "The instance view of a virtual machine scale set VM." }, + "VirtualMachineScaleSetVMNetworkProfileConfiguration": { + "properties": { + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration" + }, + "description": "The list of network configurations." + } + }, + "description": "Describes a virtual machine scale set VM network profile." + }, + "VirtualMachineScaleSetVMProtectionPolicy": { + "properties": { + "protectFromScaleIn": { + "type": "boolean", + "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation." + }, + "protectFromScaleSetActions": { + "type": "boolean", + "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM." + } + }, + "description": "The protection policy of a virtual machine scale set VM." + }, + "ScheduledEventsProfile": { + "type": "object", + "properties": { + "terminateNotificationProfile": { + "$ref": "#/definitions/TerminateNotificationProfile", + "description": "Specifies Terminate Scheduled Event related configurations." + } + } + }, + "TerminateNotificationProfile": { + "type": "object", + "properties": { + "notBeforeTimeout": { + "type": "string", + "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)" + }, + "enable": { + "type": "boolean", + "description": "Specifies whether the Terminate Scheduled event is enabled or disabled." + } + } + }, "VirtualMachineHealthStatus": { "properties": { "status": { @@ -8128,6 +14568,15 @@ }, "description": "Inner error details." }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, "ApiError": { "properties": { "details": { @@ -8156,6 +14605,27 @@ }, "description": "Api error." }, + "ProxyResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "description": "The resource model definition for an Azure Resource Manager proxy resource. It will not have tags and a location", + "x-ms-azure-resource": true + }, "Resource": { "description": "The Resource model definition.", "properties": { @@ -8201,8 +14671,7 @@ }, "description": "Resource tags" } - }, - "x-ms-azure-resource": true + } }, "SubResource": { "properties": { @@ -8223,6 +14692,30 @@ }, "x-ms-azure-resource": true }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, "RecoveryWalkResponse": { "properties": { "walkPerformed": { @@ -8300,6 +14793,14 @@ "groupByResourceName": { "type": "boolean", "description": "Group query result by Resource Name." + }, + "groupByClientApplicationId": { + "type": "boolean", + "description": "Group query result by Client Application ID." + }, + "groupByUserAgent": { + "type": "boolean", + "description": "Group query result by User Agent." } }, "required": [ @@ -8328,6 +14829,268 @@ } }, "description": "LogAnalytics output properties" + }, + "VMScaleSetConvertToSinglePlacementGroupInput": { + "properties": { + "activePlacementGroupId": { + "type": "string", + "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances." + } + } + }, + "OrchestrationServiceStateInput": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service.", + "enum": [ + "AutomaticRepairs" + ], + "x-ms-enum": { + "name": "OrchestrationServiceNames", + "modelAsString": true + } + }, + "action": { + "type": "string", + "description": "The action to be performed.", + "enum": [ + "Resume", + "Suspend" + ], + "x-ms-enum": { + "name": "OrchestrationServiceStateAction", + "modelAsString": true + } + } + }, + "description": "The input for OrchestrationServiceState", + "required": [ + "serviceName", + "action" + ] + }, + "PatchSettings": { + "properties": { + "patchMode": { + "type": "string", + "description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

    Possible values are:

    **Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false

    **AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.

    **AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ", + "enum": [ + "Manual", + "AutomaticByOS", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "WindowsVMGuestPatchMode", + "modelAsString": true + } + }, + "enableHotpatching": { + "type": "boolean", + "description": "Enables customers to patch their Azure VMs without requiring a reboot. For enableHotpatching, the 'provisionVMAgent' must be set to true and 'patchMode' must be set to 'AutomaticByPlatform'." + }, + "assessmentMode": { + "type": "string", + "description": "Specifies the mode of VM Guest patch assessment for the IaaS virtual machine.

    Possible values are:

    **ImageDefault** - You control the timing of patch assessments on a virtual machine.

    **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true. ", + "enum": [ + "ImageDefault", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "WindowsPatchAssessmentMode", + "modelAsString": true + } + } + }, + "description": "Specifies settings related to VM Guest Patching on Windows." + }, + "LinuxPatchSettings": { + "properties": { + "patchMode": { + "type": "string", + "description": "Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual machines associated to virtual machine scale set with OrchestrationMode as Flexible.

    Possible values are:

    **ImageDefault** - The virtual machine's default patching configuration is used.

    **AutomaticByPlatform** - The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true", + "enum": [ + "ImageDefault", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "LinuxVMGuestPatchMode", + "modelAsString": true + } + }, + "assessmentMode": { + "type": "string", + "description": "Specifies the mode of VM Guest Patch Assessment for the IaaS virtual machine.

    Possible values are:

    **ImageDefault** - You control the timing of patch assessments on a virtual machine.

    **AutomaticByPlatform** - The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.", + "enum": [ + "ImageDefault", + "AutomaticByPlatform" + ], + "x-ms-enum": { + "name": "LinuxPatchAssessmentMode", + "modelAsString": true + } + } + }, + "description": "Specifies settings related to VM Guest Patching on Linux." + }, + "VirtualMachinePatchStatus": { + "properties": { + "availablePatchSummary": { + "$ref": "#/definitions/AvailablePatchSummary", + "description": "The available patch summary of the latest assessment operation for the virtual machine." + }, + "lastPatchInstallationSummary": { + "$ref": "#/definitions/LastPatchInstallationSummary", + "description": "The installation summary of the latest installation operation for the virtual machine." + }, + "configurationStatuses": { + "description": "The enablement status of the specified patchMode", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + } + } + }, + "description": "The status of virtual machine patch operations." + }, + "AvailablePatchSummary": { + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "Unknown", + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } + }, + "assessmentActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "rebootPending": { + "type": "boolean", + "readOnly": true, + "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred." + }, + "criticalAndSecurityPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of critical or security patches that have been detected as available and not yet installed." + }, + "otherPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches excluding critical and security." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "lastModifiedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." + } + }, + "description": "Describes the properties of an virtual machine instance view for available patch summary." + }, + "LastPatchInstallationSummary": { + "properties": { + "status": { + "type": "string", + "readOnly": true, + "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Unknown\", \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"", + "enum": [ + "Unknown", + "InProgress", + "Failed", + "Succeeded", + "CompletedWithWarnings" + ], + "x-ms-enum": { + "name": "PatchOperationStatus", + "modelAsString": true + } + }, + "installationActivityId": { + "type": "string", + "readOnly": true, + "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs." + }, + "maintenanceWindowExceeded": { + "type": "boolean", + "readOnly": true, + "description": "Describes whether the operation ran out of time before it completed all its intended actions" + }, + "notSelectedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry." + }, + "excludedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches but excluded explicitly by a customer-specified exclusion list match." + }, + "pendingPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The number of all available patches expected to be installed over the course of the patch installation operation." + }, + "installedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The count of patches that successfully installed." + }, + "failedPatchCount": { + "type": "integer", + "readOnly": true, + "format": "int32", + "description": "The count of patches that failed installation." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "lastModifiedTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The UTC timestamp when the operation began." + }, + "error": { + "$ref": "#/definitions/ApiError", + "readOnly": true, + "description": "The errors that were encountered during execution of the operation. The details array contains the list of them." + } + }, + "description": "Describes the properties of the last installed patch summary." } }, "parameters": { @@ -8346,4 +15109,4 @@ "description": "Client Api Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Compute/disk.json b/App_Data/SwaggerSpecs/Microsoft.Compute/disk.json index cdb8fb3c..a798cf04 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Compute/disk.json +++ b/App_Data/SwaggerSpecs/Microsoft.Compute/disk.json @@ -3,7 +3,7 @@ "info": { "title": "DiskResourceProviderClient", "description": "The Disk Resource Provider Client.", - "version": "2017-03-30" + "version": "2021-04-01" }, "host": "management.azure.com", "schemes": [ @@ -72,12 +72,53 @@ } }, "202": { - "description":"Accepted", + "description": "Accepted", "schema": { "$ref": "#/definitions/Disk" } } }, + "x-ms-examples": { + "Create an empty managed disk.": { + "$ref": "./examples/CreateAnEmptyManagedDisk.json" + }, + "Create a managed disk from a platform image.": { + "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json" + }, + "Create a managed disk from an existing managed disk in the same or different subscription.": { + "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json" + }, + "Create a managed disk by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a managed disk by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json" + }, + "Create a managed disk by copying a snapshot.": { + "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json" + }, + "Create a managed upload disk.": { + "$ref": "./examples/CreateAManagedUploadDisk.json" + }, + "Create a managed disk and associate with disk access resource.": { + "$ref": "./examples/CreateAManagedDiskWithDiskAccess.json" + }, + "Create a managed disk and associate with disk encryption set.": { + "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json" + }, + "Create an ultra managed disk with logicalSectorSize 512E": { + "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.json" + }, + "Create an empty managed disk in extended location.": { + "$ref": "./examples/CreateAnEmptyManagedDiskInExtendedLocation.json" + }, + "Create a managed disk with ssd zrs account type.": { + "$ref": "./examples/CreateAManagedDiskWithSSDZRSAccountType.json" + }, + "Create a managed disk with security profile": { + "$ref": "./examples/CreateAManagedDiskWithSecurityProfile.json" + } + }, "x-ms-long-running-operation": true }, "patch": { @@ -123,7 +164,30 @@ } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update managed disk to remove disk access resource association.": { + "$ref": "./examples/UpdateAManagedDiskToRemoveDiskAccess.json" + }, + "Update a managed disk to add purchase plan.": { + "$ref": "./examples/UpdateAManagedDiskToAddPurchasePlan.json" + }, + "Update a managed disk to disable bursting.": { + "$ref": "./examples/UpdateAManagedDiskToDisableBursting.json" + }, + "Create or update a bursting enabled managed disk.": { + "$ref": "./examples/CreateOrUpdateABurstingEnabledManagedDisk.json" + }, + "Update a managed disk to add supportsHibernation.": { + "$ref": "./examples/UpdateAManagedDiskToAddSupportsHibernation.json" + }, + "Update a managed disk to add accelerated networking.": { + "$ref": "./examples/UpdateAManagedDiskToAddAcceleratedNetworking.json" + }, + "Update a managed disk to change tier.": { + "$ref": "./examples/UpdateAManagedDiskToChangeTier.json" + } + } }, "get": { "tags": [ @@ -152,6 +216,11 @@ "$ref": "#/definitions/Disk" } } + }, + "x-ms-examples": { + "Get information about a managed disk.": { + "$ref": "./examples/GetInformationAboutAManagedDisk.json" + } } }, "delete": { @@ -176,10 +245,7 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatusResponse" - } + "description": "OK" }, "202": { "description": "Accepted" @@ -188,6 +254,11 @@ "description": "If the disk is deleted, this is an expected error code." } }, + "x-ms-examples": { + "Delete a managed disk.": { + "$ref": "./examples/DeleteAManagedDisk.json" + } + }, "x-ms-long-running-operation": true } }, @@ -217,6 +288,11 @@ } } }, + "x-ms-examples": { + "List all managed disks in a resource group.": { + "$ref": "./examples/ListManagedDisksInAResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -245,6 +321,11 @@ } } }, + "x-ms-examples": { + "List all managed disks in a subscription.": { + "$ref": "./examples/ListManagedDisksInASubscription.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -291,7 +372,15 @@ "description": "Accepted" } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Get a sas on a managed disk.": { + "$ref": "./examples/BeginGetAccessManagedDisk.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": { @@ -317,16 +406,21 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatusResponse" - } + "description": "OK" }, "202": { "description": "Accepted" } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Revoke access to a managed disk.": { + "$ref": "./examples/EndGetAccessManagedDisk.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": { @@ -373,6 +467,20 @@ } } }, + "x-ms-examples": { + "Create a snapshot from an existing snapshot in the same or a different subscription.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json" + }, + "Create a snapshot by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a snapshot by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json" + }, + "Create a snapshot from an existing snapshot in the same or a different subscription in a different region.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshotInDifferentRegion.json" + } + }, "x-ms-long-running-operation": true }, "patch": { @@ -418,6 +526,11 @@ } } }, + "x-ms-examples": { + "Update a snapshot.": { + "$ref": "./examples/UpdateASnapshot.json" + } + }, "x-ms-long-running-operation": true }, "get": { @@ -447,6 +560,11 @@ "$ref": "#/definitions/Snapshot" } } + }, + "x-ms-examples": { + "Get information about a snapshot.": { + "$ref": "./examples/GetInformationAboutASnapshot.json" + } } }, "delete": { @@ -471,10 +589,7 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationStatusResponse" - } + "description": "OK" }, "202": { "description": "Accepted" @@ -483,6 +598,11 @@ "description": "If the snapshot is deleted, this is an expected error code." } }, + "x-ms-examples": { + "Delete a snapshot.": { + "$ref": "./examples/DeleteASnapshot.json" + } + }, "x-ms-long-running-operation": true } }, @@ -512,6 +632,11 @@ } } }, + "x-ms-examples": { + "List all snapshots in a resource group.": { + "$ref": "./examples/ListSnapshotsInAResourceGroup.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -540,6 +665,11 @@ } } }, + "x-ms-examples": { + "List all snapshots in a subscription.": { + "$ref": "./examples/ListSnapshotsInASubscription.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -586,7 +716,15 @@ "description": "Accepted" } }, - "x-ms-long-running-operation": true + "x-ms-examples": { + "Get a sas on a snapshot.": { + "$ref": "./examples/BeginGetAccessSnapshot.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": { @@ -610,86 +748,2258 @@ "$ref": "#/parameters/ApiVersionParameter" } ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-examples": { + "Revoke access to a snapshot.": { + "$ref": "./examples/EndGetAccessSnapshot.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": { + "put": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_CreateOrUpdate", + "description": "Creates or updates a disk encryption set", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "disk encryption set object supplied in the body of the Put disk encryption set operation." + } + ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationStatusResponse" + "$ref": "#/definitions/DiskEncryptionSet" } }, "202": { - "description": "Accepted" + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true - } - } - }, - "definitions": { - "Resource": { - "description": "The Resource model definition.", - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" + "x-ms-examples": { + "Create a disk encryption set.": { + "$ref": "./examples/CreateADiskEncryptionSet.json" + }, + "Create a disk encryption set with key vault from a different subscription.": { + "$ref": "./examples/CreateADiskEncryptionSetWithKeyVaultFromADifferentSubscription.json" + } }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Update", + "description": "Updates (patches) a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskEncryptionSet", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskEncryptionSetUpdate" + }, + "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" + "x-ms-examples": { + "Update a disk encryption set.": { + "$ref": "./examples/UpdateADiskEncryptionSet.json" + }, + "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Succeeded": { + "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabled.json" + }, + "Update a disk encryption set with rotationToLatestKeyVersionEnabled set to true - Updating": { + "$ref": "./examples/UpdateADiskEncryptionSetWithRotationToLatestKeyVersionEnabledInProgress.json" + } }, - "location": { - "type": "string", - "description": "Resource location" + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Get", + "description": "Gets information about a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "x-ms-examples": { + "Get information about a disk encryption set.": { + "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json" }, - "description": "Resource tags" + "Get information about a disk encryption set when auto-key rotation failed.": { + "$ref": "./examples/GetInformationAboutADiskEncryptionSetWithAutoKeyRotationError.json" + } } }, - "required": [ - "location" - ], - "x-ms-azure-resource": true - }, - "ResourceUpdate": { - "description": "The Resource model definition.", - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "delete": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_Delete", + "description": "Deletes a disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" }, - "description": "Resource tags" + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk encryption set is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - "sku": { - "$ref": "#/definitions/DiskSku" - } - }, - "x-ms-azure-resource": true + "x-ms-examples": { + "Delete a disk encryption set.": { + "$ref": "./examples/DeleteADiskEncryptionSet.json" + } + }, + "x-ms-long-running-operation": true + } }, - "Disk": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListByResourceGroup", + "description": "Lists all the disk encryption sets under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a resource group.": { + "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_List", + "description": "Lists all the disk encryption sets under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskEncryptionSetList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk encryption sets in a subscription.": { + "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}/associatedResources": { + "get": { + "tags": [ + "DiskEncryptionSets" + ], + "operationId": "DiskEncryptionSets_ListAssociatedResources", + "description": "Lists all resources that are encrypted with this disk encryption set.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskEncryptionSetNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ResourceUriList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all resources that are encrypted with this disk encryption set.": { + "$ref": "./examples/ListDiskEncryptionSetAssociatedResources.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_CreateOrUpdate", + "description": "Creates or updates a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "disk access object supplied in the body of the Put disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a disk access resource.": { + "$ref": "./examples/CreateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Update", + "description": "Updates (patches) a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "diskAccess", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskAccessUpdate" + }, + "description": "disk access object supplied in the body of the Patch disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a disk access resource.": { + "$ref": "./examples/UpdateADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Get", + "description": "Gets information about a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccess" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a disk access resource.": { + "$ref": "./examples/GetInformationAboutADiskAccess.json" + }, + "Get information about a disk access resource with private endpoints.": { + "$ref": "./examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_Delete", + "description": "Deletes a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk access resource is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a disk access resource.": { + "$ref": "./examples/DeleteADiskAccess.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListByResourceGroup", + "description": "Lists all the disk access resources under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a resource group.": { + "$ref": "./examples/ListDiskAccessesInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskAccesses": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_List", + "description": "Lists all the disk access resources under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskAccessList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all disk access resources in a subscription.": { + "$ref": "./examples/ListDiskAccessesInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateLinkResources": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetPrivateLinkResources", + "description": "Gets the private link resources possible under disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + } + }, + "x-ms-examples": { + "List all possible private link resources under disk access resource.": { + "$ref": "./examples/GetDiskAccessPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_UpdateAPrivateEndpointConnection", + "description": "Approve or reject a private endpoint connection under disk access resource, this can't be used to create a new private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "private endpoint connection object supplied in the body of the Put private endpoint connection operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Approve a Private Endpoint Connection under a disk access resource.": { + "$ref": "./examples/ApprovePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_GetAPrivateEndpointConnection", + "description": "Gets information about a private endpoint connection under a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a disk access resource.": { + "$ref": "./examples/GetInformationAboutAPrivateEndpointConnection.json" + } + } + }, + "delete": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_DeleteAPrivateEndpointConnection", + "description": "Deletes a private endpoint connection under a disk access resource.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the private endpoint connection is already deleted, this is an expected error code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a private endpoint connection under a disk access resource.": { + "$ref": "./examples/DeleteAPrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskAccesses/{diskAccessName}/privateEndpointConnections": { + "get": { + "tags": [ + "DiskAccesses" + ], + "operationId": "DiskAccesses_ListPrivateEndpointConnections", + "description": "List information about private endpoint connections under a disk access resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskAccessNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get information about a private endpoint connection under a disk access resource.": { + "$ref": "./examples/ListPrivateEndpointConnectionsInADiskAccess.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}": { + "get": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_Get", + "description": "Get disk restorePoint resource", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskRestorePoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get an incremental disk restorePoint resource.": { + "$ref": "./examples/GetDiskRestorePointResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints": { + "get": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_ListByRestorePoint", + "description": "Lists diskRestorePoints under a vmRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskRestorePointList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get an incremental disk restorePoint resource.": { + "$ref": "./examples/ListDiskRestorePointsInVmRestorePoint.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/beginGetAccess": { + "post": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_GrantAccess", + "description": "Grants access to a diskRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Grants access to a diskRestorePoint.": { + "$ref": "./examples/BeginGetAccessDiskRestorePoint.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/restorePointCollections/{restorePointCollectionName}/restorePoints/{vmRestorePointName}/diskRestorePoints/{diskRestorePointName}/endGetAccess": { + "post": { + "tags": [ + "IncrementalRestorePoints" + ], + "operationId": "DiskRestorePoint_RevokeAccess", + "description": "Revokes access to a diskRestorePoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/RestorePointCollectionNameParameter" + }, + { + "$ref": "#/parameters/VmRestorePointNameParameter" + }, + { + "$ref": "#/parameters/DiskRestorePointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Revokes access to a diskRestorePoint.": { + "$ref": "./examples/EndGetAccessDiskRestorePoint.json" + } + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "ProxyOnlyResource": { + "description": "The ProxyOnly Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + } + }, + "Disk": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + }, + "managedByExtended": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "List of relative URIs containing the IDs of the VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "sku": { + "$ref": "#/definitions/DiskSku" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Logical zone list for Disk." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the disk will be created. Extended location cannot be changed." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Disk resource." + }, + "DiskUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/DiskSku" + } + }, + "description": "Disk update resource." + }, + "DiskList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "A list of disks." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks." + } + }, + "required": [ + "value" + ], + "description": "The List Disks operation response." + }, + "DiskSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS", + "Premium_ZRS", + "StandardSSD_ZRS" + ], + "x-ms-enum": { + "name": "DiskStorageAccountTypes", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + }, + { + "value": "UltraSSD_LRS", + "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads." + }, + { + "value": "Premium_ZRS", + "description": "Premium SSD zone redundant storage. Best for the production workloads that need storage resiliency against zone failures." + }, + { + "value": "StandardSSD_ZRS", + "description": "Standard SSD zone redundant storage. Best for web servers, lightly used enterprise applications and dev/test that need storage resiliency against zone failures." + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, UltraSSD_LRS, Premium_ZRS, or StandardSSD_ZRS." + }, + "SnapshotSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ], + "x-ms-enum": { + "name": "SnapshotStorageAccountTypes", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage" + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage" + }, + { + "value": "Standard_ZRS", + "description": "Standard zone redundant storage" + } + ] + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "description": "The sku tier." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS. This is an optional parameter for incremental snapshot and the default behavior is the SKU will be set to the same sku as the previous snapshot" + }, + "DiskProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the the image from which the OS disk was created. E.g. - {name: 2019-Datacenter, publisher: MicrosoftWindowsServer, product: WindowsServer}" + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities for the image from which the OS disk was created." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the disk." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "shareInfo": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareInfoElement" + }, + "description": "Details of the list of all VMs that have the disk attached. maxShares should be set to a value greater than one for disks to allow attaching them to multiple VMs." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + }, + "burstingEnabled": { + "type": "boolean", + "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks." + }, + "propertyUpdatesInProgress": { + "readOnly": true, + "$ref": "#/definitions/PropertyUpdatesInProgress", + "description": "Properties of the disk for which update is pending." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "securityProfile": { + "$ref": "#/definitions/DiskSecurityProfile", + "description": "Contains the security related information for the resource." + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy when a resource is created via the CopyStart operation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "SnapshotProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the snapshot was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the image from which the source disk for the snapshot was originally created." + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities (like Accelerated Networking) for the image from which the source disk from the snapshot was originally created." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." + }, + "diskState": { + "$ref": "#/definitions/DiskState", + "description": "The state of the snapshot." + }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "incremental": { + "type": "boolean", + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a snapshot supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy when a resource is created via the CopyStart operation." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "ShareInfoElement": { + "properties": { + "vmUri": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + } + } + }, + "EncryptionSetProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyForDiskEncryptionSet", + "description": "The key vault key which is currently used by this disk encryption set." + }, + "previousKeys": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/KeyForDiskEncryptionSet" + }, + "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk encryption set provisioning state." + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version." + }, + "lastKeyRotationTimestamp": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the active key of this disk encryption set was updated." + }, + "autoKeyRotationError": { + "readOnly": true, + "$ref": "#/definitions/ApiError", + "description": "The error that was encountered during auto-key rotation. If an error is present, then auto-key rotation will not be attempted until the error on this disk encryption set is fixed." + } + } + }, + "EncryptionSettingsCollection": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + }, + "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "properties": { + "diskEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndSecretReference", + "description": "Key Vault Secret Url and vault id of the disk encryption key" + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key." + } + }, + "description": "Encryption settings for one disk volume." + }, + "KeyVaultAndSecretReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "KeyVaultAndKeyReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "KeyForDiskEncryptionSet": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret. This property is optional and cannot be used if the KeyVault subscription is not the same as the Disk Encryption Set subscription." + }, + "keyUrl": { + "type": "string", + "description": "Fully versioned Key Url pointing to a key in KeyVault. Version segment of the Url is required regardless of rotationToLatestKeyVersionEnabled value." + } + }, + "required": [ + "keyUrl" + ], + "description": "Key Vault Key Url to be used for server side encryption of Managed Disks and Snapshots" + }, + "SourceVault": { + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "EncryptionType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithPlatformKey", + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "EncryptionType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithPlatformKey", + "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type. This is not a valid encryption type for disk encryption sets." + }, + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Disk is encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Disk is encrypted at rest with 2 layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "DiskEncryptionSetType": { + "type": "string", + "description": "The type of key used to encrypt the data of the disk.", + "enum": [ + "EncryptionAtRestWithCustomerKey", + "EncryptionAtRestWithPlatformAndCustomerKeys" + ], + "x-ms-enum": { + "name": "DiskEncryptionSetType", + "modelAsString": true, + "values": [ + { + "value": "EncryptionAtRestWithCustomerKey", + "description": "Resource using diskEncryptionSet would be encrypted at rest with Customer managed key that can be changed and revoked by a customer." + }, + { + "value": "EncryptionAtRestWithPlatformAndCustomerKeys", + "description": "Resource using diskEncryptionSet would be encrypted at rest with two layers of encryption. One of the keys is Customer managed and the other key is Platform managed." + } + ] + } + }, + "Encryption": { + "properties": { + "diskEncryptionSetId": { + "type": "string", + "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." + }, + "type": { + "$ref": "#/definitions/EncryptionType" + } + }, + "description": "Encryption at rest settings for disk or snapshot" + }, + "NetworkAccessPolicy": { + "type": "string", + "description": "Policy for accessing the disk via network.", + "enum": [ + "AllowAll", + "AllowPrivate", + "DenyAll" + ], + "x-ms-enum": { + "name": "NetworkAccessPolicy", + "modelAsString": true, + "values": [ + { + "value": "AllowAll", + "description": "The disk can be exported or uploaded to from any network." + }, + { + "value": "AllowPrivate", + "description": "The disk can be exported or uploaded to using a DiskAccess resource's private endpoints." + }, + { + "value": "DenyAll", + "description": "The disk cannot be exported." + } + ] + } + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Policy for controlling export on the disk.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "You can generate a SAS URI to access the underlying data of the disk publicly on the internet when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate." + }, + { + "value": "Disabled", + "description": "You cannot access the underlying data of the disk publicly on the internet even when NetworkAccessPolicy is set to AllowAll. You can access the data via the SAS URI only from your trusted Azure VNET when NetworkAccessPolicy is set to AllowPrivate." + } + ] + } + }, + "DiskUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int64", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskIOPSReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total number of IOPS that will be allowed across all VMs mounting the shared disk as ReadOnly. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadOnly": { + "type": "integer", + "format": "int64", + "description": "The total throughput (MBps) that will be allowed across all VMs mounting the shared disk as ReadOnly. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "maxShares": { + "type": "integer", + "format": "int32", + "description": "The maximum number of VMs that can attach to the disk at the same time. Value greater than one indicates a disk that can be mounted on multiple VMs at the same time." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "tier": { + "type": "string", + "description": "Performance tier of the disk (e.g, P4, S10) as described here: https://azure.microsoft.com/en-us/pricing/details/managed-disks/. Does not apply to Ultra disks." + }, + "burstingEnabled": { + "type": "boolean", + "description": "Set to true to enable bursting beyond the provisioned performance target of the disk. Bursting is disabled by default. Does not apply to Ultra disks." + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information to be added on the OS disk" + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities (like accelerated networking) to be added on the OS disk." + }, + "propertyUpdatesInProgress": { + "readOnly": true, + "$ref": "#/definitions/PropertyUpdatesInProgress", + "description": "Properties of the disk for which update is pending." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + } + }, + "description": "Disk resource update properties." + }, + "SnapshotUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a snapshot supports hibernation." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + } + }, + "description": "Snapshot resource update properties." + }, + "DiskEncryptionSetUpdateProperties": { + "properties": { + "encryptionType": { + "$ref": "#/definitions/DiskEncryptionSetType" + }, + "activeKey": { + "$ref": "#/definitions/KeyForDiskEncryptionSet" + }, + "rotationToLatestKeyVersionEnabled": { + "type": "boolean", + "description": "Set this flag to true to enable auto-updating of this disk encryption set to the latest key version." + } + }, + "description": "disk encryption set resource update properties." + }, + "DiskState": { + "type": "string", + "description": "This enumerates the possible state of the disk.", + "readOnly": true, + "enum": [ + "Unattached", + "Attached", + "Reserved", + "Frozen", + "ActiveSAS", + "ActiveSASFrozen", + "ReadyToUpload", + "ActiveUpload" + ], + "x-ms-enum": { + "name": "DiskState", + "modelAsString": true, + "values": [ + { + "value": "Unattached", + "description": "The disk is not being used and can be attached to a VM." + }, + { + "value": "Attached", + "description": "The disk is currently attached to a running VM." + }, + { + "value": "Reserved", + "description": "The disk is attached to a stopped-deallocated VM." + }, + { + "value": "Frozen", + "description": "The disk is attached to a VM which is in hibernated state." + }, + { + "value": "ActiveSAS", + "description": "The disk currently has an Active SAS Uri associated with it." + }, + { + "value": "ActiveSASFrozen", + "description": "The disk is attached to a VM in hibernated state and has an active SAS URI associated with it." + }, + { + "value": "ReadyToUpload", + "description": "A disk is ready to be created by upload by requesting a write token." + }, + { + "value": "ActiveUpload", + "description": "A disk is created for upload and a write token has been issued for uploading to it." + } + ] + } + }, + "CreationData": { + "properties": { + "createOption": { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload", + "CopyStart" + ], + "x-ms-enum": { + "name": "DiskCreateOption", + "modelAsString": true, + "values": [ + { + "value": "Empty", + "description": "Create an empty data disk of a size given by diskSizeGB." + }, + { + "value": "Attach", + "description": "Disk will be attached to a VM." + }, + { + "value": "FromImage", + "description": "Create a new disk from a platform image specified by the given imageReference or galleryImageReference." + }, + { + "value": "Import", + "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId." + }, + { + "value": "Copy", + "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId." + }, + { + "value": "Restore", + "description": "Create a new disk by copying from a backup recovery point." + }, + { + "value": "Upload", + "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk." + }, + { + "value": "CopyStart", + "description": "Create a new disk by using a deep copy process, where the resource creation is considered complete only after all data has been copied from the source." + } + ] + }, + "description": "This enumerates the possible sources of a disk's creation." + }, + "storageAccountId": { + "type": "string", + "description": "Required if createOption is Import. The Azure Resource Manager identifier of the storage account containing the blob to import as a disk." + }, + "imageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Disk source information." + }, + "galleryImageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Required if creating from a Gallery Image. The id of the ImageDiskReference will be the ARM id of the shared galley image version from which to create a disk." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + }, + "sourceUniqueId": { + "readOnly": true, + "type": "string", + "description": "If this field is set, this is the unique id identifying the source of this resource." + }, + "uploadSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 20972032 (20 MiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + }, + "logicalSectorSize": { + "type": "integer", + "format": "int32", + "description": "Logical sector size in bytes for Ultra disks. Supported values are 512 ad 4096. 4096 is the default." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "ImageDiskReference": { + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "PurchasePlan": { + "properties": { + "name": { + "type": "string", + "description": "The plan ID." + }, + "publisher": { + "type": "string", + "description": "The publisher ID." + }, + "product": { + "type": "string", + "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element." + }, + "promotionCode": { + "type": "string", + "description": "The Offer Promotion Code." + } + }, + "required": [ + "publisher", + "name", + "product" + ], + "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace." + }, + "SupportedCapabilities": { + "type": "object", + "properties": { + "acceleratedNetwork": { + "type": "boolean", + "description": "True if the image from which the OS disk is created supports accelerated networking." + } + }, + "description": "List of supported capabilities (like accelerated networking) persisted on the disk resource for VM use." + }, + "PropertyUpdatesInProgress": { + "properties": { + "targetTier": { + "type": "string", + "description": "The target performance tier of the disk if a tier change operation is in progress." + } + }, + "description": "Properties of the disk for which update is pending." + }, + "DiskSecurityType": { + "type": "string", + "description": "Specifies the SecurityType of the VM. Applicable for OS disks only.", + "enum": [ + "TrustedLaunch" + ], + "x-ms-enum": { + "name": "DiskSecurityTypes", + "modelAsString": true, + "values": [ + { + "value": "TrustedLaunch", + "description": "Trusted Launch provides security features such as secure boot and virtual Trusted Platform Module (vTPM)" + } + ] + } + }, + "DiskSecurityProfile": { + "properties": { + "securityType": { + "$ref": "#/definitions/DiskSecurityType" + } + }, + "description": "Contains the security related information for the resource." + }, + "GrantAccessData": { + "properties": { + "access": { + "type": "string", + "enum": [ + "None", + "Read", + "Write" + ], + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "durationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time duration in seconds until the SAS access expires." + } + }, + "required": [ + "access", + "durationInSeconds" + ], + "description": "Data used for requesting a SAS." + }, + "AccessUri": { + "properties": { + "accessSAS": { + "readOnly": true, + "type": "string", + "description": "A SAS uri for accessing a disk." + } + }, + "description": "A disk access SAS uri." + }, + "Snapshot": { "properties": { "managedBy": { "readOnly": true, "type": "string", - "description": "A relative URI containing the ID of the VM that has the disk attached." + "description": "Unused. Always Null." }, "sku": { - "$ref": "#/definitions/DiskSku" + "$ref": "#/definitions/SnapshotSku" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the snapshot will be created. Extended location cannot be changed." }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/DiskProperties" + "$ref": "#/definitions/SnapshotProperties" } }, "allOf": [ @@ -697,384 +3007,522 @@ "$ref": "#/definitions/Resource" } ], - "description": "Disk resource." + "description": "Snapshot resource." }, - "DiskUpdate": { + "SnapshotUpdate": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/DiskUpdateProperties" + "$ref": "#/definitions/SnapshotUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" } }, - "allOf": [ - { - "$ref": "#/definitions/ResourceUpdate" - } - ], - "description": "Disk update resource." + "description": "Snapshot update resource." }, - "DiskList": { + "SnapshotList": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Disk" + "$ref": "#/definitions/Snapshot" }, - "description": "A list of disks." + "description": "A list of snapshots." }, "nextLink": { "type": "string", - "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks." + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." } }, "required": [ "value" ], - "description": "The List Disks operation response." + "description": "The List Snapshots operation response." }, - "DiskSku": { + "EncryptionSetIdentity": { "properties": { - "name": { + "type": { "type": "string", "enum": [ - "Standard_LRS", - "Premium_LRS" + "SystemAssigned", + "None" ], "x-ms-enum": { - "name": "StorageAccountTypes", - "modelAsString": false + "name": "DiskEncryptionSetIdentityType", + "modelAsString": true }, - "description": "The sku name." + "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported for new creations. Disk Encryption Sets can be updated with Identity type None during migration of subscription to a new Azure Active Directory tenant; it will cause the encrypted resources to lose access to the keys." }, - "tier": { + "principalId": { + "readOnly": true, "type": "string", + "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity" + }, + "tenantId": { "readOnly": true, - "default": "Standard", - "description": "The sku tier." + "type": "string", + "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity" } }, - "description": "The disks and snapshots sku name. Can be Standard_LRS or Premium_LRS." + "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks." }, - "DiskProperties": { + "DiskEncryptionSet": { "properties": { - "timeCreated": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The time when the disk was created." - }, - "osType": { - "type": "string", - "description": "The Operating System type.", - "enum": [ - "Windows", - "Linux" - ], - "x-ms-enum": { - "name": "OperatingSystemTypes", - "modelAsString": false - } - }, - "creationData": { - "$ref": "#/definitions/CreationData", - "description": "Disk source information. CreationData information cannot be changed after the disk has been created." - }, - "diskSizeGB": { - "type": "integer", - "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." - }, - "encryptionSettings": { - "$ref": "#/definitions/EncryptionSettings", - "description": "Encryption settings for disk or snapshot" + "identity": { + "$ref": "#/definitions/EncryptionSetIdentity" }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The disk provisioning state." + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EncryptionSetProperties" } }, - "required": [ - "creationData" + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], - "description": "Disk resource properties." + "description": "disk encryption set resource." }, - "EncryptionSettings": { + "DiskEncryptionSetUpdate": { "properties": { - "enabled": { - "type": "boolean", - "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskEncryptionSetUpdateProperties" }, - "diskEncryptionKey": { - "$ref": "#/definitions/KeyVaultAndSecretReference", - "description": "Key Vault Secret Url and vault id of the disk encryption key" + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" }, - "keyEncryptionKey": { - "$ref": "#/definitions/KeyVaultAndKeyReference", - "description": "Key Vault Key Url and vault id of the key encryption key" + "identity": { + "$ref": "#/definitions/EncryptionSetIdentity" } }, - "description": "Encryption settings for disk or snapshot" + "description": "disk encryption set update resource." }, - "KeyVaultAndSecretReference": { + "DiskEncryptionSetList": { "properties": { - "sourceVault": { - "$ref": "#/definitions/SourceVault", - "description": "Resource id of the KeyVault containing the key or secret" + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskEncryptionSet" + }, + "description": "A list of disk encryption sets." }, - "secretUrl": { + "nextLink": { "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets." } }, "required": [ - "secretUrl", - "sourceVault" + "value" ], - "description": "Key Vault Secret Url and vault id of the encryption key " + "description": "The List disk encryption set operation response." }, - "KeyVaultAndKeyReference": { + "ResourceUriList": { "properties": { - "sourceVault": { - "$ref": "#/definitions/SourceVault", - "description": "Resource id of the KeyVault containing the key or secret" + "value": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of IDs or Owner IDs of resources which are encrypted with the disk encryption set." }, - "keyUrl": { + "nextLink": { "type": "string", - "description": "Url pointing to a key or secret in KeyVault" + "description": "The uri to fetch the next page of encrypted resources. Call ListNext() with this to fetch the next page of encrypted resources." } }, "required": [ - "keyUrl", - "sourceVault" + "value" ], - "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + "description": "The List resources which are encrypted with the disk encryption set." }, - "SourceVault": { + "PrivateEndpoint": { "properties": { "id": { + "readOnly": true, "type": "string", - "description": "Resource Id" + "description": "The ARM identifier for Private Endpoint" } }, - "description": "The vault id is an Azure Resource Manager Resoure id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + "description": "The Private Endpoint resource." }, - "DiskUpdateProperties": { + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkServiceConnectionState": { "properties": { - "osType": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service." + }, + "description": { "type": "string", - "description": "the Operating System type.", - "enum": [ - "Windows", - "Linux" - ], - "x-ms-enum": { - "name": "OperatingSystemTypes", - "modelAsString": false - } + "description": "The reason for approval/rejection of the connection." }, - "diskSizeGB": { - "type": "integer", - "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private end point.", + "readOnly": true }, - "encryptionSettings": { - "$ref": "#/definitions/EncryptionSettings", - "description": "Encryption settings for disk or snapshot" + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between DiskAccess and Virtual Network." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "The provisioning state of the private endpoint connection resource." } }, - "description": "Disk resource update properties." + "required": [ + "privateLinkServiceConnectionState" + ], + "description": "Properties of the PrivateEndpointConnectProperties." }, - "CreationData": { + "PrivateEndpointConnection": { "properties": { - "createOption": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "id": { + "readOnly": true, "type": "string", - "enum": [ - "Empty", - "Attach", - "FromImage", - "Import", - "Copy" - ], - "x-ms-enum": { - "name": "DiskCreateOption", - "modelAsString": false - }, - "description": "This enumerates the possible sources of a disk's creation." + "description": "private endpoint connection Id" }, - "storageAccountId": { + "name": { + "readOnly": true, "type": "string", - "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + "description": "private endpoint connection name" }, - "imageReference": { - "$ref": "#/definitions/ImageDiskReference", - "description": "Disk source information." + "type": { + "readOnly": true, + "type": "string", + "description": "private endpoint connection type" + } + }, + "description": "The Private Endpoint Connection resource.", + "x-ms-azure-resource": true + }, + "DiskAccessProperties": { + "properties": { + "privateEndpointConnections": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "A readonly collection of private endpoint connections created on the disk. Currently only one endpoint connection is supported." }, - "sourceUri": { + "provisioningState": { + "readOnly": true, "type": "string", - "description": "If creationOption is Import, this is the URI of a blob to be imported into a managed disk." + "description": "The disk access resource provisioning state." }, - "sourceResourceId": { + "timeCreated": { + "readOnly": true, "type": "string", - "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + "format": "date-time", + "description": "The time when the disk access was created." } - }, - "required": [ - "createOption" - ], - "description": "Data used when creating a disk." + } }, - "ImageDiskReference": { + "DiskAccess": { "properties": { - "id": { - "type": "string", - "description": "A relative uri containing either a Platform Imgage Repository or user image reference." + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskAccessProperties" }, - "lun": { - "type": "integer", - "format": "int32", - "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location where the disk access will be created. Extended location cannot be changed." } }, - "required": [ - "id" + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], - "description": "The source image used for creating the disk." + "description": "disk access resource." }, - "GrantAccessData": { + "DiskAccessList": { "properties": { - "access": { - "type": "string", - "enum": [ - "None", - "Read" - ], - "x-ms-enum": { - "name": "AccessLevel", - "modelAsString": false - } + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DiskAccess" + }, + "description": "A list of disk access resources." }, - "durationInSeconds": { - "type": "integer", - "format": "int32", - "description": "Time duration in seconds until the SAS access expires." + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disk access resources. Call ListNext() with this to fetch the next page of disk access resources." } }, "required": [ - "access", - "durationInSeconds" + "value" ], - "description": "Data used for requesting a SAS." - }, - "AccessUri": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AccessUriOutput", - "description": "Operation output data (raw JSON)" - } - }, - "description": "A disk access SAS uri." + "description": "The List disk access operation response." }, - "AccessUriOutput": { + "DiskAccessUpdate": { "properties": { - "output": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AccessUriRaw", - "description": "Operation output data (raw JSON)" + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" } }, - "description": "Azure properties, including output." + "description": "Used for updating a disk access resource." }, - "AccessUriRaw": { + "PrivateLinkResource": { "properties": { - "accessSAS": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "id": { "readOnly": true, "type": "string", - "description": "A SAS uri for accessing a disk." + "description": "private link resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "private link resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "private link resource type" } }, - "description": "This object gets 'bubbled up' through flattening." + "description": "A private link resource" }, - "Snapshot": { + "PrivateLinkResourceProperties": { "properties": { - "sku": { - "$ref": "#/definitions/DiskSku" + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/DiskProperties" + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The private link resource DNS zone name." } }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "Snapshot resource." + "description": "Properties of a private link resource." }, - "SnapshotUpdate": { + "DiskRestorePoint": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/DiskUpdateProperties" + "$ref": "#/definitions/DiskRestorePointProperties" } }, "allOf": [ { - "$ref": "#/definitions/ResourceUpdate" + "$ref": "#/definitions/ProxyOnlyResource" } ], - "description": "Snapshot update resource." + "description": "Properties of disk restore point" }, - "SnapshotList": { + "DiskRestorePointList": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/DiskRestorePoint" }, - "description": "A list of snapshots." + "description": "A list of disk restore points." }, "nextLink": { "type": "string", - "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." + "description": "The uri to fetch the next page of disk restore points. Call ListNext() with this to fetch the next page of disk restore points." } }, "required": [ "value" ], - "description": "The List Snapshots operation response." + "description": "The List Disk Restore Points operation response." }, - "ApiErrorBase": { + "DiskRestorePointProperties": { "properties": { - "code": { + "timeCreated": { "type": "string", - "description": "The error code." + "format": "date-time", + "description": "The timestamp of restorePoint creation", + "readOnly": true }, - "target": { + "sourceResourceId": { "type": "string", - "description": "The target of the particular error." + "description": "arm id of source disk", + "readOnly": true }, - "message": { + "osType": { "type": "string", - "description": "The error message." + "readOnly": true, + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "purchasePlan": { + "$ref": "#/definitions/PurchasePlan", + "description": "Purchase plan information for the the image from which the OS disk was created." + }, + "supportedCapabilities": { + "$ref": "#/definitions/SupportedCapabilities", + "description": "List of supported capabilities (like accelerated networking) for the image from which the OS disk was created." + }, + "familyId": { + "type": "string", + "description": "id of the backing snapshot's MIS family", + "readOnly": true + }, + "sourceUniqueId": { + "type": "string", + "description": "unique incarnation id of the source disk", + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption property can be used to encrypt data at rest with customer managed keys or platform managed keys.", + "readOnly": true + }, + "supportsHibernation": { + "type": "boolean", + "description": "Indicates the OS on a disk supports hibernation." + }, + "networkAccessPolicy": { + "$ref": "#/definitions/NetworkAccessPolicy" + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess" + }, + "diskAccessId": { + "type": "string", + "description": "ARM id of the DiskAccess resource for using private endpoints on disks." + }, + "completionPercent": { + "type": "number", + "description": "Percentage complete for the background copy when a resource is created via the CopyStart operation." } }, - "description": "Api error base." + "description": "Properties of an incremental disk restore point" }, - "InnerError": { + "PrivateLinkResourceListResult": { "properties": { - "exceptiontype": { - "type": "string", - "description": "The exception type." + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } }, - "errordetail": { + "nextLink": { "type": "string", - "description": "The internal error message or exception dump." + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." } }, - "description": "Inner error details." + "description": "A list of private link resources" + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." }, "ApiError": { "properties": { @@ -1104,37 +3552,59 @@ }, "description": "Api error." }, - "OperationStatusResponse": { + "ApiErrorBase": { "properties": { - "name": { - "readOnly": true, + "code": { "type": "string", - "description": "Operation ID" + "description": "The error code." }, - "status": { - "readOnly": true, + "target": { "type": "string", - "description": "Operation status" + "description": "The target of the particular error." }, - "startTime": { - "readOnly": true, + "message": { "type": "string", - "format": "date-time", - "description": "Start time of the operation" - }, - "endTime": { - "readOnly": true, + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { "type": "string", - "format": "date-time", - "description": "End time of the operation" + "description": "The exception type." }, - "error": { - "readOnly": true, - "$ref": "#/definitions/ApiError", - "description": "Api error" + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." } }, - "description": "Operation status response" + "description": "Inner error details." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } } }, "parameters": { @@ -1165,7 +3635,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the disk within the given subscription and resource group.", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.", "x-ms-parameter-location": "method" }, "SnapshotNameParameter": { @@ -1173,7 +3643,55 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the snapshot within the given subscription and resource group.", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The max name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskEncryptionSetNameParameter": { + "name": "diskEncryptionSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "DiskAccessNameParameter": { + "name": "diskAccessName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk access resource that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9, _ and -. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection.", + "x-ms-parameter-location": "method" + }, + "RestorePointCollectionNameParameter": { + "name": "restorePointCollectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the restore point collection that the disk restore point belongs.", + "x-ms-parameter-location": "method" + }, + "VmRestorePointNameParameter": { + "name": "vmRestorePointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vm restore point that the disk disk restore point belongs.", + "x-ms-parameter-location": "method" + }, + "DiskRestorePointNameParameter": { + "name": "diskRestorePointName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the disk restore point created.", "x-ms-parameter-location": "method" } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Compute/runCommands.json b/App_Data/SwaggerSpecs/Microsoft.Compute/runCommands.json index 3857b32a..b5196acc 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Compute/runCommands.json +++ b/App_Data/SwaggerSpecs/Microsoft.Compute/runCommands.json @@ -3,7 +3,7 @@ "info": { "title": "RunCommandsClient", "description": "The Run Commands Client.", - "version": "2018-10-01" + "version": "2021-07-01" }, "host": "management.azure.com", "schemes": [ @@ -43,7 +43,9 @@ ], "operationId": "VirtualMachineRunCommands_List", "x-ms-examples": { - "VirtualMachineRunCommandList": { "$ref": "./examples/VirtualMachineRunCommandList.json" } + "VirtualMachineRunCommandList": { + "$ref": "./examples/runCommands/VirtualMachineRunCommandList.json" + } }, "description": "Lists all available run commands for a subscription in a location.", "parameters": [ @@ -82,24 +84,675 @@ ], "operationId": "VirtualMachineRunCommands_Get", "x-ms-examples": { - "VirtualMachineRunCommandGet": { "$ref": "./examples/VirtualMachineRunCommandGet.json" } + "VirtualMachineRunCommandGet": { + "$ref": "./examples/runCommands/VirtualMachineRunCommandGet.json" + } }, "description": "Gets specific run command for a subscription in a location.", "parameters": [ { - "name": "location", + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location upon which run commands is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "The command id." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandDocument" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": { + "post": { + "tags": [ + "VirtualMachines" + ], + "operationId": "VirtualMachines_RunCommand", + "x-ms-examples": { + "VirtualMachineRunCommand": { + "$ref": "./examples/runCommands/VirtualMachineRunCommand.json" + } + }, + "description": "Run command on the VM.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandInput" + }, + "description": "Parameters supplied to the Run command operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": { + "post": { + "tags": [ + "VirtualMachineScaleSetVMs" + ], + "operationId": "VirtualMachineScaleSetVMs_RunCommand", + "x-ms-examples": { + "VirtualMachineScaleSetVMs_RunCommand": { + "$ref": "./examples/runCommands/VMScaleSetRunCommand.json" + } + }, + "description": "Run command on a virtual machine in a VM scale set.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandInput" + }, + "description": "Parameters supplied to the Run command operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands/{runCommandName}": { + "put": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_CreateOrUpdate", + "description": "The operation to create or update the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be created or updated." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "Parameters supplied to the Create Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create or update a run command.": { + "$ref": "./examples/runCommands/CreateOrUpdateRunCommand.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_Update", + "description": "The operation to update the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be updated." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update a run command.": { + "$ref": "./examples/runCommands/UpdateRunCommand.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_Delete", + "description": "The operation to delete the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine where the run command should be deleted." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete a run command.": { + "$ref": "./examples/runCommands/DeleteRunCommand.json" + } + } + }, + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_GetByVirtualMachine", + "description": "The operation to get the run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the run command." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a run command.": { + "$ref": "./examples/runCommands/GetRunCommand.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommands": { + "get": { + "tags": [ + "VirtualMachineRunCommands" + ], + "operationId": "VirtualMachineRunCommands_ListByVirtualMachine", + "description": "The operation to get all run commands of a Virtual Machine.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine containing the run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List run commands in a Virtual Machine.": { + "$ref": "./examples/runCommands/ListRunCommandsInVM.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands/{runCommandName}": { + "put": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_CreateOrUpdate", + "description": "The operation to create or update the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "Parameters supplied to the Create Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/runCommands/CreateOrUpdateVirtualMachineScaleSetVMRunCommands.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_Update", + "description": "The operation to update the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", + "in": "path", + "required": true, + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "runCommand", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommandUpdate" + }, + "description": "Parameters supplied to the Update Virtual Machine RunCommand operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualMachineRunCommand" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/runCommands/UpdateVirtualMachineScaleSetVMRunCommands.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineScaleSetVMRunCommands" + ], + "operationId": "VirtualMachineScaleSetVMRunCommands_Delete", + "description": "The operation to delete the VMSS VM run command.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "vmScaleSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VM scale set." + }, + { + "name": "instanceId", "in": "path", "required": true, "type": "string", - "description": "The location upon which run commands is queried.", - "pattern": "^[-\\w\\._]+$" + "description": "The instance ID of the virtual machine." }, { - "name": "commandId", + "name": "runCommandName", "in": "path", "required": true, "type": "string", - "description": "The command id." + "description": "The name of the virtual machine run command." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -110,24 +763,34 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/RunCommandDocument" + "$ref": "#/definitions/CloudError" } } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete VirtualMachineScaleSet VM run command.": { + "$ref": "./examples/runCommands/DeleteVirtualMachineScaleSetVMRunCommands.json" + } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": { - "post": { + }, + "get": { "tags": [ - "VirtualMachines" + "VirtualMachineScaleSetVMRunCommands" ], - "operationId": "VirtualMachines_RunCommand", - "x-ms-examples": { - "VirtualMachineRunCommand": { "$ref": "./examples/VirtualMachineRunCommand.json" } - }, - "description": "Run command on the VM.", + "operationId": "VirtualMachineScaleSetVMRunCommands_Get", + "description": "The operation to get the VMSS VM run command.", "parameters": [ { "name": "resourceGroupName", @@ -137,20 +800,32 @@ "description": "The name of the resource group." }, { - "name": "vmName", + "name": "vmScaleSetName", "in": "path", "required": true, "type": "string", - "description": "The name of the virtual machine." + "description": "The name of the VM scale set." }, { - "name": "parameters", - "in": "body", + "name": "instanceId", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/RunCommandInput" - }, - "description": "Parameters supplied to the Run command operation." + "type": "string", + "description": "The instance ID of the virtual machine." + }, + { + "name": "runCommandName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual machine run command." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -163,26 +838,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RunCommandResult" + "$ref": "#/definitions/VirtualMachineRunCommand" } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" + "x-ms-examples": { + "Get VirtualMachineScaleSet VM run commands.": { + "$ref": "./examples/runCommands/GetVirtualMachineScaleSetVMRunCommands.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/runCommands": { + "get": { "tags": [ - "VirtualMachineScaleSetVMs" + "VirtualMachineScaleSetVMRunCommands" ], - "operationId": "VirtualMachineScaleSetVMs_RunCommand", - "description": "Run command on a virtual machine in a VM scale set.", + "operationId": "VirtualMachineScaleSetVMRunCommands_List", + "description": "The operation to get all run commands of an instance in Virtual Machine Scaleset.", "parameters": [ { "name": "resourceGroupName", @@ -206,13 +885,11 @@ "description": "The instance ID of the virtual machine." }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RunCommandInput" - }, - "description": "Parameters supplied to the Run command operation." + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The expand expression to apply on the operation." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -225,16 +902,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RunCommandResult" + "$ref": "#/definitions/VirtualMachineRunCommandsListResult" } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true, - "x-ms-long-running-operation-options": { - "final-state-via": "location" + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List run commands in Vmss instance.": { + "$ref": "./examples/runCommands/ListVirtualMachineScaleSetVMRunCommands.json" + } } } } @@ -440,6 +1124,299 @@ "description": "Run command operation response." } } + }, + "VirtualMachineRunCommandInstanceView": { + "properties": { + "executionState": { + "type": "string", + "description": "Script execution status.", + "enum": [ + "Unknown", + "Pending", + "Running", + "Failed", + "Succeeded", + "TimedOut", + "Canceled" + ], + "x-ms-enum": { + "name": "ExecutionState", + "modelAsString": true + } + }, + "executionMessage": { + "type": "string", + "description": "Communicate script configuration errors or execution messages." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "description": "Exit code returned from script execution." + }, + "output": { + "type": "string", + "description": "Script output stream." + }, + "error": { + "type": "string", + "description": "Script error stream." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "Script start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Script end time." + }, + "statuses": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceViewStatus" + }, + "description": "The resource status information." + } + }, + "description": "The instance view of a virtual machine run command." + }, + "VirtualMachineRunCommandScriptSource": { + "properties": { + "script": { + "type": "string", + "description": "Specifies the script content to be executed on the VM." + }, + "scriptUri": { + "type": "string", + "description": "Specifies the script download location." + }, + "commandId": { + "type": "string", + "description": "Specifies a commandId of predefined built-in script." + } + }, + "description": "Describes the script sources for run command." + }, + "VirtualMachineRunCommandProperties": { + "properties": { + "source": { + "$ref": "#/definitions/VirtualMachineRunCommandScriptSource", + "description": "The source of the run command script." + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + }, + "description": "The parameters used by the script." + }, + "protectedParameters": { + "type": "array", + "items": { + "$ref": "#/definitions/RunCommandInputParameter" + }, + "description": "The parameters used by the script." + }, + "asyncExecution": { + "type": "boolean", + "description": "Optional. If set to true, provisioning will complete as soon as the script starts and will not wait for script to complete.", + "default": false + }, + "runAsUser": { + "type": "string", + "description": "Specifies the user account on the VM when executing the run command." + }, + "runAsPassword": { + "type": "string", + "description": "Specifies the user account password on the VM when executing the run command." + }, + "timeoutInSeconds": { + "type": "integer", + "format": "int32", + "description": "The timeout in seconds to execute the run command." + }, + "outputBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script output stream will be uploaded." + }, + "errorBlobUri": { + "type": "string", + "description": "Specifies the Azure storage blob where script error stream will be uploaded." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response." + }, + "instanceView": { + "readOnly": true, + "$ref": "#/definitions/VirtualMachineRunCommandInstanceView", + "description": "The virtual machine run command instance view." + } + }, + "description": "Describes the properties of a Virtual Machine run command." + }, + "VirtualMachineRunCommand": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine run command." + }, + "VirtualMachineRunCommandUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualMachineRunCommandProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "description": "Describes a Virtual Machine run command." + }, + "VirtualMachineRunCommandsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualMachineRunCommand" + }, + "description": "The list of run commands" + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of run commands." + } + }, + "required": [ + "value" + ], + "description": "The List run command operation response" + }, + "ApiErrorBase": { + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error base." + }, + "InnerError": { + "properties": { + "exceptiontype": { + "type": "string", + "description": "The exception type." + }, + "errordetail": { + "type": "string", + "description": "The internal error message or exception dump." + } + }, + "description": "Inner error details." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/ApiError" + } + }, + "description": "An error response from the Compute service." + }, + "ApiError": { + "properties": { + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ApiErrorBase" + }, + "description": "The Api error details" + }, + "innererror": { + "$ref": "#/definitions/InnerError", + "description": "The Api inner error" + }, + "code": { + "type": "string", + "description": "The error code." + }, + "target": { + "type": "string", + "description": "The target of the particular error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Api error." + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "UpdateResource": { + "description": "The Update Resource model definition.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + } } }, "parameters": { diff --git a/App_Data/SwaggerSpecs/Microsoft.Consumption/consumption.json b/App_Data/SwaggerSpecs/Microsoft.Consumption/consumption.json index 82dfbed9..c5791a54 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Consumption/consumption.json +++ b/App_Data/SwaggerSpecs/Microsoft.Consumption/consumption.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "version": "2017-04-24-preview", + "version": "2021-10-01", "title": "ConsumptionManagementClient", - "description": "Consumption management client provides access to consumption resources for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API." + "description": "Consumption management client provides access to consumption resources for Azure Enterprise Subscriptions." }, "host": "management.azure.com", "schemes": [ @@ -40,43 +40,83 @@ "UsageDetails" ], "operationId": "UsageDetails_List", - "description": "Lists the usage details for a scope in reverse chronological order by billing period. Usage details are available via this API only for January 1, 2017 or later.", + "description": "Lists the usage details for the defined scope. Usage details are available via this API only for May 1, 2014 or later.", "externalDocs": { - "url": "https://go.microsoft.com/fwlink/?linkid=845275" + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" }, "x-ms-examples": { - "UsageDetailsListForBillingPeriod": { - "$ref": "../examples/UsageDetailsListForBillingPeriod.json" + "UsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsList.json" }, - "UsageDetailsListForInvoice": { - "$ref": "../examples/UsageDetailsListForInvoice.json" + "UsageDetailsListFilterByTag-Legacy": { + "$ref": "./examples/UsageDetailsListFilterByTag.json" }, - "UsageDetailsList": { - "$ref": "../examples/UsageDetailsList.json" + "UsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriod.json" }, - "UsageDetailsExpand": { - "$ref": "../examples/UsageDetailsExpand.json" + "UsageDetailsExpand-Legacy": { + "$ref": "./examples/UsageDetailsExpand.json" + }, + "UsageDetailsListByMetricActualCost-Legacy": { + "$ref": "./examples/UsageDetailsListByMetricActualCost.json" + }, + "UsageDetailsListByMetricAmortizedCost-Legacy": { + "$ref": "./examples/UsageDetailsListByMetricAmortizedCost.json" + }, + "UsageDetailsListByMetricUsage-Legacy": { + "$ref": "./examples/UsageDetailsListByMetricUsage.json" + }, + "BillingAccountUsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsListByBillingAccount.json" + }, + "BillingAccountUsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriodByBillingAccount.json" + }, + "DepartmentUsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsListByDepartment.json" + }, + "DepartmentUsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriodByDepartment.json" + }, + "EnrollmentAccountUsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsListByEnrollmentAccount.json" + }, + "EnrollmentAccountUsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriodByEnrollmentAccount.json" + }, + "ManagementGroupUsageDetailsList-Legacy": { + "$ref": "./examples/UsageDetailsListByManagementGroup.json" + }, + "ManagementGroupUsageDetailsListForBillingPeriod-Legacy": { + "$ref": "./examples/UsageDetailsListForBillingPeriodByManagementGroup.json" + }, + "BillingAccountUsageDetailsList-Modern": { + "$ref": "./examples/UsageDetailsListByMCABillingAccount.json" + }, + "BillingProfileUsageDetailsList-Modern": { + "$ref": "./examples/UsageDetailsListByMCABillingProfile.json" + }, + "InvoiceSectionUsageDetailsList-Modern": { + "$ref": "./examples/UsageDetailsListByMCAInvoiceSection.json" + }, + "CustomerUsageDetailsList-Modern": { + "$ref": "./examples/UsageDetailsListByMCACustomer.json" } }, "parameters": [ { - "name": "scope", - "description": "The scope of the usage details. The scope can be '/subscriptions/{subscriptionId}' for a subscription, or '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/invoices/{invoiceName}' for an invoice or '/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}' for a billing perdiod.", - "in": "path", - "required": true, - "type": "string", - "x-ms-skip-url-encoding": true + "$ref": "#/parameters/scopeUsageDetailsParameter" }, { "name": "$expand", - "description": "May be used to expand the additionalProperties or meterDetails property within a list of usage details. By default, these fields are not included when listing usage details.", + "description": "May be used to expand the properties/additionalInfo or properties/meterDetails within a list of usage details. By default, these fields are not included when listing usage details.", "in": "query", "required": false, "type": "string" }, { "name": "$filter", - "description": "May be used to filter usageDetails by usageEnd (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "description": "May be used to filter usageDetails by properties/resourceGroup, properties/resourceName, properties/resourceId, properties/chargeType, properties/reservationId, properties/publisherType or tags. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:). PublisherType Filter accepts two values azure and marketplace and it is currently supported for Web Direct Offer Type", "in": "query", "required": false, "type": "string" @@ -94,11 +134,15 @@ "in": "query", "required": false, "type": "integer", + "format": "int32", "minimum": 1, "maximum": 1000 }, { "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/metricParameter" } ], "responses": { @@ -120,14 +164,77 @@ } } }, - "/providers/Microsoft.Consumption/operations": { + "/{scope}/providers/Microsoft.Consumption/marketplaces": { "get": { "tags": [ - "Operations" + "Marketplaces" ], - "operationId": "Operations_List", - "description": "Lists all of the available consumption REST API operations.", + "x-ms-odata": "#/definitions/Marketplace", + "operationId": "Marketplaces_List", + "description": "Lists the marketplaces for a scope at the defined scope. Marketplaces are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "SubscriptionMarketplacesList": { + "$ref": "./examples/MarketplacesList.json" + }, + "SubscriptionMarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesListForBillingPeriod.json" + }, + "BillingAccountMarketplacesList": { + "$ref": "./examples/MarketplacesByBillingAccountList.json" + }, + "BillingAccountMarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesByBillingAccountListForBillingPeriod.json" + }, + "DepartmentMarketplacesList": { + "$ref": "./examples/MarketplacesByDepartmentList.json" + }, + "DepartmentMarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesByDepartment_ListByBillingPeriod.json" + }, + "EnrollmentAccountMarketplacesList": { + "$ref": "./examples/MarketplacesByEnrollmentAccountList.json" + }, + "EnrollmentAccountMarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesByEnrollmentAccounts_ListByBillingPeriod.json" + }, + "ManagementGroupMarketplacesList": { + "$ref": "./examples/MarketplacesByManagementGroupList.json" + }, + "ManagementGroupMarketplacesListForBillingPeriod": { + "$ref": "./examples/MarketplacesByManagementGroup_ListForBillingPeriod.json" + } + }, "parameters": [ + { + "name": "$filter", + "description": "May be used to filter marketplaces by properties/usageEnd (Utc time), properties/usageStart (Utc time), properties/resourceGroup, properties/instanceName or properties/instanceId. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the most recent N marketplaces.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/scopeMarketplaceParameter" + }, { "$ref": "#/parameters/apiVersionParameter" } @@ -136,7 +243,7 @@ "200": { "description": "OK. The request has succeeded.", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "#/definitions/MarketplacesListResult" } }, "default": { @@ -150,252 +257,5004 @@ "nextLinkName": "nextLink" } } - } - }, - "definitions": { - "MeterDetails": { - "description": "The properties of the meter detail.", - "properties": { - "meterName": { - "description": "The name of the meter, within the given meter category", - "type": "string", - "readOnly": true - }, - "meterCategory": { - "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..", - "type": "string", - "readOnly": true - }, - "meterSubCategory": { - "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..", - "type": "string", - "readOnly": true - }, - "unit": { - "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.", - "type": "string", - "readOnly": true + }, + "/{scope}/providers/Microsoft.Consumption/budgets": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_List", + "description": "Lists all budgets for the defined scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" }, - "meterLocation": { - "description": "The location in which the Azure service is available.", - "type": "string", - "readOnly": true + "x-ms-examples": { + "BudgetsList": { + "$ref": "./examples/BudgetsList.json" + } }, - "totalIncludedQuantity": { - "description": "The total included quantity associated with the offer.", - "type": "number", - "format": "decimal", - "readOnly": true + "parameters": [ + { + "$ref": "#/parameters/scopeBudgetParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/BudgetsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } }, - "pretaxStandardRate": { - "description": "The pretax listing price.", - "type": "number", - "format": "decimal", - "readOnly": true + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "UsageDetail": { - "description": "An usage detail resource.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" + "/{scope}/providers/Microsoft.Consumption/budgets/{budgetName}": { + "get": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_Get", + "description": "Gets the budget for the scope by budget name.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "Budget": { + "$ref": "./examples/Budget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeBudgetParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/UsageDetailProperties" + }, + "put": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_CreateOrUpdate", + "description": "The operation to create or update a budget. You can optionally provide an eTag if desired as a form of concurrency control. To obtain the latest eTag for a given budget, perform a get operation prior to your put operation.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "CreateOrUpdateBudget": { + "$ref": "./examples/CreateOrUpdateBudget.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeBudgetParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Budget" + }, + "description": "Parameters supplied to the Create Budget operation." + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "201": { + "description": "Created.", + "schema": { + "$ref": "#/definitions/Budget" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } - } - }, - "UsageDetailsListResult": { - "description": "Result of listing usage details. It contains a list of available usage details in reverse chronological order by billing period.", - "properties": { - "value": { - "description": "The list of usage details.", - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/UsageDetail" + }, + "delete": { + "tags": [ + "Budgets" + ], + "operationId": "Budgets_Delete", + "description": "The operation to delete a budget.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "DeleteBudget": { + "$ref": "./examples/DeleteBudget.json" } }, - "nextLink": { - "description": "The link (url) to the next page of results.", - "type": "string", - "readOnly": true + "parameters": [ + { + "$ref": "#/parameters/scopeBudgetParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/budgetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } } }, - "UsageDetailProperties": { - "description": "The properties of the usage detail.", - "properties": { - "billingPeriodId": { - "description": "The id of the billing period resource that the usage belongs to.", - "type": "string", - "readOnly": true + "/{scope}/providers/Microsoft.Consumption/tags": { + "get": { + "tags": [ + "Tags" + ], + "operationId": "Tags_Get", + "description": "Get all available tag keys for the defined scope", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" }, - "invoiceId": { - "description": "The id of the invoice resource that the usage belongs to.", - "type": "string", - "readOnly": true + "x-ms-examples": { + "Tags_Get": { + "$ref": "./examples/Tags.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeTagsParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/TagsResult" + } + }, + "204": { + "description": "An empty response is sent when there is no information available within the selected scope." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Consumption/charges": { + "get": { + "tags": [ + "Charges" + ], + "operationId": "Charges_List", + "description": "Lists the charges based for the defined scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ChargesListForEnrollmentAccount-Legacy": { + "$ref": "./examples/ChargesListForEnrollmentAccountFilterByStartEndDate.json" + }, + "ChangesForBillingPeriodByEnrollmentAccount-Legacy": { + "$ref": "./examples/ChargesForBillingPeriodByEnrollmentAccount.json" + }, + "ChargesListByDepartment-Legacy": { + "$ref": "./examples/ChargesListForDepartmentFilterByStartEndDate.json" + }, + "ChangesForBillingPeriodByDepartment-Legacy": { + "$ref": "./examples/ChargesForBillingPeriodByDepartment.json" + }, + "ChargesListByBillingAccount-Modern": { + "$ref": "./examples/ChargesListByModernBillingAccount.json" + }, + "ChargesListByBillingAccountGroupByBillingProfileId-Modern": { + "$ref": "./examples/ChargesListByModernBillingAccountGroupByBillingProfileId.json" + }, + "ChargesListByBillingAccountGroupByInvoiceSectionId-Modern": { + "$ref": "./examples/ChargesListByModernBillingAccountGroupByInvoiceSectionId.json" + }, + "ChargesListByBillingAccountGroupByCustomerId-Modern": { + "$ref": "./examples/ChargesListByModernBillingAccountGroupByCustomerId.json" + }, + "ChargesListByBillingProfile-Modern": { + "$ref": "./examples/ChargesListByModernBillingProfile.json" + }, + "ChargesListByBillingProfileInvoiceSection-Modern": { + "$ref": "./examples/ChargesListByModernBillingProfileInvoiceSection.json" + }, + "ChargesListByBillingProfileGroupByInvoiceSectionId-Modern": { + "$ref": "./examples/ChargesListByModernBillingProfileGroupByInvoiceSectionId.json" + }, + "ChargesListByInvoiceSectionId-Modern": { + "$ref": "./examples/ChargesListByModernInvoiceSectionId.json" + }, + "ChargesListByCustomer-Modern": { + "$ref": "./examples/ChargesListByModernCustomer.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeChargesParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "startDate", + "in": "query", + "description": "Start date", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "endDate", + "in": "query", + "description": "End date", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "$filter", + "description": "May be used to filter charges by properties/usageEnd (Utc time), properties/usageStart (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$apply", + "description": "May be used to group charges for billingAccount scope by properties/billingProfileId, properties/invoiceSectionId, properties/customerId (specific for Partner Led), or for billingProfile scope by properties/invoiceSectionId.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ChargesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/balances": { + "get": { + "tags": [ + "Balances" + ], + "operationId": "Balances_GetByBillingAccount", + "description": "Gets the balances for a scope by billingAccountId. Balances are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "Balances": { + "$ref": "./examples/BalancesByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Balance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/balances": { + "get": { + "tags": [ + "Balances" + ], + "operationId": "Balances_GetForBillingPeriodByBillingAccount", + "description": "Gets the balances for a scope by billing period and billingAccountId. Balances are available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "Balances": { + "$ref": "./examples/BalancesByBillingAccountForBillingPeriod.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Balance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationSummaries": { + "get": { + "tags": [ + "ReservationSummaries" + ], + "operationId": "ReservationsSummaries_ListByReservationOrder", + "description": "Lists the reservations summaries for daily or monthly grain.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationSummariesDaily": { + "$ref": "./examples/ReservationSummariesDaily.json" + }, + "ReservationSummariesMonthly": { + "$ref": "./examples/ReservationSummariesMonthly.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/grainParameter" + }, + { + "name": "$filter", + "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationSummariesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationSummaries": { + "get": { + "tags": [ + "ReservationSummaries" + ], + "operationId": "ReservationsSummaries_ListByReservationOrderAndReservation", + "description": "Lists the reservations summaries for daily or monthly grain.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationSummariesDailyWithReservationId": { + "$ref": "./examples/ReservationSummariesDailyWithReservationId.json" + }, + "ReservationSummariesMonthlyWithReservationId": { + "$ref": "./examples/ReservationSummariesMonthlyWithReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/reservationIdParameter" + }, + { + "$ref": "#/parameters/grainParameter" + }, + { + "name": "$filter", + "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationSummariesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Consumption/reservationSummaries": { + "get": { + "tags": [ + "ReservationSummaries" + ], + "operationId": "ReservationsSummaries_List", + "description": "Lists the reservations summaries for the defined scope daily or monthly grain.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationSummariesDailyWithBillingAccountId": { + "$ref": "./examples/ReservationSummariesDailyWithBillingAccountId.json" + }, + "ReservationSummariesMonthlyWithBillingAccountId": { + "$ref": "./examples/ReservationSummariesMonthlyWithBillingAccountId.json" + }, + "ReservationSummariesDailyWithBillingProfileId": { + "$ref": "./examples/ReservationSummariesDailyWithBillingProfileId.json" + }, + "ReservationSummariesMonthlyWithBillingProfileId": { + "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileId.json" + }, + "ReservationSummariesMonthlyWithBillingProfileIdReservationId": { + "$ref": "./examples/ReservationSummariesMonthlyWithBillingProfileIdReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeReservationsSummariesParameter" + }, + { + "$ref": "#/parameters/grainParameter" + }, + { + "name": "startDate", + "in": "query", + "description": "Start date. Only applicable when querying with billing profile", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "endDate", + "in": "query", + "description": "End date. Only applicable when querying with billing profile", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "$filter", + "description": "Required only for daily grain. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "reservationId", + "in": "query", + "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "reservationOrderId", + "in": "query", + "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationSummariesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/providers/Microsoft.Consumption/reservationDetails": { + "get": { + "tags": [ + "ReservationDetails" + ], + "operationId": "ReservationsDetails_ListByReservationOrder", + "description": "Lists the reservations details for provided date range.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationDetails": { + "$ref": "./examples/ReservationDetails.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "name": "$filter", + "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Capacity/reservationorders/{reservationOrderId}/reservations/{reservationId}/providers/Microsoft.Consumption/reservationDetails": { + "get": { + "tags": [ + "ReservationDetails" + ], + "operationId": "ReservationsDetails_ListByReservationOrderAndReservation", + "description": "Lists the reservations details for provided date range.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationDetailsWithReservationId": { + "$ref": "./examples/ReservationDetailsWithReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/reservationOrderIdParameter" + }, + { + "$ref": "#/parameters/reservationIdParameter" + }, + { + "name": "$filter", + "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Consumption/reservationDetails": { + "get": { + "tags": [ + "ReservationDetails" + ], + "operationId": "ReservationsDetails_List", + "description": "Lists the reservations details for the defined scope and provided date range.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationDetailsByBillingAccountId": { + "$ref": "./examples/ReservationDetailsByBillingAccountId.json" + }, + "ReservationDetailsByBillingProfileId": { + "$ref": "./examples/ReservationDetailsByBillingProfileId.json" + }, + "ReservationDetailsByBillingProfileIdReservationId": { + "$ref": "./examples/ReservationDetailsByBillingProfileIdReservationId.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/scopeReservationDetailsParameter" + }, + { + "name": "startDate", + "in": "query", + "description": "Start date. Only applicable when querying with billing profile", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "endDate", + "in": "query", + "description": "End date. Only applicable when querying with billing profile", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "$filter", + "description": "Filter reservation details by date range. The properties/UsageDate for start date and end date. The filter supports 'le' and 'ge'. Not applicable when querying with billing profile", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "reservationId", + "in": "query", + "description": "Reservation Id GUID. Only valid if reservationOrderId is also provided. Filter to a specific reservation", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "reservationOrderId", + "in": "query", + "description": "Reservation Order Id GUID. Required if reservationId is provided. Filter to a specific reservation order", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Consumption/reservationRecommendations": { + "get": { + "tags": [ + "ReservationRecommendations" + ], + "operationId": "ReservationRecommendations_List", + "description": "List of recommendations for purchasing reserved instances.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationRecommendationsBySubscription-Legacy": { + "$ref": "./examples/ReservationRecommendationsBySubscription.json" + }, + "ReservationRecommendationsByResourceGroup-Legacy": { + "$ref": "./examples/ReservationRecommendationsByResourceGroup.json" + }, + "ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod-Legacy": { + "$ref": "./examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json" + }, + "ReservationRecommendationsByBillingAccount-Legacy": { + "$ref": "./examples/ReservationRecommendationsByBillingAccount.json" + }, + "ReservationRecommendationsByBillingProfile-Modern": { + "$ref": "./examples/ReservationRecommendationsByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/filterParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeReservationRecommendationsParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationRecommendationsListResult" + } + }, + "204": { + "description": "An empty response is sent when there are no recommendations." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails": { + "get": { + "tags": [ + "ReservationRecommendationDetails" + ], + "operationId": "ReservationRecommendationDetails_Get", + "description": "Details of a reservation recommendation for what-if analysis of reserved instances.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationRecommendationsBySubscription-Legacy": { + "$ref": "./examples/ReservationRecommendationDetailsBySubscription.json" + }, + "ReservationRecommendationsByResourceGroup-Legacy": { + "$ref": "./examples/ReservationRecommendationDetailsByResourceGroup.json" + }, + "ReservationRecommendationsByBillingAccount-Legacy": { + "$ref": "./examples/ReservationRecommendationDetailsByBillingAccount.json" + }, + "ReservationRecommendationsByBillingProfile-Modern": { + "$ref": "./examples/ReservationRecommendationDetailsByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/scopeReservationRecommendationDetailsParameter" + }, + { + "$ref": "#/parameters/regionParameter" + }, + { + "$ref": "#/parameters/termParameter" + }, + { + "$ref": "#/parameters/lookBackPeriodParameter" + }, + { + "$ref": "#/parameters/productParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationRecommendationDetailsModel" + } + }, + "204": { + "description": "An empty response is sent when there are no recommendation details." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/HighCasedErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/reservationTransactions": { + "get": { + "tags": [ + "ReservationTransactions" + ], + "operationId": "ReservationTransactions_List", + "description": "List of transactions for reserved instances on billing account scope", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationTransactionsByEnrollmentNumber": { + "$ref": "./examples/ReservationTransactionsListByEnrollmentNumber.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationTransactionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/reservationTransactions": { + "get": { + "tags": [ + "ReservationTransactions" + ], + "operationId": "ReservationTransactions_ListByBillingProfile", + "description": "List of transactions for reserved instances on billing account scope", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "ReservationTransactionsByBillingProfileId": { + "$ref": "./examples/ReservationTransactionsListByBillingProfileId.json" + } + }, + "parameters": [ + { + "name": "$filter", + "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ", + "in": "query", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ModernReservationTransactionsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": { + "get": { + "tags": [ + "PriceSheet" + ], + "operationId": "PriceSheet_Get", + "description": "Gets the price sheet for a subscription. Price sheet is available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "PriceSheet": { + "$ref": "./examples/PriceSheet.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the top N results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PriceSheetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/pricesheets/default": { + "get": { + "tags": [ + "PriceSheet" + ], + "operationId": "PriceSheet_GetByBillingPeriod", + "description": "Get the price sheet for a scope by subscriptionId and billing period. Price sheet is available via this API only for May 1, 2014 or later.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "PriceSheetForBillingPeriod": { + "$ref": "./examples/PriceSheetForBillingPeriod.json" + }, + "PriceSheetExpand": { + "$ref": "./examples/PriceSheetExpand.json" + } + }, + "parameters": [ + { + "name": "$expand", + "description": "May be used to expand the properties/meterDetails within a price sheet. By default, these fields are not included when returning price sheet.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$skiptoken", + "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "$top", + "description": "May be used to limit the number of results to the top N results.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 1000 + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PriceSheetResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Consumption/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available consumption REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Consumption/aggregatedcost": { + "get": { + "tags": [ + "AggregatedCost" + ], + "operationId": "AggregatedCost_GetByManagementGroup", + "description": "Provides the aggregate cost of a management group and all child management groups by current billing period.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "AggregatedCostByManagementGroup": { + "$ref": "./examples/AggregatedCostByManagementGroup.json" + }, + "AggregatedCostByManagementGroupFilterByDate": { + "$ref": "./examples/AggregatedCostByManagementGroupFilterByDate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter aggregated cost by properties/usageStart (Utc time), properties/usageEnd (Utc time). The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ManagementGroupAggregatedCostResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}/providers/Microsoft.Consumption/aggregatedCost": { + "get": { + "tags": [ + "AggregatedCost" + ], + "operationId": "AggregatedCost_GetForBillingPeriodByManagementGroup", + "description": "Provides the aggregate cost of a management group and all child management groups by specified billing period", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "AggregatedCostListForBillingPeriodByManagementGroup": { + "$ref": "./examples/AggregatedCostForBillingPeriodByManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/managementGroupIdParameter" + }, + { + "$ref": "#/parameters/billingPeriodNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ManagementGroupAggregatedCostResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/events": { + "get": { + "tags": [ + "Events" + ], + "operationId": "Events_ListByBillingProfile", + "description": "Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a billing account or a billing profile for a given start and end date.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "EventsListByBillingProfile": { + "$ref": "./examples/EventsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/startDateParameter" + }, + { + "$ref": "#/parameters/endDateParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Events" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/events": { + "get": { + "tags": [ + "Events" + ], + "operationId": "Events_ListByBillingAccount", + "description": "Lists the events that decrements Azure credits or Microsoft Azure consumption commitment for a billing account or a billing profile for a given start and end date.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "EventsGetByBillingAccount": { + "$ref": "./examples/EventsGetByBillingAccount.json" + }, + "EventsGetByBillingAccountWithFilters": { + "$ref": "./examples/EventsGetByBillingAccountWithFilters.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter the events by lotId, lotSource etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Events" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/lots": { + "get": { + "tags": [ + "Lots" + ], + "operationId": "Lots_ListByBillingProfile", + "description": "Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a billing profile. Microsoft Azure consumption commitments are only supported for the billing account scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "LotsListByBillingProfile": { + "$ref": "./examples/LotsListByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Lots" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.Consumption/lots": { + "get": { + "tags": [ + "Lots" + ], + "operationId": "Lots_ListByBillingAccount", + "description": "Lists all Azure credits and Microsoft Azure consumption commitments for a billing account or a billing profile. Microsoft Azure consumption commitments are only supported for the billing account scope.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "LotsListByBillingAccount": { + "$ref": "./examples/LotsListByBillingAccount.json" + }, + "LotsListByBillingAccountWithStatusFilter": { + "$ref": "./examples/LotsListByBillingAccountWithFilters.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "description": "May be used to filter the lots by Status, Source etc. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'. Tag filter is a key value pair string where key and value is separated by a colon (:).", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Lots" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/credits/balanceSummary": { + "get": { + "tags": [ + "Credits" + ], + "operationId": "Credits_Get", + "description": "The credit summary by billingAccountId and billingProfileId.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/consumption/" + }, + "x-ms-examples": { + "CreditSummaryByBillingProfile": { + "$ref": "./examples/CreditSummaryByBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountIdParameter" + }, + { + "$ref": "#/parameters/billingProfileIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CreditSummary" + } + }, + "204": { + "description": "No Content. The request has succeeded but returned no results." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "MeterDetails": { + "description": "The properties of the meter detail.", + "properties": { + "meterName": { + "description": "The name of the meter, within the given meter category", + "type": "string", + "readOnly": true + }, + "meterCategory": { + "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..", + "type": "string", + "readOnly": true + }, + "meterSubCategory": { + "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..", + "type": "string", + "readOnly": true + }, + "unit": { + "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.", + "type": "string", + "readOnly": true + }, + "meterLocation": { + "description": "The location in which the Azure service is available.", + "type": "string", + "readOnly": true + }, + "totalIncludedQuantity": { + "description": "The total included quantity associated with the offer.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "pretaxStandardRate": { + "description": "The pretax listing price.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "serviceName": { + "description": "The name of the service.", + "type": "string", + "readOnly": true + }, + "serviceTier": { + "description": "The service tier.", + "type": "string", + "readOnly": true + } + } + }, + "UsageDetail": { + "type": "object", + "discriminator": "kind", + "description": "An usage detail resource.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Specifies the kind of usage details.", + "enum": [ + "legacy", + "modern" + ], + "x-ms-enum": { + "name": "UsageDetailsKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ] + }, + "UsageDetailsListResult": { + "description": "Result of listing usage details. It contains a list of available usage details in reverse chronological order by billing period.", + "properties": { + "value": { + "description": "The list of usage details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/UsageDetail" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "LegacyUsageDetail": { + "description": "Legacy usage detail.", + "type": "object", + "x-ms-discriminator-value": "legacy", + "properties": { + "properties": { + "description": "Properties for legacy usage details", + "$ref": "#/definitions/LegacyUsageDetailProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/UsageDetail" + } + ], + "required": [ + "properties" + ] + }, + "LegacyUsageDetailProperties": { + "description": "The properties of the legacy usage detail.", + "properties": { + "billingAccountId": { + "description": "Billing Account identifier.", + "type": "string", + "readOnly": true + }, + "billingAccountName": { + "description": "Billing Account Name.", + "type": "string", + "readOnly": true + }, + "billingPeriodStartDate": { + "description": "The billing period start date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingPeriodEndDate": { + "description": "The billing period end date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingProfileId": { + "description": "Billing Profile identifier.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "Billing Profile Name.", + "type": "string", + "readOnly": true + }, + "accountOwnerId": { + "description": "Account Owner Id.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "Account Name.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "Subscription guid.", + "type": "string", + "readOnly": true + }, + "subscriptionName": { + "description": "Subscription name.", + "type": "string", + "readOnly": true + }, + "date": { + "description": "Date for the usage record.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "product": { + "description": "Product name for the consumed service or purchase. Not available for Marketplace.", + "type": "string", + "readOnly": true + }, + "partNumber": { + "description": "Part Number of the service used. Can be used to join with the price sheet. Not available for marketplace.", + "type": "string", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID). Not available for marketplace. For reserved instance this represents the primary meter for which the reservation was purchased. For the actual VM Size for which the reservation is purchased see productOrderName.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "meterDetails": { + "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/MeterDetailsResponse", + "readOnly": true + }, + "quantity": { + "description": "The usage quantity.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "effectivePrice": { + "description": "Effective Price that's charged for the usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "cost": { + "description": "The amount of cost before tax.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unitPrice": { + "description": "Unit Price is the price applicable to you. (your EA or other contract price).", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "billingCurrency": { + "description": "Billing Currency.", + "type": "string", + "readOnly": true + }, + "resourceLocation": { + "description": "Resource Location.", + "type": "string", + "readOnly": true + }, + "consumedService": { + "description": "Consumed service name. Name of the azure resource provider that emits the usage or was purchased. This value is not provided for marketplace usage.", + "type": "string", + "readOnly": true + }, + "resourceId": { + "description": "Unique identifier of the Azure Resource Manager usage detail resource.", + "type": "string", + "readOnly": true + }, + "resourceName": { + "description": "Resource Name.", + "type": "string", + "readOnly": true + }, + "serviceInfo1": { + "description": "Service-specific metadata.", + "type": "string", + "readOnly": true + }, + "serviceInfo2": { + "description": "Legacy field with optional service-specific metadata.", + "type": "string", + "readOnly": true + }, + "additionalInfo": { + "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand. Use this field to get usage line item specific details such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is applied.", + "type": "string", + "readOnly": true + }, + "invoiceSection": { + "description": "Invoice Section Name.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a cost center is provided.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "Resource Group Name.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "ARM resource id of the reservation. Only applies to records relevant to reservations.", + "type": "string", + "readOnly": true + }, + "reservationName": { + "description": "User provided display name of the reservation. Last known name for a particular day is populated in the daily data. Only applies to records relevant to reservations.", + "type": "string", + "readOnly": true + }, + "productOrderId": { + "description": "Product Order Id. For reservations this is the Reservation Order ID.", + "type": "string", + "readOnly": true + }, + "productOrderName": { + "description": "Product Order Name. For reservations this is the SKU that was purchased.", + "type": "string", + "readOnly": true + }, + "offerId": { + "description": "Offer Id. Ex: MS-AZR-0017P, MS-AZR-0148P.", + "type": "string", + "readOnly": true + }, + "isAzureCreditEligible": { + "description": "Is Azure Credit Eligible.", + "type": "boolean", + "readOnly": true + }, + "term": { + "description": "Term (in months). 1 month for monthly recurring purchase. 12 months for a 1 year reservation. 36 months for a 3 year reservation.", + "type": "string", + "readOnly": true + }, + "publisherName": { + "description": "Publisher Name.", + "type": "string", + "readOnly": true + }, + "publisherType": { + "description": "Publisher Type.", + "type": "string", + "readOnly": true + }, + "planName": { + "description": "Plan Name.", + "type": "string", + "readOnly": true + }, + "chargeType": { + "description": "Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a refund.", + "type": "string", + "readOnly": true + }, + "frequency": { + "description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.", + "type": "string", + "readOnly": true + }, + "payGPrice": { + "description": "Retail price for the resource.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "pricingModel": { + "description": "Identifier that indicates how the meter is priced.", + "type": "string", + "readOnly": true, + "enum": [ + "On Demand", + "Reservation", + "Spot" + ], + "x-ms-enum": { + "name": "pricingModelType", + "modelAsString": true + } + } + } + }, + "ModernUsageDetail": { + "description": "Modern usage detail.", + "type": "object", + "x-ms-discriminator-value": "modern", + "properties": { + "properties": { + "description": "Properties for modern usage details", + "$ref": "#/definitions/ModernUsageDetailProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/UsageDetail" + } + ], + "required": [ + "properties" + ] + }, + "ModernUsageDetailProperties": { + "description": "The properties of the usage detail.", + "properties": { + "billingAccountId": { + "description": "Billing Account identifier.", + "type": "string", + "readOnly": true + }, + "effectivePrice": { + "description": "Effective Price that's charged for the usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "pricingModel": { + "description": "Identifier that indicates how the meter is priced", + "type": "string", + "readOnly": true, + "enum": [ + "On Demand", + "Reservation", + "Spot" + ], + "x-ms-enum": { + "name": "pricingModelType", + "modelAsString": true + } + }, + "billingAccountName": { + "description": "Name of the Billing Account.", + "type": "string", + "readOnly": true + }, + "billingPeriodStartDate": { + "description": "Billing Period Start Date as in the invoice.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingPeriodEndDate": { + "description": "Billing Period End Date as in the invoice.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "billingProfileId": { + "description": "Identifier for the billing profile that groups costs across invoices in the a singular billing currency across across the customers who have onboarded the Microsoft customer agreement and the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "Name of the billing profile that groups costs across invoices in the a singular billing currency across across the customers who have onboarded the Microsoft customer agreement and the customers in CSP who have made entitlement purchases like SaaS, Marketplace, RI, etc.", + "type": "string", + "readOnly": true + }, + "subscriptionGuid": { + "description": "Unique Microsoft generated identifier for the Azure Subscription.", + "type": "string", + "readOnly": true + }, + "subscriptionName": { + "description": "Name of the Azure Subscription.", + "type": "string", + "readOnly": true + }, + "date": { + "description": "Date for the usage record.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "product": { + "description": "Name of the product that has accrued charges by consumption or purchase as listed in the invoice. Not available for Marketplace.", + "type": "string", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID). Not available for marketplace. For reserved instance this represents the primary meter for which the reservation was purchased. For the actual VM Size for which the reservation is purchased see productOrderName.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "meterName": { + "description": "Identifies the name of the meter against which consumption is measured.", + "type": "string", + "readOnly": true + }, + "meterRegion": { + "description": "Identifies the location of the datacenter for certain services that are priced based on datacenter location.", + "type": "string", + "readOnly": true + }, + "meterCategory": { + "description": "Identifies the top-level service for the usage.", + "type": "string", + "readOnly": true + }, + "meterSubCategory": { + "description": "Defines the type or sub-category of Azure service that can affect the rate.", + "type": "string", + "readOnly": true + }, + "serviceFamily": { + "description": "List the service family for the product purchased or charged (Example: Storage ; Compute).", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "Measure the quantity purchased or consumed.The amount of the meter used during the billing period.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unitOfMeasure": { + "description": "Identifies the Unit that the service is charged in. For example, GB, hours, 10,000 s.", + "type": "string", + "readOnly": true + }, + "instanceName": { + "description": "Instance Name.", + "type": "string", + "readOnly": true + }, + "costInUSD": { + "description": "Estimated extendedCost or blended cost before tax in USD.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unitPrice": { + "description": "Unit Price is the price applicable to you. (your EA or other contract price).", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "billingCurrencyCode": { + "description": "The currency defining the billed cost.", + "type": "string", + "readOnly": true + }, + "resourceLocation": { + "description": "Name of the resource location.", + "type": "string", + "readOnly": true + }, + "consumedService": { + "description": "Consumed service name. Name of the azure resource provider that emits the usage or was purchased. This value is not provided for marketplace usage.", + "type": "string", + "readOnly": true + }, + "serviceInfo1": { + "description": "Service-specific metadata.", + "type": "string", + "readOnly": true + }, + "serviceInfo2": { + "description": "Legacy field with optional service-specific metadata.", + "type": "string", + "readOnly": true + }, + "additionalInfo": { + "description": "Additional details of this usage item. Use this field to get usage line item specific details such as the actual VM Size (ServiceType) or the ratio in which the reservation discount is applied.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "Identifier of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners.", + "type": "string", + "readOnly": true + }, + "invoiceSectionName": { + "description": "Name of the project that is being charged in the invoice. Not applicable for Microsoft Customer Agreements onboarded by partners.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a cost center is provided.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "Name of the Azure resource group used for cohesive lifecycle management of resources.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "ARM resource id of the reservation. Only applies to records relevant to reservations.", + "type": "string", + "readOnly": true + }, + "reservationName": { + "description": "User provided display name of the reservation. Last known name for a particular day is populated in the daily data. Only applies to records relevant to reservations.", + "type": "string", + "readOnly": true + }, + "productOrderId": { + "description": "The identifier for the asset or Azure plan name that the subscription belongs to. For example: Azure Plan. For reservations this is the Reservation Order ID.", + "type": "string", + "readOnly": true + }, + "productOrderName": { + "description": "Product Order Name. For reservations this is the SKU that was purchased.", + "type": "string", + "readOnly": true + }, + "isAzureCreditEligible": { + "description": "Determines if the cost is eligible to be paid for using Azure credits.", + "type": "boolean", + "readOnly": true + }, + "term": { + "description": "Term (in months). Displays the term for the validity of the offer. For example. In case of reserved instances it displays 12 months for yearly term of reserved instance. For one time purchases or recurring purchases, the terms displays 1 month; This is not applicable for Azure consumption.", + "type": "string", + "readOnly": true + }, + "publisherName": { + "description": "Name of the publisher of the service including Microsoft or Third Party publishers.", + "type": "string", + "readOnly": true + }, + "publisherType": { + "description": "Type of publisher that identifies if the publisher is first party, third party reseller or third party agency.", + "type": "string", + "readOnly": true + }, + "chargeType": { + "description": "Indicates a charge represents credits, usage, a Marketplace purchase, a reservation fee, or a refund.", + "type": "string", + "readOnly": true + }, + "frequency": { + "description": "Indicates how frequently this charge will occur. OneTime for purchases which only happen once, Monthly for fees which recur every month, and UsageBased for charges based on how much a service is used.", + "type": "string", + "readOnly": true + }, + "costInBillingCurrency": { + "description": "ExtendedCost or blended cost before tax in billed currency.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "costInPricingCurrency": { + "description": "ExtendedCost or blended cost before tax in pricing currency to correlate with prices.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "exchangeRate": { + "description": "Exchange rate used in conversion from pricing currency to billing currency.", + "type": "string", + "readOnly": true + }, + "exchangeRateDate": { + "description": "Date on which exchange rate used in conversion from pricing currency to billing currency.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "invoiceId": { + "description": "Invoice ID as on the invoice where the specific transaction appears.", + "type": "string", + "readOnly": true + }, + "previousInvoiceId": { + "description": "Reference to an original invoice there is a refund (negative cost). This is populated only when there is a refund.", + "type": "string", + "readOnly": true + }, + "pricingCurrencyCode": { + "description": "Pricing Billing Currency.", + "type": "string", + "readOnly": true + }, + "productIdentifier": { + "description": "Identifier for the product that has accrued charges by consumption or purchase . This is the concatenated key of productId and SkuId in partner center.", + "type": "string", + "readOnly": true + }, + "resourceLocationNormalized": { + "description": "Resource Location Normalized.", + "type": "string", + "readOnly": true + }, + "servicePeriodStartDate": { + "description": "Start date for the rating period when the service usage was rated for charges. The prices for Azure services are determined for the rating period.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "servicePeriodEndDate": { + "description": "End date for the period when the service usage was rated for charges. The prices for Azure services are determined based on the rating period.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "customerTenantId": { + "description": "Identifier of the customer's AAD tenant.", + "type": "string", + "readOnly": true + }, + "customerName": { + "description": "Name of the customer's AAD tenant.", + "type": "string", + "readOnly": true + }, + "partnerTenantId": { + "description": "Identifier for the partner's AAD tenant.", + "type": "string", + "readOnly": true + }, + "partnerName": { + "description": "Name of the partner' AAD tenant.", + "type": "string", + "readOnly": true + }, + "resellerMpnId": { + "description": "MPNId for the reseller associated with the subscription.", + "type": "string", + "readOnly": true + }, + "resellerName": { + "description": "Reseller Name.", + "type": "string", + "readOnly": true + }, + "publisherId": { + "description": "Publisher Id.", + "type": "string", + "readOnly": true + }, + "marketPrice": { + "description": "Market Price that's charged for the usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "exchangeRatePricingToBilling": { + "description": "Exchange Rate from pricing currency to billing currency.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "paygCostInBillingCurrency": { + "description": "The amount of PayG cost before tax in billing currency.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "paygCostInUSD": { + "description": "The amount of PayG cost before tax in US Dollar currency.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "partnerEarnedCreditRate": { + "description": "Rate of discount applied if there is a partner earned credit (PEC) based on partner admin link access.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "partnerEarnedCreditApplied": { + "description": "Flag to indicate if partner earned credit has been applied or not.", + "type": "string", + "readOnly": true + }, + "payGPrice": { + "description": "Retail price for the resource.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "benefitId": { + "description": "Unique identifier for the applicable benefit.", + "type": "string", + "readOnly": true + }, + "benefitName": { + "description": "Name of the applicable benefit.", + "type": "string", + "readOnly": true + }, + "provider": { + "description": "Identifier for Product Category or Line Of Business, Ex - Azure, Microsoft 365, AWS e.t.c", + "type": "string", + "readOnly": true + }, + "costAllocationRuleName": { + "description": "Name for Cost Allocation Rule.", + "type": "string", + "readOnly": true + } + } + }, + "Marketplace": { + "description": "A marketplace resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MarketplaceProperties", + "title": "Marketplace properties" + } + } + }, + "MarketplacesListResult": { + "description": "Result of listing marketplaces. It contains a list of available marketplaces in reverse chronological order by billing period.", + "type": "object", + "properties": { + "value": { + "description": "The list of marketplaces.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Marketplace" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "MarketplaceProperties": { + "description": "The properties of the marketplace usage detail.", + "type": "object", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "The start of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usageEnd": { + "description": "The end of the date time range covered by the usage detail.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "resourceRate": { + "description": "The marketplace resource rate.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "offerName": { + "description": "The type of offer.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "The name of resource group.", + "type": "string", + "readOnly": true + }, + "additionalInfo": { + "description": "Additional information.", + "type": "string", + "readOnly": true + }, + "orderNumber": { + "description": "The order number.", + "type": "string", + "readOnly": true + }, + "instanceName": { + "description": "The name of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "instanceId": { + "description": "The uri of the resource instance that the usage is about.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the meter is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "consumedQuantity": { + "description": "The quantity of usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unitOfMeasure": { + "description": "The unit of measure.", + "type": "string", + "readOnly": true + }, + "pretaxCost": { + "description": "The amount of cost before tax.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "isEstimated": { + "description": "The estimated usage is subject to change.", + "type": "boolean", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID).", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "subscriptionGuid": { + "description": "Subscription guid.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "subscriptionName": { + "description": "Subscription name.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "Account name.", + "type": "string", + "readOnly": true + }, + "departmentName": { + "description": "Department name.", + "type": "string", + "readOnly": true + }, + "consumedService": { + "description": "Consumed service name.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a costcenter exists", + "type": "string", + "readOnly": true + }, + "additionalProperties": { + "description": "Additional details of this usage item. By default this is not populated, unless it's specified in $expand.", + "type": "string", + "readOnly": true + }, + "publisherName": { + "description": "The name of publisher.", + "type": "string", + "readOnly": true + }, + "planName": { + "description": "The name of plan.", + "type": "string", + "readOnly": true + }, + "isRecurringCharge": { + "description": "Flag indicating whether this is a recurring charge or not.", + "type": "boolean", + "readOnly": true + } + } + }, + "Balance": { + "description": "A balance resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BalanceProperties", + "title": "Balance properties" + } + } + }, + "BalanceProperties": { + "description": "The properties of the balance.", + "type": "object", + "properties": { + "currency": { + "description": "The ISO currency in which the meter is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "beginningBalance": { + "description": "The beginning balance for the billing period.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "endingBalance": { + "description": "The ending balance for the billing period (for open periods this will be updated daily).", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "newPurchases": { + "description": "Total new purchase amount.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "adjustments": { + "description": "Total adjustment amount.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "utilized": { + "description": "Total Commitment usage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "serviceOverage": { + "description": "Overage for Azure services.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "chargesBilledSeparately": { + "description": "Charges Billed separately.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "totalOverage": { + "description": "serviceOverage + chargesBilledSeparately.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "totalUsage": { + "description": "Azure service commitment + total Overage.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "azureMarketplaceServiceCharges": { + "description": "Total charges for Azure Marketplace.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "billingFrequency": { + "description": "The billing frequency.", + "type": "string", + "enum": [ + "Month", + "Quarter", + "Year" + ], + "x-ms-enum": { + "name": "BillingFrequency", + "modelAsString": true + } + }, + "priceHidden": { + "description": "Price is hidden or not.", + "type": "boolean", + "readOnly": true + }, + "newPurchasesDetails": { + "description": "List of new purchases.", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "the name of new purchase.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "the value of new purchase.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "readOnly": true + }, + "adjustmentDetails": { + "description": "List of Adjustments (Promo credit, SIE credit etc.).", + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "description": "the name of new adjustment.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "the value of new adjustment.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "readOnly": true + } + } + }, + "ReservationSummary": { + "description": "reservation summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationSummaryProperties", + "title": "Reservation Summary properties" + } + } + }, + "ReservationSummariesListResult": { + "description": "Result of listing reservation summaries.", + "properties": { + "value": { + "description": "The list of reservation summaries.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationSummary" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationSummaryProperties": { + "description": "The properties of the reservation summary.", + "properties": { + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.", + "type": "string", + "readOnly": true + }, + "skuName": { + "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.", + "type": "string", + "readOnly": true + }, + "reservedHours": { + "description": "This is the total hours reserved. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "usageDate": { + "description": "Data corresponding to the utilization record. If the grain of data is monthly, it will be first day of month.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usedHours": { + "description": "Total used hours by the reservation", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "minUtilizationPercentage": { + "description": "This is the minimum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 10%, this field will return 10% for that day", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "avgUtilizationPercentage": { + "description": "This is average utilization for the entire time range. (day or month depending on the grain)", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "maxUtilizationPercentage": { + "description": "This is the maximum hourly utilization in the usage time (day or month). E.g. if usage record corresponds to 12/10/2017 and on that for hour 4 and 5, utilization was 100%, this field will return 100% for that day.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "kind": { + "description": "The reservation kind.", + "type": "string", + "readOnly": true + }, + "purchasedQuantity": { + "description": "This is the purchased quantity for the reservationId.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "remainingQuantity": { + "description": "This is the remaining quantity for the reservationId.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "totalReservedQuantity": { + "description": "This is the total count of instances that are reserved for the reservationId.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "usedQuantity": { + "description": "This is the used quantity for the reservationId.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "utilizedPercentage": { + "description": "This is the utilized percentage for the reservation Id.", + "type": "number", + "format": "decimal", + "readOnly": true + } + } + }, + "ReservationDetail": { + "description": "reservation detail resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationDetailProperties", + "title": "Reservation Detail properties" + } + } + }, + "ReservationDetailsListResult": { + "description": "Result of listing reservation details.", + "properties": { + "value": { + "description": "The list of reservation details.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationDetail" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationDetailProperties": { + "description": "The properties of the reservation detail.", + "properties": { + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "instanceFlexibilityRatio": { + "description": "The instance Flexibility Ratio.", + "type": "string", + "readOnly": true + }, + "instanceFlexibilityGroup": { + "description": "The instance Flexibility Group.", + "type": "string", + "readOnly": true + }, + "reservationId": { + "description": "The reservation ID is the identifier of a reservation within a reservation order. Each reservation is the grouping for applying the benefit scope and also specifies the number of instances to which the reservation benefit can be applied to.", + "type": "string", + "readOnly": true + }, + "skuName": { + "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.", + "type": "string", + "readOnly": true + }, + "reservedHours": { + "description": "This is the total hours reserved for the day. E.g. if reservation for 1 instance was made on 1 PM, this will be 11 hours for that day and 24 hours from subsequent days.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "usageDate": { + "description": "The date on which consumption occurred.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usedHours": { + "description": "This is the total hours used by the instance.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "instanceId": { + "description": "This identifier is the name of the resource or the fully qualified Resource ID.", + "type": "string", + "readOnly": true + }, + "totalReservedQuantity": { + "description": "This is the total count of instances that are reserved for the reservationId.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "kind": { + "description": "The reservation kind.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationRecommendationDetailsModel": { + "description": "Reservation recommendation details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource Location." + }, + "sku": { + "type": "string", + "description": "Resource sku" + }, + "etag": { + "type": "string", + "description": "Resource etag." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationRecommendationDetailsProperties", + "title": "Reservation Recommendation details properties" + } + } + }, + "ReservationRecommendationDetailsProperties": { + "description": "The properties of the reservation recommendation.", + "properties": { + "currency": { + "description": "An ISO 4217 currency code identifier for the costs and savings ", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource specific properties.", + "$ref": "#/definitions/ReservationRecommendationDetailsResourceProperties", + "readOnly": true + }, + "resourceGroup": { + "description": "Resource Group.", + "type": "string", + "readOnly": true + }, + "savings": { + "description": "Savings information for the recommendation.", + "$ref": "#/definitions/ReservationRecommendationDetailsSavingsProperties", + "readOnly": true + }, + "scope": { + "description": "Scope of the reservation, ex: Single or Shared.", + "type": "string", + "readOnly": true + }, + "usage": { + "description": "Historical usage details used to calculate the estimated savings.", + "$ref": "#/definitions/ReservationRecommendationDetailsUsageProperties", + "readOnly": true + } + } + }, + "ReservationRecommendationDetailsCalculatedSavingsProperties": { + "description": "Details of estimated savings.", + "properties": { + "onDemandCost": { + "description": "The cost without reservation.", + "type": "number", + "readOnly": true + }, + "overageCost": { + "description": "The difference between total reservation cost and reservation cost.", + "type": "number", + "readOnly": true + }, + "quantity": { + "description": "The quantity for calculated savings.", + "type": "number", + "readOnly": true + }, + "reservationCost": { + "description": "The exact cost of the estimated usage using reservation.", + "type": "number", + "readOnly": true + }, + "totalReservationCost": { + "description": "The cost of the suggested quantity.", + "type": "number", + "readOnly": true + }, + "reservedUnitCount": { + "description": "The number of reserved units used to calculate savings. Always 1 for virtual machines.", + "type": "number" + }, + "savings": { + "description": "The amount saved by purchasing the recommended quantity of reservation.", + "type": "number", + "readOnly": true + } + } + }, + "ReservationRecommendationDetailsResourceProperties": { + "description": "Details of the resource.", + "properties": { + "appliedScopes": { + "description": "List of subscriptions for which the reservation is applied.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "onDemandRate": { + "description": "On demand rate of the resource.", + "type": "number", + "readOnly": true + }, + "product": { + "description": "Azure product ex: Standard_E8s_v3 etc.", + "type": "string", + "readOnly": true + }, + "region": { + "description": "Azure resource region ex:EastUS, WestUS etc.", + "type": "string", + "readOnly": true + }, + "reservationRate": { + "description": "Reservation rate of the resource.", + "type": "number", + "readOnly": true + }, + "resourceType": { + "description": "The azure resource type.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationRecommendationDetailsSavingsProperties": { + "description": "Details of the estimated savings.", + "properties": { + "calculatedSavings": { + "description": "List of calculated savings.", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationRecommendationDetailsCalculatedSavingsProperties" + } + }, + "lookBackPeriod": { + "description": "Number of days of usage to look back used for computing the recommendation.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "recommendedQuantity": { + "description": "Number of recommended units of the resource.", + "type": "number", + "readOnly": true + }, + "reservationOrderTerm": { + "description": "Term period of the reservation, ex: P1Y or P3Y.", + "type": "string", + "readOnly": true + }, + "savingsType": { + "description": "Type of savings, ex: instance.", + "type": "string", + "readOnly": true + }, + "unitOfMeasure": { + "description": "Measurement unit ex: hour etc.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationRecommendationDetailsUsageProperties": { + "description": "Details about historical usage data that has been used for computing the recommendation.", + "properties": { + "firstConsumptionDate": { + "description": "The first usage date used for looking back for computing the recommendation.", + "type": "string", + "readOnly": true + }, + "lastConsumptionDate": { + "description": "The last usage date used for looking back for computing the recommendation.", + "type": "string", + "readOnly": true + }, + "lookBackUnitType": { + "description": "What the usage data values represent ex: virtual machine instance.", + "type": "string", + "readOnly": true + }, + "usageData": { + "description": "The breakdown of historical resource usage. The values are in the order of usage between the firstConsumptionDate and the lastConsumptionDate.", + "type": "array", + "items": { + "type": "number" + }, + "readOnly": true + }, + "usageGrain": { + "description": "The grain of the values represented in the usage data ex: hourly.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationRecommendationsListResult": { + "description": "Result of listing reservation recommendations.", + "properties": { + "value": { + "description": "The list of reservation recommendations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationRecommendation" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "previousLink": { + "description": "The link (url) to the previous page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationRecommendation": { + "description": "A reservation recommendation resource.", + "type": "object", + "discriminator": "kind", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "$ref": "#/definitions/ResourceAttributes" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Specifies the kind of reservation recommendation.", + "enum": [ + "legacy", + "modern" + ], + "x-ms-enum": { + "name": "ReservationRecommendationKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ] + }, + "LegacyReservationRecommendation": { + "description": "Legacy reservation recommendation.", + "type": "object", + "x-ms-discriminator-value": "legacy", + "properties": { + "properties": { + "description": "Properties for legacy reservation recommendation", + "$ref": "#/definitions/LegacyReservationRecommendationProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ReservationRecommendation" + } + ], + "required": [ + "properties" + ] + }, + "LegacyReservationRecommendationProperties": { + "description": "The properties of the reservation recommendation.", + "properties": { + "lookBackPeriod": { + "description": "The number of days of usage to look back for recommendation.", + "type": "string", + "readOnly": true + }, + "instanceFlexibilityRatio": { + "description": "The instance Flexibility Ratio.", + "type": "number", + "readOnly": true + }, + "instanceFlexibilityGroup": { + "description": "The instance Flexibility Group.", + "type": "string", + "readOnly": true + }, + "normalizedSize": { + "description": "The normalized Size.", + "type": "string", + "readOnly": true + }, + "recommendedQuantityNormalized": { + "description": "The recommended Quantity Normalized.", + "type": "number", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID)", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "resourceType": { + "description": "The azure resource type.", + "type": "string", + "readOnly": true + }, + "term": { + "description": "RI recommendations in one or three year terms.", + "type": "string", + "readOnly": true + }, + "costWithNoReservedInstances": { + "description": "The total amount of cost without reserved instances.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "recommendedQuantity": { + "description": "Recommended quality for reserved instances.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "totalCostWithReservedInstances": { + "description": "The total amount of cost with reserved instances.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "netSavings": { + "description": "Total estimated savings with reserved instances.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "firstUsageDate": { + "description": "The usage date for looking back.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "scope": { + "description": "Shared or single recommendation.", + "type": "string", + "readOnly": true + }, + "skuProperties": { + "description": "List of sku properties", + "type": "array", + "items": { + "$ref": "#/definitions/SkuProperty" + }, + "readOnly": true + } + } + }, + "SkuProperty": { + "description": "The Sku property", + "properties": { + "name": { + "description": "The name of sku property.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The value of sku property.", + "type": "string", + "readOnly": true + } + } + }, + "ModernReservationRecommendation": { + "description": "Modern reservation recommendation.", + "type": "object", + "x-ms-discriminator-value": "modern", + "properties": { + "properties": { + "description": "Properties for modern reservation recommendation", + "$ref": "#/definitions/ModernReservationRecommendationProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ReservationRecommendation" + } + ], + "required": [ + "properties" + ] + }, + "ModernReservationRecommendationProperties": { + "description": "The properties of the reservation recommendation.", + "properties": { + "location": { + "type": "string", + "description": "Resource Location.", + "readOnly": true + }, + "lookBackPeriod": { + "description": "The number of days of usage to look back for recommendation.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "instanceFlexibilityRatio": { + "description": "The instance Flexibility Ratio.", + "type": "number", + "readOnly": true + }, + "instanceFlexibilityGroup": { + "description": "The instance Flexibility Group.", + "type": "string", + "readOnly": true + }, + "normalizedSize": { + "description": "The normalized Size.", + "type": "string", + "readOnly": true + }, + "recommendedQuantityNormalized": { + "description": "The recommended Quantity Normalized.", + "type": "number", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID)", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "term": { + "description": "RI recommendations in one or three year terms.", + "type": "string", + "readOnly": true + }, + "costWithNoReservedInstances": { + "description": "The total amount of cost without reserved instances.", + "$ref": "#/definitions/amount", + "readOnly": true + }, + "recommendedQuantity": { + "description": "Recommended quality for reserved instances.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "totalCostWithReservedInstances": { + "description": "The total amount of cost with reserved instances.", + "$ref": "#/definitions/amount", + "readOnly": true + }, + "netSavings": { + "description": "Total estimated savings with reserved instances.", + "$ref": "#/definitions/amount", + "readOnly": true + }, + "firstUsageDate": { + "description": "The usage date for looking back.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "scope": { + "description": "Shared or single recommendation.", + "type": "string", + "readOnly": true + }, + "skuProperties": { + "description": "List of sku properties", + "type": "array", + "items": { + "$ref": "#/definitions/SkuProperty" + }, + "readOnly": true + }, + "skuName": { + "description": "This is the ARM Sku name.", + "type": "string", + "readOnly": true + } + } + }, + "ModernReservationTransactionProperties": { + "description": "The properties of a modern reservation transaction.", + "properties": { + "amount": { + "description": "The charge of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "armSkuName": { + "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.", + "type": "string", + "readOnly": true + }, + "billingFrequency": { + "description": "The billing frequency, which can be either one-time or recurring.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "Billing profile Id.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "Billing profile name.", + "type": "string", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the transaction is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the transaction.", + "type": "string", + "readOnly": true + }, + "eventDate": { + "description": "The date of the transaction", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "eventType": { + "description": "The type of the transaction (Purchase, Cancel, etc.)", + "type": "string", + "readOnly": true + }, + "invoice": { + "description": "Invoice Number", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "Invoice Id as on the invoice where the specific transaction appears.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "Invoice Section Id", + "type": "string", + "readOnly": true + }, + "invoiceSectionName": { + "description": "Invoice Section Name.", + "type": "string", + "readOnly": true + }, + "purchasingSubscriptionGuid": { + "description": "The subscription guid that makes the transaction.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "purchasingSubscriptionName": { + "description": "The subscription name that makes the transaction.", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The quantity of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "region": { + "description": "The region of the transaction.", + "type": "string", + "readOnly": true + }, + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "reservationOrderName": { + "description": "The name of the reservation order.", + "type": "string", + "readOnly": true + }, + "term": { + "description": "This is the term of the transaction.", + "type": "string", + "readOnly": true + } + } + }, + "ModernReservationTransaction": { + "description": "Modern Reservation transaction resource.", + "type": "object", + "x-ms-discriminator-value": "Modern", + "allOf": [ + { + "$ref": "#/definitions/ReservationTransactionResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ModernReservationTransactionProperties", + "title": "Reservation Transaction properties" + } + }, + "required": [ + "properties" + ] + }, + "LegacyReservationTransaction": { + "description": "Legacy Reservation transaction resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReservationTransaction" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LegacyReservationTransactionProperties", + "title": "Reservation Transaction properties" + } + }, + "required": [ + "properties" + ] + }, + "LegacyReservationTransactionProperties": { + "description": "The properties of a legacy reservation transaction.", + "properties": { + "eventDate": { + "description": "The date of the transaction", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "reservationOrderId": { + "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the transaction.", + "type": "string", + "readOnly": true + }, + "eventType": { + "description": "The type of the transaction (Purchase, Cancel, etc.)", + "type": "string", + "readOnly": true + }, + "quantity": { + "description": "The quantity of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "amount": { + "description": "The charge of the transaction.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the transaction is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "reservationOrderName": { + "description": "The name of the reservation order.", + "type": "string", + "readOnly": true + }, + "purchasingEnrollment": { + "description": "The purchasing enrollment.", + "type": "string", + "readOnly": true + }, + "purchasingSubscriptionGuid": { + "description": "The subscription guid that makes the transaction.", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "purchasingSubscriptionName": { + "description": "The subscription name that makes the transaction.", + "type": "string", + "readOnly": true + }, + "armSkuName": { + "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.", + "type": "string", + "readOnly": true + }, + "term": { + "description": "This is the term of the transaction.", + "type": "string", + "readOnly": true + }, + "region": { + "description": "The region of the transaction.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "The name of the account that makes the transaction.", + "type": "string", + "readOnly": true + }, + "accountOwnerEmail": { + "description": "The email of the account owner that makes the transaction.", + "type": "string", + "readOnly": true + }, + "departmentName": { + "description": "The department name.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center of this department if it is a department and a cost center is provided.", + "type": "string", + "readOnly": true + }, + "currentEnrollment": { + "description": "The current enrollment.", + "type": "string", + "readOnly": true + }, + "billingFrequency": { + "description": "The billing frequency, which can be either one-time or recurring.", + "type": "string", + "readOnly": true + } + } + }, + "ReservationTransaction": { + "description": "Reservation transaction resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReservationTransactionResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LegacyReservationTransactionProperties", + "title": "Reservation Transaction properties" + } + } + }, + "ReservationTransactionsListResult": { + "description": "Result of listing reservation recommendations.", + "properties": { + "value": { + "description": "The list of reservation recommendations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ReservationTransaction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ModernReservationTransactionsListResult": { + "description": "Result of listing reservation recommendations.", + "properties": { + "value": { + "description": "The list of reservation recommendations.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ModernReservationTransaction" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "TagsResult": { + "description": "A resource listing all tags.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/TagProperties", + "title": "Tag properties" + } + } + }, + "TagProperties": { + "description": "The properties of the tag.", + "properties": { + "tags": { + "description": "A list of Tag.", + "type": "array", + "items": { + "$ref": "#/definitions/Tag" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "previousLink": { + "description": "The link (url) to the previous page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Tag": { + "description": "The tag resource.", + "properties": { + "key": { + "description": "Tag key.", + "type": "string" + }, + "value": { + "description": "Tag values.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BudgetsListResult": { + "description": "Result of listing budgets. It contains a list of available budgets in the scope provided.", + "properties": { + "value": { + "description": "The list of budgets.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Budget" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "Budget": { + "description": "A budget resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BudgetProperties", + "title": "Budget properties" + } + } + }, + "BudgetProperties": { + "description": "The properties of the budget.", + "properties": { + "category": { + "description": "The category of the budget, whether the budget tracks cost or usage.", + "type": "string", + "enum": [ + "Cost" + ], + "x-ms-enum": { + "name": "CategoryType", + "modelAsString": true + } + }, + "amount": { + "description": "The total amount of cost to track with the budget", + "type": "number", + "format": "decimal" + }, + "timeGrain": { + "description": "The time covered by a budget. Tracking of the amount will be reset based on the time grain. BillingMonth, BillingQuarter, and BillingAnnual are only supported by WD customers", + "type": "string", + "enum": [ + "Monthly", + "Quarterly", + "Annually", + "BillingMonth", + "BillingQuarter", + "BillingAnnual" + ], + "x-ms-enum": { + "name": "TimeGrainType", + "modelAsString": true + } + }, + "timePeriod": { + "description": "Has start and end date of the budget. The start date must be first of the month and should be less than the end date. Budget start date must be on or after June 1, 2017. Future start date should not be more than twelve months. Past start date should be selected within the timegrain period. There are no restrictions on the end date.", + "$ref": "#/definitions/BudgetTimePeriod" + }, + "filter": { + "description": "May be used to filter budgets by user-specified dimensions and/or tags.", + "type": "object", + "$ref": "#/definitions/BudgetFilter" + }, + "currentSpend": { + "description": "The current amount of cost which is being tracked for a budget.", + "$ref": "#/definitions/CurrentSpend", + "readOnly": true + }, + "notifications": { + "type": "object", + "description": "Dictionary of notifications associated with the budget. Budget can have up to five notifications.", + "additionalProperties": { + "type": "object", + "$ref": "#/definitions/Notification" + }, + "maxItems": 5 + }, + "forecastSpend": { + "description": "The forecasted cost which is being tracked for a budget.", + "$ref": "#/definitions/ForecastSpend", + "readOnly": true + } + }, + "required": [ + "category", + "amount", + "timeGrain", + "timePeriod" + ] + }, + "BudgetTimePeriod": { + "description": "The start and end date for a budget.", + "properties": { + "startDate": { + "description": "The start date for the budget.", + "type": "string", + "format": "date-time" + }, + "endDate": { + "description": "The end date for the budget. If not provided, we default this to 10 years from the start date.", + "type": "string", + "format": "date-time" + } + }, + "required": [ + "startDate" + ] + }, + "BudgetFilter": { + "description": "May be used to filter budgets by resource group, resource, or meter.", + "properties": { + "and": { + "description": "The logical \"AND\" expression. Must have at least 2 items.", + "type": "array", + "items": { + "$ref": "#/definitions/BudgetFilterProperties" + }, + "minItems": 0 + }, + "not": { + "description": "The logical \"NOT\" expression.", + "$ref": "#/definitions/BudgetFilterProperties" + }, + "dimensions": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/BudgetComparisonExpression" + }, + "tags": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/BudgetComparisonExpression" + } + } + }, + "BudgetFilterProperties": { + "description": "The Dimensions or Tags to filter a budget by.", + "properties": { + "dimensions": { + "description": "Has comparison expression for a dimension", + "$ref": "#/definitions/BudgetComparisonExpression" + }, + "tags": { + "description": "Has comparison expression for a tag", + "$ref": "#/definitions/BudgetComparisonExpression" + } + } + }, + "BudgetComparisonExpression": { + "description": "The comparison expression to be used in the budgets.", + "properties": { + "name": { + "description": "The name of the column to use in comparison.", + "type": "string" + }, + "operator": { + "description": "The operator to use for comparison.", + "type": "string", + "enum": [ + "In" + ], + "x-ms-enum": { + "name": "BudgetOperatorType", + "modelAsString": true + } + }, + "values": { + "description": "Array of values to use for comparison", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0 + } + }, + "required": [ + "name", + "operator", + "values" + ] + }, + "CurrentSpend": { + "description": "The current amount of cost which is being tracked for a budget.", + "properties": { + "amount": { + "description": "The total amount of cost which is being tracked by the budget.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unit": { + "description": "The unit of measure for the budget amount.", + "type": "string", + "readOnly": true + } + } + }, + "ForecastSpend": { + "description": "The forecasted cost which is being tracked for a budget.", + "properties": { + "amount": { + "description": "The forecasted cost for the total time period which is being tracked by the budget. This value is only provided if the budget contains a forecast alert type.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "unit": { + "description": "The unit of measure for the budget amount.", + "type": "string", + "readOnly": true + } + } + }, + "Notification": { + "description": "The notification associated with a budget.", + "properties": { + "enabled": { + "description": "The notification is enabled or not.", + "type": "boolean" + }, + "operator": { + "description": "The comparison operator.", + "type": "string", + "enum": [ + "EqualTo", + "GreaterThan", + "GreaterThanOrEqualTo" + ], + "x-ms-enum": { + "name": "OperatorType", + "modelAsString": true + } + }, + "threshold": { + "description": "Threshold value associated with a notification. Notification is sent when the cost exceeded the threshold. It is always percent and has to be between 0 and 1000.", + "type": "number", + "format": "decimal" + }, + "contactEmails": { + "description": "Email addresses to send the budget notification to when the threshold is exceeded. Must have at least one contact email or contact group specified at the Subscription or Resource Group scopes. All other scopes must have at least one contact email specified.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 50 + }, + "contactRoles": { + "description": "Contact roles to send the budget notification to when the threshold is exceeded.", + "type": "array", + "items": { + "type": "string" + } + }, + "contactGroups": { + "description": "Action groups to send the budget notification to when the threshold is exceeded. Must be provided as a fully qualified Azure resource id. Only supported at Subscription or Resource Group scopes.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 0, + "maxItems": 50 + }, + "thresholdType": { + "description": "The type of threshold", + "type": "string", + "enum": [ + "Actual" + ], + "x-ms-enum": { + "name": "ThresholdType", + "modelAsString": true + }, + "default": "Actual" + } + }, + "required": [ + "enabled", + "operator", + "threshold", + "contactEmails" + ] + }, + "PriceSheetResult": { + "description": "An pricesheet resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PriceSheetModel", + "title": "Price sheet properties" + } + } + }, + "PriceSheetModel": { + "description": "price sheet result. It contains the pricesheet associated with billing period", + "properties": { + "pricesheets": { + "description": "Price sheet", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PriceSheetProperties" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "download": { + "description": "Pricesheet download details.", + "$ref": "#/definitions/MeterDetails", + "readOnly": true + } + } + }, + "DownloadProperties": { + "description": "The properties of the price sheet download.", + "properties": { + "downloadUrl": { + "description": "The link (url) to download the pricesheet.", + "type": "string", + "readOnly": true + }, + "validTill": { + "description": "Download link validity.", + "type": "string", + "readOnly": true + } + } + }, + "PriceSheetProperties": { + "description": "The properties of the price sheet.", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the usage belongs to.", + "type": "string", + "readOnly": true + }, + "meterId": { + "description": "The meter id (GUID)", + "type": "string", + "format": "uuid", + "readOnly": true + }, + "meterDetails": { + "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.", + "$ref": "#/definitions/MeterDetails", + "readOnly": true + }, + "unitOfMeasure": { + "description": "Unit of measure", + "type": "string", + "readOnly": true + }, + "includedQuantity": { + "description": "Included quality for an offer", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "partNumber": { + "description": "Part Number", + "type": "string", + "readOnly": true + }, + "unitPrice": { + "description": "Unit Price", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "currencyCode": { + "description": "Currency Code", + "type": "string", + "readOnly": true + }, + "offerId": { + "description": "Offer Id", + "type": "string", + "readOnly": true + } + } + }, + "ManagementGroupAggregatedCostResult": { + "description": "A management group aggregated cost resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagementGroupAggregatedCostProperties", + "title": "Management Group Aggregated Cost properties" + } + } + }, + "ManagementGroupAggregatedCostProperties": { + "description": "The properties of the Management Group Aggregated Cost.", + "type": "object", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the aggregated cost belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "The start of the date time range covered by aggregated cost.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "usageEnd": { + "description": "The end of the date time range covered by the aggregated cost.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "azureCharges": { + "description": "Azure Charges.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "marketplaceCharges": { + "description": "Marketplace Charges.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "chargesBilledSeparately": { + "description": "Charges Billed Separately.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "currency": { + "description": "The ISO currency in which the meter is charged, for example, USD.", + "type": "string", + "readOnly": true + }, + "children": { + "description": "Children of a management group", + "type": "array", + "items": { + "$ref": "#/definitions/ManagementGroupAggregatedCostResult" + } + }, + "includedSubscriptions": { + "description": "List of subscription Guids included in the calculation of aggregated cost", + "type": "array", + "items": { + "type": "string" + } + }, + "excludedSubscriptions": { + "description": "List of subscription Guids excluded from the calculation of aggregated cost", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ChargesListResult": { + "description": "Result of listing charge summary.", + "properties": { + "value": { + "description": "The list of charge summary", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ChargeSummary" + } + } + } + }, + "ChargeSummary": { + "description": "A charge summary resource.", + "type": "object", + "discriminator": "kind", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Specifies the kind of charge summary.", + "enum": [ + "legacy", + "modern" + ], + "x-ms-enum": { + "name": "ChargeSummaryKind", + "modelAsString": true + } + } + }, + "required": [ + "kind" + ] + }, + "LegacyChargeSummary": { + "description": "Legacy charge summary.", + "type": "object", + "x-ms-discriminator-value": "legacy", + "properties": { + "properties": { + "description": "Properties for legacy charge summary", + "$ref": "#/definitions/LegacyChargeSummaryProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ChargeSummary" + } + ], + "required": [ + "properties" + ] + }, + "LegacyChargeSummaryProperties": { + "description": "The properties of legacy charge summary.", + "type": "object", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the charge belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "Usage start date.", + "type": "string", + "readOnly": true + }, + "usageEnd": { + "description": "Usage end date.", + "type": "string", + "readOnly": true + }, + "azureCharges": { + "description": "Azure Charges.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "chargesBilledSeparately": { + "description": "Charges Billed separately.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "marketplaceCharges": { + "description": "Marketplace Charges.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "currency": { + "description": "Currency Code", + "type": "string", + "readOnly": true + } + } + }, + "ModernChargeSummary": { + "description": "Modern charge summary.", + "type": "object", + "x-ms-discriminator-value": "modern", + "properties": { + "properties": { + "description": "Properties for modern charge summary", + "$ref": "#/definitions/ModernChargeSummaryProperties", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ChargeSummary" + } + ], + "required": [ + "properties" + ] + }, + "ModernChargeSummaryProperties": { + "description": "The properties of modern charge summary.", + "type": "object", + "properties": { + "billingPeriodId": { + "description": "The id of the billing period resource that the charge belongs to.", + "type": "string", + "readOnly": true + }, + "usageStart": { + "description": "Usage start date.", + "type": "string", + "readOnly": true + }, + "usageEnd": { + "description": "Usage end date.", + "type": "string", + "readOnly": true + }, + "azureCharges": { + "description": "Azure Charges.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "chargesBilledSeparately": { + "description": "Charges Billed separately.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "marketplaceCharges": { + "description": "Marketplace Charges.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "billingAccountId": { + "description": "Billing Account Id", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "Billing Profile Id", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "Invoice Section Id", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "Customer Id", + "type": "string", + "readOnly": true + }, + "isInvoiced": { + "description": "Is charge Invoiced", + "type": "boolean", + "readOnly": true + } + } + }, + "MeterDetailsResponse": { + "description": "The properties of the meter detail.", + "properties": { + "meterName": { + "description": "The name of the meter, within the given meter category", + "type": "string", + "readOnly": true + }, + "meterCategory": { + "description": "The category of the meter, for example, 'Cloud services', 'Networking', etc..", + "type": "string", + "readOnly": true + }, + "meterSubCategory": { + "description": "The subcategory of the meter, for example, 'A6 Cloud services', 'ExpressRoute (IXP)', etc..", + "type": "string", + "readOnly": true + }, + "unitOfMeasure": { + "description": "The unit in which the meter consumption is charged, for example, 'Hours', 'GB', etc.", + "type": "string", + "readOnly": true + }, + "serviceFamily": { + "description": "The service family.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "HighCasedErrorDetails": { + "description": "The details of the error.", + "properties": { + "code": { + "description": "Error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + }, + "HighCasedErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/HighCasedErrorDetails" + } + } + }, + "ErrorResponse": { + "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \n\nSome Error responses: \n\n * 429 TooManyRequests - Request is throttled. Retry after waiting for the time specified in the \"x-ms-ratelimit-microsoft.consumption-retry-after\" header. \n\n * 503 ServiceUnavailable - Service is temporarily unavailable. Retry after waiting for the time specified in the \"Retry-After\" header.", + "type": "object", + "properties": { + "error": { + "description": "The details of the error.", + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "Operation": { + "description": "A Consumption REST API operation.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Operation Id." + }, + "name": { + "description": "Operation name: {provider}/{resource}/{operation}.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Consumption.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "Resource on which the operation is performed: UsageDetail, etc.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the operation.", + "type": "string", + "readOnly": true + } + } + } + } + }, + "OperationListResult": { + "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } }, - "usageStart": { - "description": "The start of the date time range covered by the usage detail.", + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", "type": "string", - "format": "date-time", "readOnly": true + } + } + }, + "Events": { + "description": "Result of listing event summary.", + "properties": { + "value": { + "description": "The list of event summary.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EventSummary" + } }, - "usageEnd": { - "description": "The end of the date time range covered by the usage detail.", + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "EventSummary": { + "description": "An event summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EventProperties", + "title": "Event summary properties" + } + } + }, + "EventProperties": { + "description": "The event properties.", + "properties": { + "transactionDate": { + "description": "The date of the event.", "type": "string", "format": "date-time", "readOnly": true }, - "instanceName": { - "description": "The name of the resource instance that the usage is about.", + "description": { + "description": "The description of the event.", "type": "string", "readOnly": true }, - "instanceId": { - "description": "The uri of the resource instance that the usage is about.", + "newCredit": { + "description": "The amount of new credit or commitment for NewCredit or SettleCharges event.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "adjustments": { + "description": "The amount of balance adjustment. The property is not available for ConsumptionCommitment lots.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "creditExpired": { + "description": "The amount of expired credit or commitment for NewCredit or SettleCharges event.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "charges": { + "description": "The amount of charges for events of type SettleCharges and PendingEligibleCharges. ", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "closedBalance": { + "description": "The balance after the event. ", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "eventType": { + "description": "Identifies the type of the event.", "type": "string", - "readOnly": true + "enum": [ + "SettledCharges", + "PendingCharges", + "PendingAdjustments", + "PendingNewCredit", + "PendingExpiredCredit", + "UnKnown", + "NewCredit" + ], + "x-ms-enum": { + "name": "EventType", + "modelAsString": true + } }, - "instanceLocation": { - "description": "The location of the resource instance that the usage is about.", + "invoiceNumber": { + "description": "The number which uniquely identifies the invoice on which the event was billed. This will be empty for unbilled events.", "type": "string", "readOnly": true }, - "currency": { - "description": "The ISO currency in which the meter is charged, for example, USD.", + "billingProfileId": { + "description": "The ID that uniquely identifies the billing profile for which the event happened. The property is only available for billing account of type MicrosoftCustomerAgreement. ", "type": "string", "readOnly": true }, - "usageQuantity": { - "description": "The quantity of usage.", - "type": "number", - "format": "decimal", + "billingProfileDisplayName": { + "description": "The display name of the billing profile for which the event happened. The property is only available for billing account of type MicrosoftCustomerAgreement.", + "type": "string", "readOnly": true }, - "billableQuantity": { - "description": "The billable usage quantity.", - "type": "number", - "format": "decimal", + "lotId": { + "description": "The ID that uniquely identifies the lot for which the event happened.", + "type": "string", "readOnly": true }, - "pretaxCost": { - "description": "The amount of cost before tax.", - "type": "number", - "format": "decimal", + "lotSource": { + "description": "Identifies the source of the lot for which the event happened. ", + "type": "string", "readOnly": true }, - "isEstimated": { - "description": "The estimated usage is subject to change.", - "type": "boolean", - "readOnly": true + "canceledCredit": { + "description": "Amount of canceled credit.", + "readOnly": true, + "$ref": "#/definitions/amount" }, - "meterId": { - "description": "The meter id.", + "creditCurrency": { + "description": "The credit currency of the event.", "type": "string", "readOnly": true }, - "meterDetails": { - "description": "The details about the meter. By default this is not populated, unless it's specified in $expand.", - "$ref": "#/definitions/MeterDetails", + "billingCurrency": { + "description": "The billing currency of the event.", + "type": "string", "readOnly": true }, - "additionalProperties": { - "description": "The list of key/value pairs for the additional properties, in the format 'key':'value' where key = the field name, and value = the field value. By default this is not populated, unless it's specified in $expand.", - "type": "object", - "additionalProperties": { - "type": "string" - }, + "reseller": { + "description": "The reseller of the event.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + }, + "creditExpiredInBillingCurrency": { + "description": "The amount of expired credit or commitment for NewCredit or SettleCharges event in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "newCreditInBillingCurrency": { + "description": "The amount of new credit or commitment for NewCredit or SettleCharges event in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "adjustmentsInBillingCurrency": { + "description": "The amount of balance adjustment in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "chargesInBillingCurrency": { + "description": "The amount of charges for events of type SettleCharges and PendingEligibleCharges in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "closedBalanceInBillingCurrency": { + "description": "The balance in billing currency after the event.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "eTag": { + "readOnly": true, + "type": "string", + "description": "The eTag for the resource." + } + } + }, + "Lots": { + "description": "Result of listing lot summary.", + "properties": { + "value": { + "description": "The list of lot summary.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/LotSummary" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", "readOnly": true } } }, - "ErrorDetails": { - "description": "The details of the error.", + "LotSummary": { + "description": "A lot summary resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "code": { - "description": "Error code.", + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/LotProperties", + "title": "Lot summary properties" + } + } + }, + "LotProperties": { + "description": "The lot properties.", + "properties": { + "originalAmount": { + "description": "The original amount of a lot.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "closedBalance": { + "description": "The balance as of the last invoice.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "source": { + "description": "The source of the lot.", "type": "string", + "enum": [ + "PurchasedCredit", + "PromotionalCredit", + "ConsumptionCommitment" + ], + "x-ms-enum": { + "name": "LotSource", + "modelAsString": true + }, "readOnly": true }, - "message": { - "description": "Error message indicating why the operation failed.", + "startDate": { + "description": "The date when the lot became effective.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "expirationDate": { + "description": "The expiration date of a lot.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "poNumber": { + "description": "The po number of the invoice on which the lot was added. This property is not available for ConsumptionCommitment lots.", "type": "string", "readOnly": true }, - "target": { - "description": "The target of the particular error.", + "purchasedDate": { + "description": "The date when the lot was added.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "status": { + "description": "The status of the lot.", + "type": "string", + "enum": [ + "None", + "Active", + "Inactive", + "Expired", + "Complete", + "Canceled" + ], + "readOnly": true, + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "creditCurrency": { + "description": "The currency of the lot.", "type": "string", "readOnly": true + }, + "billingCurrency": { + "description": "The billing currency of the lot.", + "type": "string", + "readOnly": true + }, + "originalAmountInBillingCurrency": { + "description": "The original amount of a lot in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "closedBalanceInBillingCurrency": { + "description": "The balance as of the last invoice in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + }, + "reseller": { + "description": "The reseller of the lot.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + }, + "eTag": { + "readOnly": true, + "type": "string", + "description": "The eTag for the resource." } } }, - "ErrorResponse": { - "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.", + "CreditSummary": { + "description": "A credit summary resource.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "error": { - "description": "The details of the error.", - "$ref": "#/definitions/ErrorDetails" + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CreditSummaryProperties", + "title": "Credit summary properties" + } + } + }, + "CreditSummaryProperties": { + "description": "The properties of the credit summary.", + "type": "object", + "properties": { + "balanceSummary": { + "description": "Summary of balances associated with this credit summary.", + "readOnly": true, + "$ref": "#/definitions/CreditBalanceSummary" + }, + "pendingCreditAdjustments": { + "description": "Pending credit adjustments.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "expiredCredit": { + "description": "Expired credit.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "pendingEligibleCharges": { + "description": "Pending eligible charges.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "creditCurrency": { + "description": "The credit currency.", + "type": "string", + "readOnly": true + }, + "billingCurrency": { + "description": "The billing currency.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Credit's reseller.", + "readOnly": true, + "$ref": "#/definitions/Reseller" + }, + "eTag": { + "readOnly": true, + "type": "string", + "description": "The eTag for the resource." + } + } + }, + "CreditBalanceSummary": { + "description": "Summary of credit balances.", + "properties": { + "estimatedBalance": { + "description": "Estimated balance.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "currentBalance": { + "description": "Current balance.", + "readOnly": true, + "$ref": "#/definitions/amount" + }, + "estimatedBalanceInBillingCurrency": { + "description": "Estimated balance in billing currency.", + "readOnly": true, + "$ref": "#/definitions/AmountWithExchangeRate" + } + } + }, + "amount": { + "description": "The amount plus currency .", + "properties": { + "currency": { + "readOnly": true, + "type": "string", + "description": "Amount currency." + }, + "value": { + "readOnly": true, + "type": "number", + "format": "decimal", + "description": "Amount." + } + } + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The full qualified ARM ID of an event." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The ID that uniquely identifies an event. " + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "The etag for the resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." } - } + }, + "x-ms-azure-resource": true }, - "Operation": { - "description": "A Consumption REST API operation.", - "type": "object", + "ReservationTransactionResource": { + "description": "The Resource model definition.", "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id." + }, "name": { - "description": "Operation name: {provider}/{resource}/{operation}.", + "readOnly": true, "type": "string", - "readOnly": true + "description": "Resource name." }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.Consumption.", - "type": "string", - "readOnly": true - }, - "resource": { - "description": "Resource on which the operation is performed: UsageDetail, etc.", - "type": "string", - "readOnly": true - }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string", - "readOnly": true - } - } + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "tags": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource tags." } - } + }, + "x-ms-azure-resource": true }, - "OperationListResult": { - "description": "Result of listing consumption operations. It contains a list of operations and a URL link to get the next set of results.", + "ResourceAttributes": { + "description": "The Resource model definition.", "properties": { - "value": { - "description": "List of consumption operations supported by the Microsoft.Consumption resource provider.", - "type": "array", + "location": { "readOnly": true, - "items": { - "$ref": "#/definitions/Operation" - } + "type": "string", + "description": "Resource location" }, - "nextLink": { - "description": "URL to get the next set of operation list results if there are any.", + "sku": { + "readOnly": true, "type": "string", - "readOnly": true + "description": "Resource sku" } } }, - "Resource": { + "ProxyResource": { "description": "The Resource model definition.", "properties": { "id": { @@ -413,25 +5272,173 @@ "type": "string", "description": "Resource type." }, - "tags": { - "readOnly": true, - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags." + "eTag": { + "type": "string", + "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not." } }, "x-ms-azure-resource": true + }, + "AmountWithExchangeRate": { + "description": "The amount with exchange rate.", + "allOf": [ + { + "$ref": "#/definitions/amount" + } + ], + "properties": { + "exchangeRate": { + "description": "The exchange rate.", + "type": "number", + "format": "decimal", + "readOnly": true + }, + "exchangeRateMonth": { + "description": "The exchange rate month.", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "Reseller": { + "description": "The reseller properties.", + "type": "object", + "properties": { + "resellerId": { + "description": "The reseller property ID.", + "type": "string", + "readOnly": true + }, + "resellerDescription": { + "description": "The reseller property description.", + "type": "string", + "readOnly": true + } + } } }, "parameters": { + "scopeChargesParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with charges operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope. For department and enrollment accounts, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. Also, Modern Commerce Account scopes are '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeUsageDetailsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with usage details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and management group, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. Also, Modern Commerce Account scopes are '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for billingAccount scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeMarketplaceParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with marketplace operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope. For subscription, billing account, department, enrollment account and ManagementGroup, you can also add billing period to the scope using '/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'. For e.g. to specify billing period at department scope use '/providers/Microsoft.Billing/departments/{departmentId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}'", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeBudgetParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with budget operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeTagsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with tags operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope and '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope..", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationsSummariesParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservations summaries operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope (legacy), and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope (modern). ", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationDetailsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservations details operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope (legacy), and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope (modern). ", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationRecommendationsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationRecommendationDetailsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "scopeReservationTransactionsParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The scope associated with reservation transactions operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount/Enrollment scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, "apiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "Version of the API to be used with the client request. The current version is 2017-02-27-preview." + "description": "Version of the API to be used with the client request. The current version is 2021-10-01." + }, + "billingAccountIdParameter": { + "name": "billingAccountId", + "in": "path", + "description": "BillingAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentIdParameter": { + "name": "departmentId", + "in": "path", + "description": "Department ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountIdParameter": { + "name": "enrollmentAccountId", + "in": "path", + "description": "EnrollmentAccount ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" }, "subscriptionIdParameter": { "name": "subscriptionId", @@ -439,6 +5446,250 @@ "description": "Azure Subscription ID.", "required": true, "type": "string" + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Azure Resource Group Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "budgetNameParameter": { + "name": "budgetName", + "in": "path", + "description": "Budget Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingPeriodNameParameter": { + "name": "billingPeriodName", + "in": "path", + "description": "Billing Period Name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "reservationOrderIdParameter": { + "name": "reservationOrderId", + "in": "path", + "description": "Order Id of the reservation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "reservationIdParameter": { + "name": "reservationId", + "in": "path", + "description": "Id of the reservation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "grainParameter": { + "name": "grain", + "description": "Can be daily or monthly", + "x-ms-parameter-location": "method", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "daily", + "monthly" + ], + "x-ms-enum": { + "name": "datagrain", + "modelAsString": true, + "values": [ + { + "value": "daily", + "description": "Daily grain of data", + "name": "DailyGrain" + }, + { + "value": "monthly", + "description": "Monthly grain of data", + "name": "MonthlyGrain" + } + ] + } + }, + "managementGroupIdParameter": { + "name": "managementGroupId", + "in": "path", + "description": "Azure Management Group ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileIdParameter": { + "name": "billingProfileId", + "in": "path", + "description": "Azure Billing Profile ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceSectionIdParameter": { + "name": "invoiceSectionId", + "in": "path", + "description": "Azure Invoice Section ID.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "startDateParameter": { + "name": "startDate", + "in": "query", + "description": "Start date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "endDateParameter": { + "name": "endDate", + "in": "query", + "description": "End date", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "metricParameter": { + "name": "metric", + "in": "query", + "description": "Allows to select different type of cost/usage records.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "actualcost", + "amortizedcost", + "usage" + ], + "x-ms-enum": { + "name": "metrictype", + "modelAsString": true, + "values": [ + { + "value": "actualcost", + "description": "Actual cost data.", + "name": "ActualCostMetricType" + }, + { + "value": "amortizedcost", + "description": "Amortized cost data.", + "name": "AmortizedCostMetricType" + }, + { + "value": "usage", + "description": "Usage data.", + "name": "UsageMetricType" + } + ] + } + }, + "filterParameter": { + "name": "$filter", + "in": "query", + "description": "May be used to filter reservationRecommendations by: properties/scope with allowed values ['Single', 'Shared'] and default value 'Single'; properties/resourceType with allowed values ['VirtualMachines', 'SQLDatabases', 'PostgreSQL', 'ManagedDisk', 'MySQL', 'RedHat', 'MariaDB', 'RedisCache', 'CosmosDB', 'SqlDataWarehouse', 'SUSELinux', 'AppService', 'BlockBlob', 'AzureDataExplorer', 'VMwareCloudSimple'] and default value 'VirtualMachines'; and properties/lookBackPeriod with allowed values ['Last7Days', 'Last30Days', 'Last60Days'] and default value 'Last7Days'.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "termParameter": { + "description": "Specify length of reservation recommendation term.", + "type": "string", + "in": "query", + "required": true, + "name": "term", + "x-ms-parameter-location": "method", + "enum": [ + "P1Y", + "P3Y" + ], + "x-ms-enum": { + "name": "term", + "modelAsString": true, + "values": [ + { + "value": "P1Y", + "description": "1 year reservation term", + "name": "P1Y" + }, + { + "value": "P3Y", + "description": "3 year reservation term", + "name": "P3Y" + } + ] + } + }, + "regionParameter": { + "name": "region", + "in": "query", + "description": "Used to select the region the recommendation should be generated for.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "lookBackPeriodParameter": { + "name": "lookBackPeriod", + "in": "query", + "description": "Filter the time period on which reservation recommendation results are based.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "enum": [ + "Last7Days", + "Last30Days", + "Last60Days" + ], + "x-ms-enum": { + "name": "lookBackPeriod", + "modelAsString": true, + "values": [ + { + "value": "Last7Days", + "description": "Use 7 days of data for recommendations", + "name": "Last07Days" + }, + { + "value": "Last30Days", + "description": "Use 30 days of data for recommendations", + "name": "Last30Days" + }, + { + "value": "Last60Days", + "description": "Use 60 days of data for recommendations", + "name": "Last60Days" + } + ] + } + }, + "productParameter": { + "name": "product", + "in": "query", + "description": "Filter the products for which reservation recommendation results are generated. Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks)", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "scopeParameter": { + "description": "Scope of the reservation.", + "type": "string", + "name": "scope", + "in": "query", + "required": true, + "x-ms-parameter-location": "method", + "enum": [ + "Single", + "Shared" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ContainerInstance/containerInstance.json b/App_Data/SwaggerSpecs/Microsoft.ContainerInstance/containerInstance.json index 6e8e4ecf..11fedc3a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ContainerInstance/containerInstance.json +++ b/App_Data/SwaggerSpecs/Microsoft.ContainerInstance/containerInstance.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2018-10-01", + "version": "2021-09-01", "title": "ContainerInstanceManagementClient" }, "host": "management.azure.com", @@ -283,6 +283,9 @@ "$ref": "#/definitions/ContainerGroup" } }, + "202": { + "description": "Delete started." + }, "204": { "description": "No Content - the specified container group was not found." }, @@ -292,7 +295,8 @@ "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/restart": { @@ -379,7 +383,7 @@ } }, "summary": "Starts all containers in a container group.", - "description": "Starts all containers in a container group.", + "description": "Starts all containers in a container group. Compute resources will be allocated and billing will start.", "parameters": [ { "$ref": "#/parameters/SubscriptionIdParameter" @@ -395,8 +399,8 @@ } ], "responses": { - "204": { - "description": "NoContent" + "202": { + "description": "Started - the container group is starting." }, "default": { "description": "Error response describing why the operation failed.", @@ -438,12 +442,15 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": { "get": { - "operationId": "ContainerGroupUsage_List", + "operationId": "Location_ListUsage", "x-ms-examples": { "ContainerUsage": { "$ref": "./examples/ContainerGroupUsage.json" @@ -474,12 +481,15 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": { "get": { - "operationId": "Container_ListLogs", + "operationId": "Containers_ListLogs", "x-ms-examples": { "ContainerListLogs": { "$ref": "./examples/ContainerListLogs.json" @@ -511,7 +521,14 @@ "name": "tail", "in": "query", "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.", - "type": "integer" + "type": "integer", + "format": "int32" + }, + { + "name": "timestamps", + "in": "query", + "description": "If true, adds a timestamp at the beginning of every line of log output. If not provided, defaults to false.", + "type": "boolean" } ], "responses": { @@ -532,7 +549,7 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": { "post": { - "operationId": "Container_ExecuteCommand", + "operationId": "Containers_ExecuteCommand", "x-ms-examples": { "ContainerExec": { "$ref": "./examples/ContainerExec.json" @@ -586,16 +603,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default": { - "delete": { - "operationId": "ServiceAssociationLink_Delete", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach": { + "post": { + "operationId": "Containers_Attach", "x-ms-examples": { - "ContainerGroupsDelete": { - "$ref": "./examples/ServiceAssociationLink_Delete.json" + "ContainerAttach": { + "$ref": "./examples/ContainerAttach.json" } }, - "summary": "Delete the container instance service association link for the subnet.", - "description": "Delete the container instance service association link for the subnet. This operation unblocks user from deleting subnet.", + "summary": "Attach to the output of a specific container instance.", + "description": "Attach to the output stream of a specific container instance in a specified resource group and container group.", "parameters": [ { "$ref": "#/parameters/SubscriptionIdParameter" @@ -607,18 +624,22 @@ "$ref": "#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/VirtualNetworkNameParameter" + "$ref": "#/parameters/ContainerGroupNameParameter" }, { - "$ref": "#/parameters/SubnetNameParameter" + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "No Content - the specified service association link was not found." + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAttachResponse" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -631,7 +652,7 @@ }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": { "get": { - "operationId": "ListCachedImages", + "operationId": "Location_ListCachedImages", "x-ms-examples": { "CachedImages": { "$ref": "./examples/CachedImagesList.json" @@ -663,12 +684,15 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": { "get": { - "operationId": "ListCapabilities", + "operationId": "Location_ListCapabilities", "x-ms-examples": { "GetCapabilities": { "$ref": "./examples/CapabilitiesList.json" @@ -700,6 +724,45 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/outboundNetworkDependenciesEndpoints": { + "get": { + "operationId": "ContainerGroups_GetOutboundNetworkDependenciesEndpoints", + "x-ms-examples": {}, + "summary": "Get all network dependencies for container group.", + "description": "Gets all the network dependencies for this container group to allow complete control of network setting and configuration. For container groups, this will always be an empty list.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkDependenciesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } } } @@ -737,11 +800,11 @@ "type": "string" }, "command": { - "description": "The commands to execute within the container instance in exec form.", - "type": "array", - "items": { - "type": "string" - } + "description": "The commands to execute within the container instance in exec form.", + "type": "array", + "items": { + "type": "string" + } }, "ports": { "description": "The exposed ports on the container instance.", @@ -765,6 +828,7 @@ "restartCount": { "readOnly": true, "type": "integer", + "format": "int32", "description": "The number of times that the container instance has been restarted." }, "currentState": { @@ -811,59 +875,74 @@ "ContainerState": { "description": "The container instance state.", "type": "object", + "readOnly": true, "properties": { "state": { "type": "string", + "readOnly": true, "description": "The state of the container instance." }, "startTime": { "type": "string", + "readOnly": true, "format": "date-time", "description": "The date-time when the container instance state started." }, "exitCode": { "type": "integer", + "format": "int32", + "readOnly": true, "description": "The container instance exit codes correspond to those from the `docker run` command." }, "finishTime": { "type": "string", + "readOnly": true, "format": "date-time", "description": "The date-time when the container instance state finished." }, "detailStatus": { - "description": "The human-readable status of the container instance state.", - "type": "string" + "type": "string", + "readOnly": true, + "description": "The human-readable status of the container instance state." } } }, "Event": { "description": "A container group or container instance event.", "type": "object", + "readOnly": true, "properties": { "count": { "type": "integer", + "format": "int32", + "readOnly": true, "description": "The count of the event." }, "firstTimestamp": { "type": "string", + "readOnly": true, "format": "date-time", "description": "The date-time of the earliest logged event." }, "lastTimestamp": { "type": "string", + "readOnly": true, "format": "date-time", "description": "The date-time of the latest logged event." }, "name": { "type": "string", + "readOnly": true, "description": "The event name." }, "message": { "type": "string", + "readOnly": true, "description": "The event message." }, "type": { "type": "string", + "readOnly": true, "description": "The event type." } } @@ -1098,7 +1177,18 @@ "enum": [ "http", "https" - ] + ], + "x-ms-enum": { + "name": "Scheme", + "modelAsString": true + } + }, + "httpHeaders": { + "description": "The HTTP headers.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + } } }, "required": [ @@ -1163,6 +1253,7 @@ "properties": { "x-ms-client-flatten": true, "type": "object", + "description": "The container group properties", "properties": { "provisioningState": { "readOnly": true, @@ -1243,13 +1334,31 @@ "description": "The diagnostic information for a container group.", "$ref": "#/definitions/ContainerGroupDiagnostics" }, - "networkProfile": { - "description": "The network profile information for a container group.", - "$ref": "#/definitions/ContainerGroupNetworkProfile" + "subnetIds": { + "type": "array", + "description": "The subnet resource IDs for a container group.", + "items": { + "$ref": "#/definitions/ContainerGroupSubnetId" + } }, "dnsConfig": { "description": "The DNS config information for a container group.", "$ref": "#/definitions/DnsConfiguration" + }, + "sku": { + "description": "The SKU for a container group.", + "$ref": "#/definitions/ContainerGroupSku" + }, + "encryptionProperties": { + "description": "The encryption properties for a container group.", + "$ref": "#/definitions/EncryptionProperties" + }, + "initContainers": { + "type": "array", + "description": "The init containers for a container group.", + "items": { + "$ref": "#/definitions/InitContainerDefinition" + } } }, "required": [ @@ -1324,6 +1433,14 @@ "password": { "type": "string", "description": "The password for the private registry." + }, + "identity": { + "type": "string", + "description": "The identity for the private registry." + }, + "identityUrl": { + "type": "string", + "description": "The identity URL for the private registry." } }, "required": [ @@ -1371,6 +1488,10 @@ "additionalProperties": { "type": "string" } + }, + "workspaceResourceId": { + "description": "The workspace resource id for log analytics", + "type": "string" } }, "required": [ @@ -1378,12 +1499,16 @@ "workspaceKey" ] }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", + "ContainerGroupSubnetId": { + "description": "Container group subnet information.", "type": "object", "properties": { "id": { - "description": "The identifier for a network profile.", + "description": "Resource ID of virtual network and subnet.", + "type": "string" + }, + "name": { + "description": "Friendly name for the subnet.", "type": "string" } }, @@ -1555,7 +1680,8 @@ }, "properties": { "type": "object", - "description": "The additional properties." + "description": "The additional properties.", + "x-ms-client-flatten": true }, "origin": { "type": "string", @@ -1582,6 +1708,7 @@ "value": { "readOnly": true, "type": "array", + "description": "The usage data.", "items": { "$ref": "#/definitions/Usage" } @@ -1600,11 +1727,13 @@ "currentValue": { "readOnly": true, "type": "integer", + "format": "int32", "description": "The current usage of the resource" }, "limit": { "readOnly": true, "type": "integer", + "format": "int32", "description": "The maximum permitted usage of the resource." }, "name": { @@ -1667,10 +1796,12 @@ "properties": { "rows": { "type": "integer", + "format": "int32", "description": "The row size of the terminal" }, "cols": { "type": "integer", + "format": "int32", "description": "The column size of the terminal" } } @@ -1691,6 +1822,34 @@ } } }, + "ContainerAttachResponse": { + "description": "The information for the output stream from container attach.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the output stream from the attach." + }, + "password": { + "type": "string", + "description": "The password to the output stream from the attach. Send as an Authorization header value when connecting to the websocketUri." + } + } + }, + "HttpHeader": { + "description": "The HTTP header.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header name." + }, + "value": { + "type": "string", + "description": "The header value." + } + } + }, "DnsConfiguration": { "description": "DNS configuration for the container group.", "type": "object", @@ -1744,6 +1903,13 @@ "type": "string" }, "description": "The resource tags." + }, + "zones": { + "description": "The zones for the container group.", + "type": "array", + "items": { + "type": "string" + } } }, "x-ms-azure-resource": true @@ -1773,10 +1939,6 @@ "image" ], "properties": { - "id": { - "type": "string", - "description": "The resource Id of the cached image." - }, "osType": { "type": "string", "description": "The OS type of the cached image." @@ -1857,6 +2019,122 @@ } } }, + "ContainerGroupSku": { + "description": "The container group SKU.", + "type": "string", + "enum": [ + "Standard", + "Dedicated" + ], + "x-ms-enum": { + "name": "ContainerGroupSku", + "modelAsString": true + } + }, + "EncryptionProperties": { + "description": "The container group encryption properties.", + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "The keyvault base url.", + "type": "string" + }, + "keyName": { + "description": "The encryption key name.", + "type": "string" + }, + "keyVersion": { + "description": "The encryption key version.", + "type": "string" + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "InitContainerDefinition": { + "description": "The init container definition.", + "type": "object", + "properties": { + "name": { + "description": "The name for the init container.", + "type": "string" + }, + "properties": { + "description": "The properties for the init container.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InitContainerPropertiesDefinition" + } + }, + "required": [ + "name", + "properties" + ] + }, + "InitContainerPropertiesDefinition": { + "description": "The init container definition properties.", + "type": "object", + "properties": { + "image": { + "description": "The image of the init container.", + "type": "string" + }, + "command": { + "description": "The command to execute within the init container in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "environmentVariables": { + "description": "The environment variables to set in the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + } + }, + "instanceView": { + "description": "The instance view of the init container. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the init container has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "The current state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "The previous state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + } + } + }, + "volumeMounts": { + "description": "The volume mounts available to the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + } + } + } + }, "CloudError": { "x-ms-external": true, "properties": { @@ -1864,7 +2142,7 @@ "$ref": "#/definitions/CloudErrorBody" } }, - "description": "An error response from the Batch service." + "description": "An error response from the Container Instance service." }, "CloudErrorBody": { "x-ms-external": true, @@ -1889,7 +2167,14 @@ "description": "A list of additional details about the error." } }, - "description": "An error response from the Batch service." + "description": "An error response from the Container Instance service." + }, + "NetworkDependenciesResponse": { + "description": "Response for network dependencies, always empty list.", + "type": "array", + "items": { + "type": "string" + } } }, "parameters": { @@ -1925,22 +2210,6 @@ "description": "The name of the resource group.", "x-ms-parameter-location": "method" }, - "VirtualNetworkNameParameter": { - "name": "virtualNetworkName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the virtual network.", - "x-ms-parameter-location": "method" - }, - "SubnetNameParameter": { - "name": "subnetName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the subnet.", - "x-ms-parameter-location": "method" - }, "ContainerGroupNameParameter": { "name": "containerGroupName", "in": "path", diff --git a/App_Data/SwaggerSpecs/Microsoft.ContainerService/managedClusters.json b/App_Data/SwaggerSpecs/Microsoft.ContainerService/managedClusters.json index 383a3d95..b3de3559 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ContainerService/managedClusters.json +++ b/App_Data/SwaggerSpecs/Microsoft.ContainerService/managedClusters.json @@ -3,7 +3,7 @@ "info": { "title": "ContainerServiceClient", "description": "The Container Service Client.", - "version": "2020-03-01" + "version": "2021-09-01" }, "host": "management.azure.com", "schemes": [ @@ -37,10 +37,10 @@ "/providers/Microsoft.ContainerService/operations": { "get": { "tags": [ - "managedClusters" + "ManagedClusters" ], "operationId": "Operations_List", - "description": "Gets a list of compute operations.", + "summary": "Gets a list of operations.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -65,6 +65,48 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/locations/{location}/osOptions/default": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetOSOptions", + "summary": "Gets supported OS options in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ResourceTypeParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/CloudError" + } + }, + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OSOptionProfile" + } + } + }, + "x-ms-examples": { + "Get Container Service OS Options": { + "$ref": "./examples/ContainerServiceGetOSOptions.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": { "get": { "tags": [ @@ -72,7 +114,6 @@ ], "operationId": "ManagedClusters_List", "summary": "Gets a list of managed clusters in the specified subscription.", - "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -112,7 +153,6 @@ ], "operationId": "ManagedClusters_ListByResourceGroup", "summary": "Lists managed clusters in the specified subscription and resource group.", - "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -154,8 +194,7 @@ "ManagedClusters" ], "operationId": "ManagedClusters_GetUpgradeProfile", - "summary": "Gets upgrade profile for a managed cluster.", - "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.", + "summary": "Gets the upgrade profile of a managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -193,12 +232,13 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": { "post": { + "deprecated": true, "tags": [ "ManagedClusters" ], "operationId": "ManagedClusters_GetAccessProfile", "summary": "Gets an access profile of a managed cluster.", - "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name.", + "description": "**WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/rest/api/aks/managedclusters/listclusteradmincredentials) .", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -247,8 +287,7 @@ "ManagedClusters" ], "operationId": "ManagedClusters_ListClusterAdminCredentials", - "summary": "Gets cluster admin credential of a managed cluster.", - "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.", + "summary": "Lists the admin credentials of a managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -261,6 +300,9 @@ }, { "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" } ], "responses": { @@ -290,8 +332,7 @@ "ManagedClusters" ], "operationId": "ManagedClusters_ListClusterUserCredentials", - "summary": "Gets cluster user credential of a managed cluster.", - "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.", + "summary": "Lists the user credentials of a managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -304,6 +345,9 @@ }, { "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" } ], "responses": { @@ -333,8 +377,7 @@ "ManagedClusters" ], "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials", - "summary": "Gets cluster monitoring user credential of a managed cluster.", - "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.", + "summary": "Lists the cluster monitoring user credentials of a managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -347,6 +390,9 @@ }, { "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ServerFqdnParameter" } ], "responses": { @@ -377,7 +423,6 @@ ], "operationId": "ManagedClusters_Get", "summary": "Gets a managed cluster.", - "description": "Gets the details of the managed cluster with a specified resource group and name.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -418,7 +463,6 @@ ], "operationId": "ManagedClusters_CreateOrUpdate", "summary": "Creates or updates a managed cluster.", - "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -439,7 +483,7 @@ "schema": { "$ref": "#/definitions/ManagedCluster" }, - "description": "Parameters supplied to the Create or Update a Managed Cluster operation." + "description": "The managed cluster to create or update." } ], "responses": { @@ -466,6 +510,63 @@ "x-ms-examples": { "Create/Update Managed Cluster": { "$ref": "./examples/ManagedClustersCreate_Update.json" + }, + "Create/Update AAD Managed Cluster with EnableAzureRBAC": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json" + }, + "Create Managed Cluster with PPG": { + "$ref": "./examples/ManagedClustersCreate_PPG.json" + }, + "Create Managed Cluster with OSSKU": { + "$ref": "./examples/ManagedClustersCreate_OSSKU.json" + }, + "Create Managed Cluster with GPUMIG": { + "$ref": "./examples/ManagedClustersCreate_GPUMIG.json" + }, + "Create/Update Managed Cluster with EnableAHUB": { + "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json" + }, + "Create Managed Cluster with EncryptionAtHost enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableEncryptionAtHost.json" + }, + "Create Managed Cluster with UltraSSD enabled": { + "$ref": "./examples/ManagedClustersCreate_EnableUltraSSD.json" + }, + "Create Managed Cluster with PodIdentity enabled": { + "$ref": "./examples/ManagedClustersCreate_PodIdentity.json" + }, + "Create Managed Private Cluster with fqdn subdomain specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterFQDNSubdomain.json" + }, + "Create Managed Private Cluster with Public FQDN specified": { + "$ref": "./examples/ManagedClustersCreate_PrivateClusterPublicFQDN.json" + }, + "Create Managed Cluster with RunCommand disabled": { + "$ref": "./examples/ManagedClustersCreate_DisableRunCommand.json" + }, + "Create Managed Cluster with Node Public IP Prefix": { + "$ref": "./examples/ManagedClustersCreate_NodePublicIPPrefix.json" + }, + "Create Managed Cluster with FIPS enabled OS": { + "$ref": "./examples/ManagedClustersCreate_EnabledFIPS.json" + }, + "Create Managed Cluster with HTTP proxy configured": { + "$ref": "./examples/ManagedClustersCreate_HTTPProxy.json" + }, + "Create Managed Cluster with Security Profile configured": { + "$ref": "./examples/ManagedClustersCreate_SecurityProfile.json" + }, + "Create Managed Cluster with AKS-managed NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_ManagedNATGateway.json" + }, + "Create Managed Cluster with user-assigned NAT gateway as outbound type": { + "$ref": "./examples/ManagedClustersCreate_UserAssignedNATGateway.json" + }, + "Create Managed Cluster using an agent pool snapshot": { + "$ref": "./examples/ManagedClustersCreate_Snapshot.json" + }, + "Create/Update Managed Cluster with Windows gMSA enabled": { + "$ref": "./examples/ManagedClustersCreate_UpdateWindowsGmsa.json" } } }, @@ -475,7 +576,6 @@ ], "operationId": "ManagedClusters_UpdateTags", "summary": "Updates tags on a managed cluster.", - "description": "Updates a managed cluster with the specified tags.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -526,7 +626,6 @@ ], "operationId": "ManagedClusters_Delete", "summary": "Deletes a managed cluster.", - "description": "Deletes the managed cluster with a specified resource group and name.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -563,6 +662,205 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_ListByManagedCluster", + "summary": "Gets a list of maintenance configurations in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List maintenance configurations by Managed Cluster": { + "$ref": "./examples/MaintenanceConfigurationsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/maintenanceConfigurations/{configName}": { + "get": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Get", + "summary": "Gets the specified maintenance configuration of a managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsGet.json" + } + } + }, + "put": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_CreateOrUpdate", + "summary": "Creates or updates a maintenance configuration in the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The maintenance configuration to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MaintenanceConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create/Update Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsCreate_Update.json" + } + } + }, + "delete": { + "tags": [ + "MaintenanceConfigurations" + ], + "operationId": "MaintenanceConfigurations_Delete", + "summary": "Deletes a maintenance configuration.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "configName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the maintenance configuration." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Delete Maintenance Configuration": { + "$ref": "./examples/MaintenanceConfigurationsDelete.json" + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": { "get": { "tags": [ @@ -570,7 +868,6 @@ ], "operationId": "AgentPools_List", "summary": "Gets a list of agent pools in the specified managed cluster.", - "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -615,8 +912,7 @@ "AgentPools" ], "operationId": "AgentPools_Get", - "summary": "Gets the agent pool.", - "description": "Gets the details of the agent pool by managed cluster and resource group.", + "summary": "Gets the specified managed cluster agent pool.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -663,8 +959,7 @@ "AgentPools" ], "operationId": "AgentPools_CreateOrUpdate", - "summary": "Creates or updates an agent pool.", - "description": "Creates or updates an agent pool in the specified managed cluster.", + "summary": "Creates or updates an agent pool in the specified managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -692,7 +987,7 @@ "schema": { "$ref": "#/definitions/AgentPool" }, - "description": "Parameters supplied to the Create or Update an agent pool operation." + "description": "The agent pool to create or update." } ], "responses": { @@ -720,8 +1015,47 @@ "Create/Update Agent Pool": { "$ref": "./examples/AgentPoolsCreate_Update.json" }, + "Update Agent Pool": { + "$ref": "./examples/AgentPools_Update.json" + }, "Create Spot Agent Pool": { "$ref": "./examples/AgentPoolsCreate_Spot.json" + }, + "Create Agent Pool with PPG": { + "$ref": "./examples/AgentPoolsCreate_PPG.json" + }, + "Create Agent Pool with OSSKU": { + "$ref": "./examples/AgentPoolsCreate_OSSKU.json" + }, + "Create Agent Pool with GPUMIG": { + "$ref": "./examples/AgentPoolsCreate_GPUMIG.json" + }, + "Create Agent Pool with Ephemeral OS Disk": { + "$ref": "./examples/AgentPoolsCreate_Ephemeral.json" + }, + "Create Agent Pool with KubeletConfig and LinuxOSConfig": { + "$ref": "./examples/AgentPoolsCreate_CustomNodeConfig.json" + }, + "Create Agent Pool with EncryptionAtHost enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableEncryptionAtHost.json" + }, + "Create Agent Pool with UltraSSD enabled": { + "$ref": "./examples/AgentPoolsCreate_EnableUltraSSD.json" + }, + "Create Agent Pool with FIPS enabled OS": { + "$ref": "./examples/AgentPoolsCreate_EnableFIPS.json" + }, + "Create Agent Pool using an agent pool snapshot": { + "$ref": "./examples/AgentPoolsCreate_Snapshot.json" + }, + "Create Agent Pool with Krustlet and the WASI runtime": { + "$ref": "./examples/AgentPoolsCreate_WasmWasi.json" + }, + "Stop Agent Pool": { + "$ref": "./examples/AgentPools_Stop.json" + }, + "Start Agent Pool": { + "$ref": "./examples/AgentPools_Start.json" } } }, @@ -730,8 +1064,7 @@ "AgentPools" ], "operationId": "AgentPools_Delete", - "summary": "Deletes an agent pool.", - "description": "Deletes the agent pool in the specified managed cluster.", + "summary": "Deletes an agent pool in the specified managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -781,8 +1114,7 @@ "AgentPools" ], "operationId": "AgentPools_GetUpgradeProfile", - "summary": "Gets upgrade profile for an agent pool.", - "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.", + "summary": "Gets the upgrade profile for an agent pool.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -831,8 +1163,8 @@ "AgentPools" ], "operationId": "AgentPools_GetAvailableAgentPoolVersions", - "summary": "Gets a list of supported versions for the specified agent pool.", - "description": "Gets a list of supported versions for the specified agent pool.", + "summary": "Gets a list of supported Kubernetes versions for the specified agent pool.", + "description": "See [supported Kubernetes versions](https://docs.microsoft.com/azure/aks/supported-kubernetes-versions) for more details about the version lifecycle.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -868,8 +1200,8 @@ "ManagedClusters" ], "operationId": "ManagedClusters_ResetServicePrincipalProfile", - "summary": "Reset Service Principal Profile of a managed cluster.", - "description": "Update the service principal Profile for a managed cluster.", + "summary": "Reset the Service Principal Profile of a managed cluster.", + "description": "This action cannot be performed on a cluster that is not using a service principal", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -890,7 +1222,7 @@ "schema": { "$ref": "#/definitions/ManagedClusterServicePrincipalProfile" }, - "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster." + "description": "The service principal profile to set on the managed cluster." } ], "responses": { @@ -921,8 +1253,7 @@ "ManagedClusters" ], "operationId": "ManagedClusters_ResetAADProfile", - "summary": "Reset AAD Profile of a managed cluster.", - "description": "Update the AAD Profile for a managed cluster.", + "summary": "Reset the AAD Profile of a managed cluster.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -943,7 +1274,7 @@ "schema": { "$ref": "#/definitions/ManagedClusterAADProfile" }, - "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster." + "description": "The AAD profile to set on the Managed Cluster" } ], "responses": { @@ -974,8 +1305,8 @@ "ManagedClusters" ], "operationId": "ManagedClusters_RotateClusterCertificates", - "summary": "Rotate certificates of a managed cluster.", - "description": "Rotate certificates of a managed cluster.", + "summary": "Rotates the certificates of a managed cluster.", + "description": "See [Certificate rotation](https://docs.microsoft.com/azure/aks/certificate-rotation) for more details about rotating managed cluster certificates.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -1011,1544 +1342,4175 @@ } } } - } - }, - "definitions": { - "OperationListResult": { - "properties": { - "value": { - "type": "array", - "readOnly": true, - "items": { - "$ref": "#/definitions/OperationValue" - }, - "description": "The list of compute operations" - } - }, - "description": "The List Compute Operation operation response." }, - "OperationValue": { - "properties": { - "origin": { - "type": "string", - "readOnly": true, - "description": "The origin of the compute operation." - }, - "name": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Stop", + "summary": "Stops a Managed Cluster", + "description": "This can only be performed on Azure Virtual Machine Scale set backed clusters. Stopping a cluster stops the control plane and agent nodes entirely, while maintaining all object and cluster state. A cluster does not accrue charges while it is stopped. See [stopping a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about stopping a cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Stop Managed Cluster": { + "$ref": "./examples/ManagedClustersStop.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_Start", + "summary": "Starts a previously stopped Managed Cluster", + "description": "See [starting a cluster](https://docs.microsoft.com/azure/aks/start-stop-cluster) for more details about starting a cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Start Managed Cluster": { + "$ref": "./examples/ManagedClustersStart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "summary": "Gets a list of private endpoint connections in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Cluster": { + "$ref": "./examples/PrivateEndpointConnectionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "summary": "Gets the specified private endpoint connection.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsGet.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "summary": "Updates a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The updated private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsUpdate.json" + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "summary": "Deletes a private endpoint connection.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete Private Endpoint Connection": { + "$ref": "./examples/PrivateEndpointConnectionsDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeNodeImageVersion": { + "post": { + "tags": [ + "AgentPools" + ], + "operationId": "AgentPools_UpgradeNodeImageVersion", + "summary": "Upgrades the node image version of an agent pool to the latest.", + "description": "Upgrading the node image version of an agent pool applies the newest OS and runtime updates to the nodes. AKS provides one new image per week with the latest updates. For more details on node image versions, see: https://docs.microsoft.com/azure/aks/node-image-upgrade", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "agentPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the agent pool." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/AgentPool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Upgrade Agent Pool Node Image Version": { + "$ref": "./examples/AgentPoolsUpgradeNodeImageVersion.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "privateLinkResources" + ], + "operationId": "PrivateLinkResources_List", + "summary": "Gets a list of private link resources in the specified managed cluster.", + "description": "To learn more about private clusters, see: https://docs.microsoft.com/azure/aks/private-clusters", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Cluster": { + "$ref": "./examples/PrivateLinkResourcesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resolvePrivateLinkServiceId": { + "post": { + "tags": [ + "resolvePrivateLinkServiceId" + ], + "operationId": "ResolvePrivateLinkServiceId_POST", + "summary": "Gets the private link service ID for the specified managed cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "Parameters required in order to resolve a private link service ID." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Resolve the Private Link Service ID for Managed Cluster": { + "$ref": "./examples/ResolvePrivateLinkServiceId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/runCommand": { + "post": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_RunCommand", + "summary": "Submits a command to run against the Managed Cluster.", + "description": "AKS will create a pod to run the command. This is primarily useful for private clusters. For more information see [AKS Run Command](https://docs.microsoft.com/azure/aks/private-clusters#aks-run-command-preview).", + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "requestPayload", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RunCommandRequest" + }, + "description": "The run command request" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "200": { + "description": "command finished with async pattern, tracking by location header. !!! this is for autorest only, you never get 200 from this api !!!", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "submitNewCommand": { + "$ref": "./examples/RunCommandRequest.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/commandResults/{commandId}": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_GetCommandResult", + "summary": "Gets the results of a command which has been run on the Managed Cluster.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "commandId", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the command." + } + ], + "responses": { + "202": { + "description": "command running in progress" + }, + "200": { + "description": "command finished", + "schema": { + "$ref": "#/definitions/RunCommandResult" + } + }, + "default": { + "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "commandSucceedResult": { + "$ref": "./examples/RunCommandResultSucceed.json" + }, + "commandFailedResult": { + "$ref": "./examples/RunCommandResultFailed.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "ManagedClusters" + ], + "operationId": "ManagedClusters_ListOutboundNetworkDependenciesEndpoints", + "summary": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster.", + "description": "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified managed cluster. The operation returns properties of each egress endpoint.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List OutboundNetworkDependenciesEndpoints by Managed Cluster": { + "$ref": "./examples/OutboundNetworkDependenciesEndpointsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "summary": "Gets a list of snapshots in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots": { + "$ref": "./examples/SnapshotsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "summary": "Lists snapshots in the specified subscription and resource group.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Snapshots by Resource Group": { + "$ref": "./examples/SnapshotsListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/snapshots/{resourceName}": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "summary": "Gets a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Snapshot": { + "$ref": "./examples/SnapshotsGet.json" + } + } + }, + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "summary": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "The snapshot to create or update." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create/Update Snapshot": { + "$ref": "./examples/SnapshotsCreate.json" + } + } + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_UpdateTags", + "summary": "Updates tags on a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsObject" + }, + "description": "Parameters supplied to the Update snapshot Tags operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update Snapshot Tags": { + "$ref": "./examples/SnapshotsUpdateTags.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "summary": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Snapshot": { + "$ref": "./examples/SnapshotsDelete.json" + } + } + } + } + }, + "definitions": { + "OperationListResult": { + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OperationValue" + }, + "description": "The list of operations" + } + }, + "description": "The List Operation response." + }, + "OperationValue": { + "properties": { + "origin": { + "type": "string", + "readOnly": true, + "description": "The origin of the operation." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the operation." + }, + "display": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationValueDisplay", + "description": "Describes the properties of a Operation Value Display." + } + }, + "description": "Describes the properties of a Operation value." + }, + "OperationValueDisplay": { + "properties": { + "operation": { + "type": "string", + "readOnly": true, + "description": "The display name of the operation." + }, + "resource": { + "type": "string", + "readOnly": true, + "description": "The display name of the resource the operation applies to." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "The description of the operation." + }, + "provider": { + "type": "string", + "readOnly": true, + "description": "The resource provider for the operation." + } + }, + "description": "Describes the properties of a Operation Value Display." + }, + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "SubResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + } + }, + "description": "Reference to another subresource.", + "x-ms-azure-resource": true + }, + "TagsObject": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, + "description": "Tags object for patch operations." + }, + "ContainerServiceOSDisk": { + "type": "integer", + "format": "int32", + "maximum": 2048, + "minimum": 0, + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "ContainerServiceStorageProfile": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceStorageProfileTypes", + "modelAsString": true + }, + "enum": [ + "StorageAccount", + "ManagedDisks" + ], + "description": "Specifies what kind of storage to use. If omitted, the default will be chosen on your behalf based on the choice of orchestrator." + }, + "ContainerServiceVnetSubnetID": { + "type": "string", + "description": "specifies a subnet's resource id with subscription, resource group, vnet and subnet name" + }, + "ContainerServiceVMSize": { + "type": "string", + "x-ms-enum": { + "name": "ContainerServiceVMSizeTypes", + "modelAsString": true + }, + "description": "Size of agent VMs. Note: This is no longer maintained.", + "enum": [ + "Standard_A1", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2", + "Standard_A2_v2", + "Standard_A2m_v2", + "Standard_A3", + "Standard_A4", + "Standard_A4_v2", + "Standard_A4m_v2", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A8_v2", + "Standard_A8m_v2", + "Standard_A9", + "Standard_B2ms", + "Standard_B2s", + "Standard_B4ms", + "Standard_B8ms", + "Standard_D1", + "Standard_D11", + "Standard_D11_v2", + "Standard_D11_v2_Promo", + "Standard_D12", + "Standard_D12_v2", + "Standard_D12_v2_Promo", + "Standard_D13", + "Standard_D13_v2", + "Standard_D13_v2_Promo", + "Standard_D14", + "Standard_D14_v2", + "Standard_D14_v2_Promo", + "Standard_D15_v2", + "Standard_D16_v3", + "Standard_D16s_v3", + "Standard_D1_v2", + "Standard_D2", + "Standard_D2_v2", + "Standard_D2_v2_Promo", + "Standard_D2_v3", + "Standard_D2s_v3", + "Standard_D3", + "Standard_D32_v3", + "Standard_D32s_v3", + "Standard_D3_v2", + "Standard_D3_v2_Promo", + "Standard_D4", + "Standard_D4_v2", + "Standard_D4_v2_Promo", + "Standard_D4_v3", + "Standard_D4s_v3", + "Standard_D5_v2", + "Standard_D5_v2_Promo", + "Standard_D64_v3", + "Standard_D64s_v3", + "Standard_D8_v3", + "Standard_D8s_v3", + "Standard_DS1", + "Standard_DS11", + "Standard_DS11_v2", + "Standard_DS11_v2_Promo", + "Standard_DS12", + "Standard_DS12_v2", + "Standard_DS12_v2_Promo", + "Standard_DS13", + "Standard_DS13-2_v2", + "Standard_DS13-4_v2", + "Standard_DS13_v2", + "Standard_DS13_v2_Promo", + "Standard_DS14", + "Standard_DS14-4_v2", + "Standard_DS14-8_v2", + "Standard_DS14_v2", + "Standard_DS14_v2_Promo", + "Standard_DS15_v2", + "Standard_DS1_v2", + "Standard_DS2", + "Standard_DS2_v2", + "Standard_DS2_v2_Promo", + "Standard_DS3", + "Standard_DS3_v2", + "Standard_DS3_v2_Promo", + "Standard_DS4", + "Standard_DS4_v2", + "Standard_DS4_v2_Promo", + "Standard_DS5_v2", + "Standard_DS5_v2_Promo", + "Standard_E16_v3", + "Standard_E16s_v3", + "Standard_E2_v3", + "Standard_E2s_v3", + "Standard_E32-16s_v3", + "Standard_E32-8s_v3", + "Standard_E32_v3", + "Standard_E32s_v3", + "Standard_E4_v3", + "Standard_E4s_v3", + "Standard_E64-16s_v3", + "Standard_E64-32s_v3", + "Standard_E64_v3", + "Standard_E64s_v3", + "Standard_E8_v3", + "Standard_E8s_v3", + "Standard_F1", + "Standard_F16", + "Standard_F16s", + "Standard_F16s_v2", + "Standard_F1s", + "Standard_F2", + "Standard_F2s", + "Standard_F2s_v2", + "Standard_F32s_v2", + "Standard_F4", + "Standard_F4s", + "Standard_F4s_v2", + "Standard_F64s_v2", + "Standard_F72s_v2", + "Standard_F8", + "Standard_F8s", + "Standard_F8s_v2", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS4-4", + "Standard_GS4-8", + "Standard_GS5", + "Standard_GS5-16", + "Standard_GS5-8", + "Standard_H16", + "Standard_H16m", + "Standard_H16mr", + "Standard_H16r", + "Standard_H8", + "Standard_H8m", + "Standard_L16s", + "Standard_L32s", + "Standard_L4s", + "Standard_L8s", + "Standard_M128-32ms", + "Standard_M128-64ms", + "Standard_M128ms", + "Standard_M128s", + "Standard_M64-16ms", + "Standard_M64-32ms", + "Standard_M64ms", + "Standard_M64s", + "Standard_NC12", + "Standard_NC12s_v2", + "Standard_NC12s_v3", + "Standard_NC24", + "Standard_NC24r", + "Standard_NC24rs_v2", + "Standard_NC24rs_v3", + "Standard_NC24s_v2", + "Standard_NC24s_v3", + "Standard_NC6", + "Standard_NC6s_v2", + "Standard_NC6s_v3", + "Standard_ND12s", + "Standard_ND24rs", + "Standard_ND24s", + "Standard_ND6s", + "Standard_NV12", + "Standard_NV24", + "Standard_NV6" + ] + }, + "ManagedClusterServicePrincipalProfile": { + "properties": { + "clientId": { + "type": "string", + "description": "The ID for the service principal." + }, + "secret": { + "type": "string", + "description": "The secret password associated with the service principal in plain text." + } + }, + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "required": [ + "clientId" + ] + }, + "ContainerServiceMasterProfile": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "enum": [ + 1, + 3, + 5 + ], + "x-ms-enum": { + "name": "Count", + "modelAsString": false + }, + "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", + "default": 1 + }, + "dnsPrefix": { + "type": "string", + "description": "DNS prefix to be used to create the FQDN for the master pool." + }, + "vmSize": { + "$ref": "#/definitions/ContainerServiceVMSize", + "description": "Size of agent VMs." + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk", + "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + }, + "vnetSubnetID": { + "$ref": "#/definitions/ContainerServiceVnetSubnetID", + "description": "VNet SubnetID specifies the VNet's subnet identifier." + }, + "firstConsecutiveStaticIP": { + "type": "string", + "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", + "default": "10.240.255.5" + }, + "storageProfile": { + "$ref": "#/definitions/ContainerServiceStorageProfile", + "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "FQDN for the master pool." + } + }, + "required": [ + "dnsPrefix", + "vmSize" + ], + "description": "Profile for the container service master." + }, + "ManagedClusterAgentPoolProfileProperties": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1." + }, + "vmSize": { + "type": "string", + "title": "The size of the agent pool VMs.", + "description": "VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions" + }, + "osDiskSizeGB": { + "$ref": "#/definitions/ContainerServiceOSDisk" + }, + "osDiskType": { + "$ref": "#/definitions/OSDiskType" + }, + "kubeletDiskType": { + "$ref": "#/definitions/KubeletDiskType" + }, + "workloadRuntime": { + "$ref": "#/definitions/WorkloadRuntime" + }, + "vnetSubnetID": { + "type": "string", + "title": "The ID of the subnet which agent pool nodes and optionally pods will join on startup.", + "description": "If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "podSubnetID": { + "type": "string", + "title": "The ID of the subnet which pods will join when launched.", + "description": "If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}" + }, + "maxPods": { + "type": "integer", + "format": "int32", + "description": "The maximum number of pods that can run on a node." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "osSKU": { + "$ref": "#/definitions/OSSKU" + }, + "maxCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of nodes for auto-scaling" + }, + "minCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of nodes for auto-scaling" + }, + "enableAutoScaling": { + "type": "boolean", + "description": "Whether to enable auto-scaler" + }, + "scaleDownMode": { + "$ref": "#/definitions/ScaleDownMode", + "title": "The scale down mode to use when scaling the Agent Pool.", + "description": "This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete." + }, + "type": { + "$ref": "#/definitions/AgentPoolType" + }, + "mode": { + "$ref": "#/definitions/AgentPoolMode" + }, + "orchestratorVersion": { + "type": "string", + "title": "The version of Kubernetes running on the Agent Pool.", + "description": "As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see [upgrading a node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#upgrade-a-node-pool)." + }, + "nodeImageVersion": { + "readOnly": true, + "type": "string", + "description": "The version of node image" + }, + "upgradeSettings": { + "$ref": "#/definitions/AgentPoolUpgradeSettings", + "description": "Settings for upgrading the agentpool" + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current deployment or provisioning state." + }, + "powerState": { + "title": "Whether the Agent Pool is running or stopped.", + "description": "When an Agent Pool is first created it is initially Running. The Agent Pool can be stopped by setting this field to Stopped. A stopped Agent Pool stops all of its VMs and does not accrue billing charges. An Agent Pool can only be stopped if it is Running and provisioning state is Succeeded", + "$ref": "#/definitions/PowerState" + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is 'VirtualMachineScaleSets'." + }, + "enableNodePublicIP": { + "type": "boolean", + "title": "Whether each node is allocated its own public IP.", + "description": "Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see [assigning a public IP per node](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools). The default is false." + }, + "nodePublicIPPrefixID": { + "type": "string", + "title": "The public IP prefix ID which VM nodes should use IPs from.", + "description": "This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName}" + }, + "scaleSetPriority": { + "$ref": "#/definitions/ScaleSetPriority", + "description": "The Virtual Machine Scale Set priority. If not specified, the default is 'Regular'." + }, + "scaleSetEvictionPolicy": { + "$ref": "#/definitions/ScaleSetEvictionPolicy", + "title": "The Virtual Machine Scale Set eviction policy to use.", + "description": "This cannot be specified unless the scaleSetPriority is 'Spot'. If not specified, the default is 'Delete'." + }, + "spotMaxPrice": { + "$ref": "#/definitions/SpotMaxPrice", + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags to be persisted on the agent pool virtual machine scale set." + }, + "nodeLabels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The node labels to be persisted across all nodes in agent pool." + }, + "nodeTaints": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + }, + "proximityPlacementGroupID": { + "$ref": "#/definitions/ProximityPlacementGroupID", + "description": "The ID for Proximity Placement Group." + }, + "kubeletConfig": { + "$ref": "#/definitions/KubeletConfig", + "description": "The Kubelet configuration on the agent pool nodes." + }, + "linuxOSConfig": { + "$ref": "#/definitions/LinuxOSConfig", + "description": "The OS configuration of Linux agent nodes." + }, + "enableEncryptionAtHost": { + "type": "boolean", + "title": "Whether to enable host based OS and data drive encryption.", + "description": "This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption" + }, + "enableUltraSSD": { + "type": "boolean", + "description": "Whether to enable UltraSSD" + }, + "enableFIPS": { + "type": "boolean", + "title": "Whether to use a FIPS-enabled OS.", + "description": "See [Add a FIPS-enabled node pool](https://docs.microsoft.com/azure/aks/use-multiple-node-pools#add-a-fips-enabled-node-pool-preview) for more details." + }, + "gpuInstanceProfile": { + "$ref": "#/definitions/GPUInstanceProfile", + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source Snapshot ID if the node pool will be created/upgraded using a snapshot." + } + }, + "description": "Properties for the container service agent pool profile." + }, + "ManagedClusterAgentPoolProfile": { + "allOf": [ + { + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + }, + { + "properties": { + "name": { + "type": "string", + "title": "Unique name of the agent pool profile in the context of the subscription and resource group.", + "description": "Windows agent pool names must be 6 characters or less.", + "pattern": "^[a-z][a-z0-9]{0,11}$" + } + } + } + ], + "required": [ + "name" + ], + "description": "Profile for the container service agent pool." + }, + "AgentPoolType": { + "type": "string", + "enum": [ + "VirtualMachineScaleSets", + "AvailabilitySet" + ], + "x-ms-enum": { + "name": "AgentPoolType", + "modelAsString": true, + "values": [ + { + "value": "VirtualMachineScaleSets", + "description": "Create an Agent Pool backed by a Virtual Machine Scale Set." + }, + { + "value": "AvailabilitySet", + "description": "Use of this is strongly discouraged." + } + ] + }, + "description": "The type of Agent Pool." + }, + "AgentPoolMode": { + "type": "string", + "enum": [ + "System", + "User" + ], + "x-ms-enum": { + "name": "AgentPoolMode", + "modelAsString": true, + "values": [ + { + "value": "System", + "description": "System agent pools are primarily for hosting critical system pods such as CoreDNS and metrics-server. System agent pools osType must be Linux. System agent pools VM SKU must have at least 2vCPUs and 4GB of memory." + }, + { + "value": "User", + "description": "User agent pools are primarily for hosting your application pods." + } + ] + }, + "title": "The mode of an agent pool.", + "description": "A cluster must have at least one 'System' Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools" + }, + "AgentPoolListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AgentPool" + }, + "description": "The list of agent pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of agent pool results.", + "readOnly": true + } + }, + "description": "The response from the List Agent Pools operation." + }, + "AgentPoolUpgradeSettings": { + "properties": { + "maxSurge": { + "type": "string", + "title": "The maximum number or percentage of nodes that are surged during upgrade.", + "description": "This can either be set to an integer (e.g. '5') or a percentage (e.g. '50%'). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade" + } + }, + "description": "Settings for upgrading an agentpool" + }, + "AgentPool": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + }, + { + "properties": { + "properties": { + "description": "Properties of an agent pool.", + "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "x-ms-client-flatten": true + } + } + } + ], + "description": "Agent Pool." + }, + "ManagedClusterWindowsProfile": { + "properties": { + "adminUsername": { + "type": "string", + "description": "Specifies the name of the administrator account.

    **Restriction:** Cannot end in \".\"

    **Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".

    **Minimum-length:** 1 character

    **Max-length:** 20 characters" + }, + "adminPassword": { + "type": "string", + "description": "Specifies the password of the administrator account.

    **Minimum-length:** 8 characters

    **Max-length:** 123 characters

    **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
    Has lower characters
    Has upper characters
    Has a digit
    Has a special character (Regex match [\\W_])

    **Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"" + }, + "licenseType": { + "type": "string", + "enum": [ + "None", + "Windows_Server" + ], + "x-ms-enum": { + "name": "licenseType", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "No additional licensing is applied." + }, + { + "value": "Windows_Server", + "description": "Enables Azure Hybrid User Benefits for Windows VMs." + } + ] + }, + "description": "The license type to use for Windows VMs. See [Azure Hybrid User Benefits](https://azure.microsoft.com/pricing/hybrid-benefit/faq/) for more details." + }, + "enableCSIProxy": { + "type": "boolean", + "title": "Whether to enable CSI proxy.", + "description": "For more details on CSI proxy, see the [CSI proxy GitHub repo](https://github.com/kubernetes-csi/csi-proxy)." + }, + "gmsaProfile": { + "$ref": "#/definitions/WindowsGmsaProfile", + "description": "The Windows gMSA Profile in the Managed Cluster." + } + }, + "required": [ + "adminUsername" + ], + "description": "Profile for Windows VMs in the managed cluster." + }, + "WindowsGmsaProfile": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "title": "Whether to enable Windows gMSA.", + "description": "Specifies whether to enable Windows gMSA in the managed cluster." + }, + "dnsServer": { "type": "string", - "readOnly": true, - "description": "The name of the compute operation." + "description": "Specifies the DNS server for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." }, - "display": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/OperationValueDisplay", - "description": "Describes the properties of a Compute Operation Value Display." + "rootDomainName": { + "type": "string", + "description": "Specifies the root domain name for Windows gMSA.

    Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster." } }, - "description": "Describes the properties of a Compute Operation value." + "description": "Windows gMSA Profile in the managed cluster." }, - "OperationValueDisplay": { + "ContainerServiceLinuxProfile": { "properties": { - "operation": { + "adminUsername": { "type": "string", - "readOnly": true, - "description": "The display name of the compute operation." + "description": "The administrator username to use for Linux VMs.", + "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" }, - "resource": { + "ssh": { + "$ref": "#/definitions/ContainerServiceSshConfiguration", + "description": "The SSH configuration for Linux-based VMs running on Azure." + } + }, + "required": [ + "adminUsername", + "ssh" + ], + "description": "Profile for Linux VMs in the container service cluster." + }, + "ContainerServiceNetworkProfile": { + "properties": { + "networkPlugin": { "type": "string", - "readOnly": true, - "description": "The display name of the resource the operation applies to." + "enum": [ + "azure", + "kubenet" + ], + "default": "kubenet", + "x-ms-enum": { + "name": "NetworkPlugin", + "modelAsString": true, + "values": [ + { + "value": "azure", + "description": "Use the Azure CNI network plugin. See [Azure CNI (advanced) networking](https://docs.microsoft.com/azure/aks/concepts-network#azure-cni-advanced-networking) for more information." + }, + { + "value": "kubenet", + "description": "Use the Kubenet network plugin. See [Kubenet (basic) networking](https://docs.microsoft.com/azure/aks/concepts-network#kubenet-basic-networking) for more information." + } + ] + }, + "description": "Network plugin used for building the Kubernetes network." }, - "description": { + "networkPolicy": { "type": "string", - "readOnly": true, - "description": "The description of the operation." + "enum": [ + "calico", + "azure" + ], + "x-ms-enum": { + "name": "NetworkPolicy", + "modelAsString": true, + "values": [ + { + "value": "calico", + "description": "Use Calico network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + }, + { + "value": "azure", + "description": "Use Azure network policies. See [differences between Azure and Calico policies](https://docs.microsoft.com/azure/aks/use-network-policies#differences-between-azure-and-calico-policies-and-their-capabilities) for more information." + } + ] + }, + "description": "Network policy used for building the Kubernetes network." }, - "provider": { + "networkMode": { "type": "string", - "readOnly": true, - "description": "The resource provider for the operation." + "enum": [ + "transparent", + "bridge" + ], + "x-ms-enum": { + "name": "networkMode", + "modelAsString": true, + "values": [ + { + "value": "transparent", + "description": "No bridge is created. Intra-VM Pod to Pod communication is through IP routes created by Azure CNI. See [Transparent Mode](https://docs.microsoft.com/azure/aks/faq#transparent-mode) for more information." + }, + { + "value": "bridge", + "description": "This is no longer supported" + } + ] + }, + "title": "The network mode Azure CNI is configured with.", + "description": "This cannot be specified if networkPlugin is anything other than 'azure'." + }, + "podCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.244.0.0/16", + "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + }, + "serviceCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "10.0.0.0/16", + "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + }, + "dnsServiceIP": { + "type": "string", + "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", + "default": "10.0.0.10", + "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + }, + "dockerBridgeCidr": { + "type": "string", + "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", + "default": "172.17.0.1/16", + "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range." + }, + "outboundType": { + "type": "string", + "enum": [ + "loadBalancer", + "userDefinedRouting", + "managedNATGateway", + "userAssignedNATGateway" + ], + "x-ms-enum": { + "name": "outboundType", + "modelAsString": true, + "values": [ + { + "value": "loadBalancer", + "description": "The load balancer is used for egress through an AKS assigned public IP. This supports Kubernetes services of type 'loadBalancer'. For more information see [outbound type loadbalancer](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-loadbalancer)." + }, + { + "value": "userDefinedRouting", + "description": "Egress paths must be defined by the user. This is an advanced scenario and requires proper network configuration. For more information see [outbound type userDefinedRouting](https://docs.microsoft.com/azure/aks/egress-outboundtype#outbound-type-of-userdefinedrouting)." + }, + { + "value": "managedNATGateway", + "description": "The AKS-managed NAT gateway is used for egress." + }, + { + "value": "userAssignedNATGateway", + "description": "The user-assigned NAT gateway associated to the cluster subnet is used for egress. This is an advanced scenario and requires proper network configuration." + } + ] + }, + "default": "loadBalancer", + "title": "The outbound (egress) routing method.", + "description": "This can only be set at cluster creation time and cannot be changed later. For more information see [egress outbound type](https://docs.microsoft.com/azure/aks/egress-outboundtype)." + }, + "loadBalancerSku": { + "type": "string", + "enum": [ + "standard", + "basic" + ], + "x-ms-enum": { + "name": "loadBalancerSku", + "modelAsString": true, + "values": [ + { + "value": "standard", + "description": "Use a a standard Load Balancer. This is the recommended Load Balancer SKU. For more information about on working with the load balancer in the managed cluster, see the [standard Load Balancer](https://docs.microsoft.com/azure/aks/load-balancer-standard) article." + }, + { + "value": "basic", + "description": "Use a basic Load Balancer with limited functionality." + } + ] + }, + "title": "The load balancer sku for the managed cluster.", + "description": "The default is 'standard'. See [Azure Load Balancer SKUs](https://docs.microsoft.com/azure/load-balancer/skus) for more information about the differences between load balancer SKUs." + }, + "loadBalancerProfile": { + "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", + "description": "Profile of the cluster load balancer." + }, + "natGatewayProfile": { + "$ref": "#/definitions/ManagedClusterNATGatewayProfile", + "description": "Profile of the cluster NAT gateway." } }, - "description": "Describes the properties of a Compute Operation Value Display." + "description": "Profile of network configuration." }, - "Resource": { - "description": "The Resource model definition.", + "MaintenanceConfigurationListResult": { "properties": { - "id": { - "readOnly": true, + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MaintenanceConfiguration" + }, + "description": "The list of maintenance configurations." + }, + "nextLink": { "type": "string", - "description": "Resource Id" + "description": "The URL to get the next set of maintenance configuration results.", + "readOnly": true + } + }, + "description": "The response from the List maintenance configurations operation." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." }, - "name": { - "readOnly": true, + "createdByType": { "type": "string", - "description": "Resource name" + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } }, - "type": { - "readOnly": true, + "createdAt": { "type": "string", - "description": "Resource type" + "format": "date-time", + "description": "The UTC timestamp of resource creation." }, - "location": { + "lastModifiedBy": { "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "read", - "create" - ] + "description": "The identity that last modified the resource." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "MaintenanceConfiguration": { + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ], + "properties": { + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + }, + "properties": { + "description": "Properties of a default maintenance configuration.", + "$ref": "#/definitions/MaintenanceConfigurationProperties", + "x-ms-client-flatten": true + } + }, + "title": "Planned maintenance configuration, used to configure when updates can be deployed to a Managed Cluster.", + "description": "See [planned maintenance](https://docs.microsoft.com/azure/aks/planned-maintenance) for more information about planned maintenance." + }, + "MaintenanceConfigurationProperties": { + "properties": { + "timeInWeek": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeInWeek" }, - "description": "Resource tags" + "title": "Time slots during the week when planned maintenance is allowed to proceed.", + "description": "If two array entries specify the same day of the week, the applied configuration is the union of times in both entries." + }, + "notAllowedTime": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSpan" + }, + "description": "Time slots on which upgrade is not allowed." + } + }, + "description": "Properties used to configure planned maintenance for a Managed Cluster." + }, + "TimeInWeek": { + "properties": { + "day": { + "$ref": "#/definitions/WeekDay", + "description": "The day of the week." + }, + "hourSlots": { + "type": "array", + "items": { + "$ref": "#/definitions/HourInDay" + }, + "title": "A list of hours in the day used to identify a time range.", + "description": "Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range." + } + }, + "description": "Time in a week." + }, + "WeekDay": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "WeekDay", + "modelAsString": true + }, + "description": "The weekday enum." + }, + "HourInDay": { + "type": "integer", + "format": "int32", + "maximum": 23, + "minimum": 0, + "description": "Hour in a day." + }, + "TimeSpan": { + "properties": { + "start": { + "type": "string", + "format": "date-time", + "description": "The start of a time span" + }, + "end": { + "type": "string", + "format": "date-time", + "description": "The end of a time span" + } + }, + "title": "A time range.", + "description": "For example, between 2021-05-25T13:00:00Z and 2021-05-25T14:00:00Z." + }, + "RunCommandRequest": { + "properties": { + "command": { + "type": "string", + "description": "The command to run." + }, + "context": { + "type": "string", + "description": "A base64 encoded zip file containing the files required by the command." + }, + "clusterToken": { + "type": "string", + "description": "AuthToken issued for AKS AAD Server App." + } + }, + "description": "A run command request", + "required": [ + "command" + ] + }, + "RunCommandResult": { + "properties": { + "id": { + "type": "string", + "description": "The command id.", + "readOnly": true + }, + "properties": { + "description": "Properties of command result.", + "$ref": "#/definitions/CommandResultProperties", + "x-ms-client-flatten": true } }, - "required": [ - "location" - ], - "x-ms-azure-resource": true + "description": "run command result." }, - "SubResource": { + "CommandResultProperties": { "properties": { - "id": { - "readOnly": true, + "provisioningState": { "type": "string", - "description": "Resource ID." + "readOnly": true, + "description": "provisioning State" }, - "name": { + "exitCode": { + "type": "integer", + "format": "int32", "readOnly": true, + "description": "The exit code of the command" + }, + "startedAt": { "type": "string", - "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + "format": "date-time", + "readOnly": true, + "description": "The time when the command started." }, - "type": { + "finishedAt": { + "type": "string", + "format": "date-time", "readOnly": true, + "description": "The time when the command finished." + }, + "logs": { "type": "string", - "description": "Resource type" + "readOnly": true, + "description": "The command output." + }, + "reason": { + "type": "string", + "readOnly": true, + "description": "An explanation of why provisioningState is set to failed (if so)." } }, - "description": "Reference to another subresource.", - "x-ms-azure-resource": true + "description": "The results of a run command" }, - "TagsObject": { + "ManagedClusterNATGatewayProfile": { + "type": "object", "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "managedOutboundIPProfile": { + "$ref": "#/definitions/ManagedClusterManagedOutboundIPProfile", + "description": "Profile of the managed outbound IP resources of the cluster NAT gateway." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" }, - "description": "Resource tags." + "description": "The effective outbound IP resources of the cluster NAT gateway." + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes.", + "default": 4 } }, - "description": "Tags object for patch operations." - }, - "ContainerServiceOSDisk": { - "type": "integer", - "format": "int32", - "maximum": 1023, - "minimum": 0, - "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + "description": "Profile of the managed cluster NAT gateway." }, - "ContainerServiceStorageProfile": { - "type": "string", - "x-ms-enum": { - "name": "ContainerServiceStorageProfileTypes", - "modelAsString": true + "ManagedClusterManagedOutboundIPProfile": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 16, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. ", + "default": 1 + } }, - "enum": [ - "StorageAccount", - "ManagedDisks" - ], - "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." - }, - "ContainerServiceVnetSubnetID": { - "type": "string", - "description": "VNet SubnetID specifies the VNet's subnet identifier." + "description": "Profile of the managed outbound IP resources of the managed cluster." }, - "ContainerServiceVMSize": { - "type": "string", - "x-ms-enum": { - "name": "ContainerServiceVMSizeTypes", - "modelAsString": true - }, - "description": "Size of agent VMs.", - "enum": [ - "Standard_A1", - "Standard_A10", - "Standard_A11", - "Standard_A1_v2", - "Standard_A2", - "Standard_A2_v2", - "Standard_A2m_v2", - "Standard_A3", - "Standard_A4", - "Standard_A4_v2", - "Standard_A4m_v2", - "Standard_A5", - "Standard_A6", - "Standard_A7", - "Standard_A8", - "Standard_A8_v2", - "Standard_A8m_v2", - "Standard_A9", - "Standard_B2ms", - "Standard_B2s", - "Standard_B4ms", - "Standard_B8ms", - "Standard_D1", - "Standard_D11", - "Standard_D11_v2", - "Standard_D11_v2_Promo", - "Standard_D12", - "Standard_D12_v2", - "Standard_D12_v2_Promo", - "Standard_D13", - "Standard_D13_v2", - "Standard_D13_v2_Promo", - "Standard_D14", - "Standard_D14_v2", - "Standard_D14_v2_Promo", - "Standard_D15_v2", - "Standard_D16_v3", - "Standard_D16s_v3", - "Standard_D1_v2", - "Standard_D2", - "Standard_D2_v2", - "Standard_D2_v2_Promo", - "Standard_D2_v3", - "Standard_D2s_v3", - "Standard_D3", - "Standard_D32_v3", - "Standard_D32s_v3", - "Standard_D3_v2", - "Standard_D3_v2_Promo", - "Standard_D4", - "Standard_D4_v2", - "Standard_D4_v2_Promo", - "Standard_D4_v3", - "Standard_D4s_v3", - "Standard_D5_v2", - "Standard_D5_v2_Promo", - "Standard_D64_v3", - "Standard_D64s_v3", - "Standard_D8_v3", - "Standard_D8s_v3", - "Standard_DS1", - "Standard_DS11", - "Standard_DS11_v2", - "Standard_DS11_v2_Promo", - "Standard_DS12", - "Standard_DS12_v2", - "Standard_DS12_v2_Promo", - "Standard_DS13", - "Standard_DS13-2_v2", - "Standard_DS13-4_v2", - "Standard_DS13_v2", - "Standard_DS13_v2_Promo", - "Standard_DS14", - "Standard_DS14-4_v2", - "Standard_DS14-8_v2", - "Standard_DS14_v2", - "Standard_DS14_v2_Promo", - "Standard_DS15_v2", - "Standard_DS1_v2", - "Standard_DS2", - "Standard_DS2_v2", - "Standard_DS2_v2_Promo", - "Standard_DS3", - "Standard_DS3_v2", - "Standard_DS3_v2_Promo", - "Standard_DS4", - "Standard_DS4_v2", - "Standard_DS4_v2_Promo", - "Standard_DS5_v2", - "Standard_DS5_v2_Promo", - "Standard_E16_v3", - "Standard_E16s_v3", - "Standard_E2_v3", - "Standard_E2s_v3", - "Standard_E32-16s_v3", - "Standard_E32-8s_v3", - "Standard_E32_v3", - "Standard_E32s_v3", - "Standard_E4_v3", - "Standard_E4s_v3", - "Standard_E64-16s_v3", - "Standard_E64-32s_v3", - "Standard_E64_v3", - "Standard_E64s_v3", - "Standard_E8_v3", - "Standard_E8s_v3", - "Standard_F1", - "Standard_F16", - "Standard_F16s", - "Standard_F16s_v2", - "Standard_F1s", - "Standard_F2", - "Standard_F2s", - "Standard_F2s_v2", - "Standard_F32s_v2", - "Standard_F4", - "Standard_F4s", - "Standard_F4s_v2", - "Standard_F64s_v2", - "Standard_F72s_v2", - "Standard_F8", - "Standard_F8s", - "Standard_F8s_v2", - "Standard_G1", - "Standard_G2", - "Standard_G3", - "Standard_G4", - "Standard_G5", - "Standard_GS1", - "Standard_GS2", - "Standard_GS3", - "Standard_GS4", - "Standard_GS4-4", - "Standard_GS4-8", - "Standard_GS5", - "Standard_GS5-16", - "Standard_GS5-8", - "Standard_H16", - "Standard_H16m", - "Standard_H16mr", - "Standard_H16r", - "Standard_H8", - "Standard_H8m", - "Standard_L16s", - "Standard_L32s", - "Standard_L4s", - "Standard_L8s", - "Standard_M128-32ms", - "Standard_M128-64ms", - "Standard_M128ms", - "Standard_M128s", - "Standard_M64-16ms", - "Standard_M64-32ms", - "Standard_M64ms", - "Standard_M64s", - "Standard_NC12", - "Standard_NC12s_v2", - "Standard_NC12s_v3", - "Standard_NC24", - "Standard_NC24r", - "Standard_NC24rs_v2", - "Standard_NC24rs_v3", - "Standard_NC24s_v2", - "Standard_NC24s_v3", - "Standard_NC6", - "Standard_NC6s_v2", - "Standard_NC6s_v3", - "Standard_ND12s", - "Standard_ND24rs", - "Standard_ND24s", - "Standard_ND6s", - "Standard_NV12", - "Standard_NV24", - "Standard_NV6" + "ManagedClusterLoadBalancerProfile": { + "properties": { + "managedOutboundIPs": { + "properties": { + "count": { + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 1, + "description": "The desired number of outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", + "default": 1 + } + }, + "description": "Desired managed outbound IPs for the cluster load balancer." + }, + "outboundIPPrefixes": { + "properties": { + "publicIPPrefixes": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP prefix resources." + } + }, + "description": "Desired outbound IP Prefix resources for the cluster load balancer." + }, + "outboundIPs": { + "properties": { + "publicIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "A list of public IP resources." + } + }, + "description": "Desired outbound IP resources for the cluster load balancer." + }, + "effectiveOutboundIPs": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceReference" + }, + "description": "The effective outbound IP resources of the cluster load balancer." + }, + "allocatedOutboundPorts": { + "type": "integer", + "format": "int32", + "maximum": 64000, + "minimum": 0, + "description": "The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", + "default": 0 + }, + "idleTimeoutInMinutes": { + "type": "integer", + "format": "int32", + "maximum": 120, + "minimum": 4, + "description": "Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes.", + "default": 30 + }, + "enableMultipleStandardLoadBalancers": { + "type": "boolean", + "description": "Enable multiple standard load balancers per AKS cluster or not." + } + }, + "description": "Profile of the managed cluster load balancer." + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "The fully qualified Azure resource id." + } + }, + "description": "A reference to an Azure resource." + }, + "ContainerServiceSshConfiguration": { + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerServiceSshPublicKey" + }, + "description": "The list of SSH public keys used to authenticate with Linux-based VMs. A maximum of 1 key may be specified." + } + }, + "description": "SSH configuration for Linux-based VMs running on Azure.", + "required": [ + "publicKeys" ] }, - "ManagedClusterServicePrincipalProfile": { + "ContainerServiceSshPublicKey": { "properties": { - "clientId": { + "keyData": { "type": "string", - "description": "The ID for the service principal." + "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + } + }, + "required": [ + "keyData" + ], + "description": "Contains information about SSH certificate public key data." + }, + "ContainerServiceDiagnosticsProfile": { + "properties": { + "vmDiagnostics": { + "$ref": "#/definitions/ContainerServiceVMDiagnostics", + "description": "Profile for diagnostics on the container service VMs." + } + }, + "description": "Profile for diagnostics on the container service cluster.", + "required": [ + "vmDiagnostics" + ] + }, + "ContainerServiceVMDiagnostics": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the VM diagnostic agent is provisioned on the VM." }, - "secret": { + "storageUri": { + "readOnly": true, "type": "string", - "description": "The secret password associated with the service principal in plain text." + "description": "The URI of the storage account where diagnostics are stored." } }, - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.", + "description": "Profile for diagnostics on the container service VMs.", "required": [ - "clientId" + "enabled" ] }, - "ContainerServiceMasterProfile": { + "ManagedClusterListResult": { "properties": { - "count": { - "type": "integer", - "format": "int32", - "enum": [ - 1, - 3, - 5 - ], - "x-ms-enum": { - "name": "Count", - "modelAsString": false + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedCluster" }, - "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.", - "default": 1 + "description": "The list of managed clusters." }, - "dnsPrefix": { + "nextLink": { "type": "string", - "description": "DNS prefix to be used to create the FQDN for the master pool." - }, - "vmSize": { - "$ref": "#/definitions/ContainerServiceVMSize", - "description": "Size of agent VMs." - }, - "osDiskSizeGB": { - "$ref": "#/definitions/ContainerServiceOSDisk", - "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." - }, - "vnetSubnetID": { - "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the VNet's subnet identifier." + "description": "The URL to get the next set of managed cluster results.", + "readOnly": true + } + }, + "description": "The response from the List Managed Clusters operation." + }, + "ManagedCluster": { + "properties": { + "sku": { + "$ref": "#/definitions/ManagedClusterSKU", + "description": "The managed cluster SKU." }, - "firstConsecutiveStaticIP": { - "type": "string", - "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.", - "default": "10.240.255.5" + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extended location of the Virtual Machine." }, - "storageProfile": { - "$ref": "#/definitions/ContainerServiceStorageProfile", - "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice." + "identity": { + "$ref": "#/definitions/ManagedClusterIdentity", + "description": "The identity of the managed cluster, if configured." }, - "fqdn": { - "readOnly": true, - "type": "string", - "description": "FQDN for the master pool." + "properties": { + "description": "Properties of a managed cluster.", + "$ref": "#/definitions/ManagedClusterProperties", + "x-ms-client-flatten": true } }, - "required": [ - "dnsPrefix", - "vmSize" + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], - "description": "Profile for the container service master." + "description": "Managed cluster." }, - "ManagedClusterAgentPoolProfileProperties": { + "ManagedClusterProperties": { "properties": { - "count": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The current provisioning state." + }, + "powerState": { + "$ref": "#/definitions/PowerState", + "description": "The Power State of the cluster.", + "readOnly": true + }, + "maxAgentPools": { + "readOnly": true, "type": "integer", "format": "int32", - "maximum": 100, - "minimum": 0, - "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive). The default value is 1. ", - "default": 1 + "description": "The max number of agent pools for the managed cluster." }, - "vmSize": { - "$ref": "#/definitions/ContainerServiceVMSize", - "description": "Size of agent VMs." + "kubernetesVersion": { + "type": "string", + "title": "The version of Kubernetes the Managed Cluster is running.", + "description": "When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See [upgrading an AKS cluster](https://docs.microsoft.com/azure/aks/upgrade-cluster) for more details." }, - "osDiskSizeGB": { - "$ref": "#/definitions/ContainerServiceOSDisk", - "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified." + "dnsPrefix": { + "type": "string", + "title": "The DNS prefix of the Managed Cluster.", + "description": "This cannot be updated once the Managed Cluster has been created." }, - "vnetSubnetID": { - "$ref": "#/definitions/ContainerServiceVnetSubnetID", - "description": "VNet SubnetID specifies the VNet's subnet identifier." + "fqdnSubdomain": { + "type": "string", + "title": "The FQDN subdomain of the private cluster with custom private dns zone.", + "description": "This cannot be updated once the Managed Cluster has been created." }, - "maxPods": { - "type": "integer", - "format": "int32", - "description": "Maximum number of pods that can run on a node." + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN of the master pool." + }, + "privateFQDN": { + "readOnly": true, + "type": "string", + "description": "The FQDN of private cluster." + }, + "azurePortalFQDN": { + "readOnly": true, + "type": "string", + "title": "The special FQDN used by the Azure Portal to access the Managed Cluster. This FQDN is for use only by the Azure Portal and should not be used by other clients.", + "description": "The Azure Portal requires certain Cross-Origin Resource Sharing (CORS) headers to be sent in some responses, which Kubernetes APIServer doesn't handle by default. This special FQDN supports CORS, allowing the Azure Portal to function properly." + }, + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterAgentPoolProfile" + }, + "description": "The agent pool properties." + }, + "linuxProfile": { + "$ref": "#/definitions/ContainerServiceLinuxProfile", + "description": "The profile for Linux VMs in the Managed Cluster." + }, + "windowsProfile": { + "$ref": "#/definitions/ManagedClusterWindowsProfile", + "description": "The profile for Windows VMs in the Managed Cluster." + }, + "servicePrincipalProfile": { + "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", + "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." + }, + "addonProfiles": { + "additionalProperties": { + "$ref": "#/definitions/ManagedClusterAddonProfile" + }, + "description": "The profile of managed cluster add-on." + }, + "podIdentityProfile": { + "$ref": "#/definitions/ManagedClusterPodIdentityProfile", + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on AAD pod identity integration." + }, + "nodeResourceGroup": { + "type": "string", + "description": "The name of the resource group containing agent pool nodes." + }, + "enableRBAC": { + "type": "boolean", + "description": "Whether to enable Kubernetes Role-Based Access Control." }, - "osType": { - "$ref": "#/definitions/OSType", - "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + "enablePodSecurityPolicy": { + "type": "boolean", + "description": "(DEPRECATING) Whether to enable Kubernetes pod security policy (preview). This feature is set for removal on October 15th, 2020. Learn more at aka.ms/aks/azpodpolicy." }, - "maxCount": { - "type": "integer", - "format": "int32", - "description": "Maximum number of nodes for auto-scaling" + "networkProfile": { + "$ref": "#/definitions/ContainerServiceNetworkProfile", + "description": "The network configuration profile." }, - "minCount": { - "type": "integer", - "format": "int32", - "description": "Minimum number of nodes for auto-scaling" + "aadProfile": { + "$ref": "#/definitions/ManagedClusterAADProfile", + "description": "The Azure Active Directory configuration." }, - "enableAutoScaling": { - "type": "boolean", - "description": "Whether to enable auto-scaler" + "autoUpgradeProfile": { + "$ref": "#/definitions/ManagedClusterAutoUpgradeProfile", + "description": "The auto upgrade configuration." }, - "type": { - "$ref": "#/definitions/AgentPoolType", - "description": "AgentPoolType represents types of an agent pool" + "autoScalerProfile": { + "type": "object", + "properties": { + "balance-similar-node-groups": { + "type": "string", + "title": "Detects similar node pools and balances the number of nodes between them.", + "description": "Valid values are 'true' and 'false'" + }, + "expander": { + "type": "string", + "enum": [ + "least-waste", + "most-pods", + "priority", + "random" + ], + "x-ms-enum": { + "name": "expander", + "modelAsString": true, + "values": [ + { + "value": "least-waste", + "description": "Selects the node group that will have the least idle CPU (if tied, unused memory) after scale-up. This is useful when you have different classes of nodes, for example, high CPU or high memory nodes, and only want to expand those when there are pending pods that need a lot of those resources." + }, + { + "value": "most-pods", + "description": "Selects the node group that would be able to schedule the most pods when scaling up. This is useful when you are using nodeSelector to make sure certain pods land on certain nodes. Note that this won't cause the autoscaler to select bigger nodes vs. smaller, as it can add multiple smaller nodes at once." + }, + { + "value": "priority", + "description": "Selects the node group that has the highest priority assigned by the user. It's configuration is described in more details [here](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/expander/priority/readme.md)." + }, + { + "value": "random", + "description": "Used when you don't have a particular need for the node groups to scale differently." + } + ] + }, + "title": "The expander to use when scaling up", + "description": "If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information." + }, + "max-empty-bulk-delete": { + "type": "string", + "title": "The maximum number of empty nodes that can be deleted at the same time. This must be a positive integer.", + "description": "The default is 10." + }, + "max-graceful-termination-sec": { + "type": "string", + "title": "The maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node.", + "description": "The default is 600." + }, + "max-node-provision-time": { + "type": "string", + "title": "The maximum time the autoscaler waits for a node to be provisioned.", + "description": "The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "max-total-unready-percentage": { + "type": "string", + "title": "The maximum percentage of unready nodes in the cluster. After this percentage is exceeded, cluster autoscaler halts operations.", + "description": "The default is 45. The maximum is 100 and the minimum is 0." + }, + "new-pod-scale-up-delay": { + "type": "string", + "title": "Ignore unscheduled pods before they're a certain age.", + "description": "For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc)." + }, + "ok-total-unready-count": { + "type": "string", + "title": "The number of allowed unready nodes, irrespective of max-total-unready-percentage.", + "description": "This must be an integer. The default is 3." + }, + "scan-interval": { + "type": "string", + "title": "How often cluster is reevaluated for scale up or down.", + "description": "The default is '10'. Values must be an integer number of seconds." + }, + "scale-down-delay-after-add": { + "type": "string", + "title": "How long after scale up that scale down evaluation resumes", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-delete": { + "type": "string", + "title": "How long after node deletion that scale down evaluation resumes.", + "description": "The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-delay-after-failure": { + "type": "string", + "title": "How long after scale down failure that scale down evaluation resumes.", + "description": "The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unneeded-time": { + "type": "string", + "title": "How long a node should be unneeded before it is eligible for scale down.", + "description": "The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-unready-time": { + "type": "string", + "title": "How long an unready node should be unneeded before it is eligible for scale down", + "description": "The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported." + }, + "scale-down-utilization-threshold": { + "type": "string", + "title": "Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down.", + "description": "The default is '0.5'." + }, + "skip-nodes-with-local-storage": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods with local storage, for example, EmptyDir or HostPath.", + "description": "The default is true." + }, + "skip-nodes-with-system-pods": { + "type": "string", + "title": "If cluster autoscaler will skip deleting nodes with pods from kube-system (except for DaemonSet or mirror pods)", + "description": "The default is true." + } + }, + "description": "Parameters to be applied to the cluster-autoscaler when enabled" }, - "mode": { - "$ref": "#/definitions/AgentPoolMode", - "description": "AgentPoolMode represents mode of an agent pool" + "apiServerAccessProfile": { + "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", + "description": "The access profile for managed cluster API server." }, - "orchestratorVersion": { + "diskEncryptionSetID": { "type": "string", - "description": "Version of orchestrator specified when creating the managed cluster." + "title": "The Resource ID of the disk encryption set to use for enabling encryption at rest.", + "description": "This is of the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}'" }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The current deployment or provisioning state, which only appears in the response." + "identityProfile": { + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Identities associated with the cluster." }, - "availabilityZones": { + "privateLinkResources": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/PrivateLinkResource" }, - "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType." + "description": "Private link resources associated with the cluster." }, - "enableNodePublicIP": { + "disableLocalAccounts": { "type": "boolean", - "description": "Enable public IP for nodes" - }, - "scaleSetPriority": { - "$ref": "#/definitions/ScaleSetPriority", - "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." - }, - "scaleSetEvictionPolicy": { - "$ref": "#/definitions/ScaleSetEvictionPolicy", - "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot or low priority virtual machine scale set. Default to Delete." + "title": "If local accounts should be disabled on the Managed Cluster.", + "description": "If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see [disable local accounts](https://docs.microsoft.com/azure/aks/managed-aad#disable-local-accounts-preview)." }, - "spotMaxPrice": { - "$ref": "#/definitions/SpotMaxPrice", - "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + "httpProxyConfig": { + "$ref": "#/definitions/ManagedClusterHTTPProxyConfig", + "description": "Configurations for provisioning the cluster with HTTP proxy servers." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set." + "securityProfile": { + "$ref": "#/definitions/ManagedClusterSecurityProfile", + "description": "Security profile for the managed cluster." }, - "nodeLabels": { - "type": "object", - "additionalProperties": { - "type": "string" + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true }, - "description": "Agent pool node labels to be persisted across all nodes in agent pool." - }, - "nodeTaints": { + "title": "Whether the cluster can be accessed through public network or not", + "description": "Default value is 'Enabled' (case insensitive). Could be set to 'Disabled' to enable private cluster" + } + }, + "description": "Properties of the managed cluster." + }, + "PowerState": { + "description": "Describes the Power State of the cluster", + "properties": { + "code": { + "type": "string", + "description": "Tells whether the cluster is Running or Stopped", + "enum": [ + "Running", + "Stopped" + ], + "x-ms-enum": { + "name": "code", + "modelAsString": true, + "values": [ + { + "value": "Running", + "description": "The cluster is running." + }, + { + "value": "Stopped", + "description": "The cluster is stopped." + } + ] + } + } + } + }, + "ManagedClusterAPIServerAccessProfile": { + "properties": { + "authorizedIPRanges": { "type": "array", "items": { "type": "string" }, - "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule." + "title": "The IP ranges authorized to access the Kubernetes API server.", + "description": "IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see [API server authorized IP ranges](https://docs.microsoft.com/azure/aks/api-server-authorized-ip-ranges)." + }, + "enablePrivateCluster": { + "type": "boolean", + "title": "Whether to create the cluster as a private cluster or not.", + "description": "For more details, see [Creating a private AKS cluster](https://docs.microsoft.com/azure/aks/private-clusters)." + }, + "privateDNSZone": { + "type": "string", + "title": "The private DNS zone mode for the cluster.", + "description": "The default is System. For more details see [configure private DNS zone](https://docs.microsoft.com/azure/aks/private-clusters#configure-private-dns-zone). Allowed values are 'system' and 'none'." + }, + "enablePrivateClusterPublicFQDN": { + "type": "boolean", + "description": "Whether to create additional public FQDN for private cluster or not." + }, + "disableRunCommand": { + "type": "boolean", + "description": "Whether to disable run command for the cluster or not." } }, - "required": [ - "vmSize", - "count" - ], - "description": "Properties for the container service agent pool profile." + "description": "Access profile for managed cluster API server." }, - "ManagedClusterAgentPoolProfile": { - "allOf": [ - { - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties" + "ManagedClusterIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the system assigned identity which is used by master components." }, - { - "properties": { - "name": { - "type": "string", - "description": "Unique name of the agent pool profile in the context of the subscription and resource group.", - "pattern": "^[a-z][a-z0-9]{0,11}$" - } + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of the system assigned identity which is used by master components." + }, + "type": { + "type": "string", + "title": "The type of identity used for the managed cluster.", + "description": "For more information see [use managed identities in AKS](https://docs.microsoft.com/azure/aks/use-managed-identity).", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false, + "values": [ + { + "value": "SystemAssigned", + "description": "Use an implicitly created system assigned managed identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the system assigned managed identity to manipulate Azure resources." + }, + { + "value": "UserAssigned", + "description": "Use a user-specified identity to manage cluster resources. Master components in the control plane such as kube-controller-manager will use the specified user assigned managed identity to manipulate Azure resources." + }, + { + "value": "None", + "description": "Do not use a managed identity for the Managed Cluster, service principal will be used instead." + } + ] } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "ManagedServiceIdentityUserAssignedIdentitiesValue", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "title": "The user identity associated with the managed cluster. This identity will be used in control plane. Only one user assigned identity is allowed.", + "description": "The keys must be ARM resource IDs in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } - ], - "required": [ - "name" - ], - "description": "Profile for the container service agent pool." - }, - "AgentPoolType": { - "type": "string", - "enum": [ - "VirtualMachineScaleSets", - "AvailabilitySet" - ], - "x-ms-enum": { - "name": "AgentPoolType", - "modelAsString": true - }, - "description": "AgentPoolType represents types of an agent pool." - }, - "AgentPoolMode": { - "type": "string", - "enum": [ - "System", - "User" - ], - "x-ms-enum": { - "name": "AgentPoolMode", - "modelAsString": true }, - "description": "AgentPoolMode represents mode of an agent pool." + "description": "Identity for the managed cluster." }, - "AgentPoolListResult": { + "UserAssignedIdentity": { "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/AgentPool" - }, - "description": "The list of agent pools." + "resourceId": { + "type": "string", + "description": "The resource ID of the user assigned identity." }, - "nextLink": { + "clientId": { "type": "string", - "description": "The URL to get the next set of agent pool results.", - "readOnly": true + "description": "The client ID of the user assigned identity." + }, + "objectId": { + "type": "string", + "description": "The object ID of the user assigned identity." } }, - "description": "The response from the List Agent Pools operation." + "description": "Details about a user assigned identity." }, - "AgentPool": { + "ManagedClusterAccessProfile": { "allOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/Resource" }, { "properties": { "properties": { - "description": "Properties of an agent pool.", - "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties", + "description": "AccessProfile of a managed cluster.", + "$ref": "#/definitions/AccessProfile", "x-ms-client-flatten": true } } } ], - "description": "Agent Pool." + "description": "Managed cluster Access Profile.", + "x-ms-azure-resource": false }, - "ManagedClusterWindowsProfile": { + "AccessProfile": { + "type": "object", + "properties": { + "kubeConfig": { + "type": "string", + "format": "byte", + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "Profile for enabling a user to access a managed cluster." + }, + "ManagedClusterPoolUpgradeProfile": { "properties": { - "adminUsername": { + "kubernetesVersion": { "type": "string", - "description": "The administrator username to use for Windows VMs.", - "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$" + "description": "The Kubernetes version (major.minor.patch)." }, - "adminPassword": { + "name": { "type": "string", - "description": "The administrator password to use for Windows VMs.", - "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$" + "description": "The Agent Pool name." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { + "type": "array", + "items": { + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } + }, + "description": "List of orchestrator types and versions available for upgrade." } }, "required": [ - "adminUsername" + "kubernetesVersion", + "osType" ], - "description": "Profile for Windows VMs in the container service cluster." + "description": "The list of available upgrade versions." }, - "ContainerServiceLinuxProfile": { + "ManagedClusterUpgradeProfileProperties": { "properties": { - "adminUsername": { - "type": "string", - "description": "The administrator username to use for Linux VMs.", - "pattern": "^[A-Za-z][-A-Za-z0-9_]*$" + "controlPlaneProfile": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", + "description": "The list of available upgrade versions for the control plane." }, - "ssh": { - "$ref": "#/definitions/ContainerServiceSshConfiguration", - "description": "SSH configuration for Linux-based VMs running on Azure." + "agentPoolProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + }, + "description": "The list of available upgrade versions for agent pools." } }, "required": [ - "adminUsername", - "ssh" + "controlPlaneProfile", + "agentPoolProfiles" ], - "description": "Profile for Linux VMs in the container service cluster." + "description": "Control plane and agent pool upgrade profiles." }, - "ContainerServiceNetworkProfile": { + "ManagedClusterAutoUpgradeProfile": { "properties": { - "networkPlugin": { + "upgradeChannel": { "type": "string", "enum": [ - "azure", - "kubenet" + "rapid", + "stable", + "patch", + "node-image", + "none" ], - "default": "kubenet", "x-ms-enum": { - "name": "NetworkPlugin", - "modelAsString": true + "name": "upgradeChannel", + "modelAsString": true, + "values": [ + { + "value": "rapid", + "description": "Automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1." + }, + { + "value": "stable", + "description": "Automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6." + }, + { + "value": "patch", + "description": "Automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9." + }, + { + "value": "node-image", + "description": "Automatically upgrade the node image to the latest version available. Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes won't get the new images unless you do a node image upgrade. Turning on the node-image channel will automatically update your node images whenever a new version is available." + }, + { + "value": "none", + "description": "Disables auto-upgrades and keeps the cluster at its current version of Kubernetes." + } + ] }, - "description": "Network plugin used for building Kubernetes network." + "title": "The upgrade channel for auto upgrade. The default is 'none'.", + "description": "For more information see [setting the AKS cluster auto-upgrade channel](https://docs.microsoft.com/azure/aks/upgrade-cluster#set-auto-upgrade-channel)." + } + }, + "description": "Auto upgrade profile for a managed cluster." + }, + "ManagedClusterAADProfile": { + "properties": { + "managed": { + "type": "boolean", + "description": "Whether to enable managed AAD." }, - "networkPolicy": { - "type": "string", - "enum": [ - "calico", - "azure" - ], - "x-ms-enum": { - "name": "NetworkPolicy", - "modelAsString": true + "enableAzureRBAC": { + "type": "boolean", + "description": "Whether to enable Azure RBAC for Kubernetes authorization." + }, + "adminGroupObjectIDs": { + "type": "array", + "items": { + "type": "string" }, - "description": "Network policy used for building Kubernetes network." + "description": "The list of AAD group object IDs that will have admin role of the cluster." }, - "networkMode": { + "clientAppID": { "type": "string", - "enum": [ - "transparent", - "bridge" - ], - "x-ms-enum": { - "name": "networkMode", - "modelAsString": true - }, - "description": "Network mode used for building Kubernetes network." + "description": "The client AAD application ID." }, - "podCidr": { + "serverAppID": { "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.244.0.0/16", - "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used." + "description": "The server AAD application ID." }, - "serviceCidr": { + "serverAppSecret": { "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "10.0.0.0/16", - "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges." + "description": "The server AAD application secret." }, - "dnsServiceIP": { + "tenantID": { "type": "string", - "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", - "default": "10.0.0.10", - "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr." + "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + } + }, + "title": "AADProfile specifies attributes for Azure Active Directory integration.", + "description": "For more details see [managed AAD on AKS](https://docs.microsoft.com/azure/aks/managed-aad)." + }, + "ManagedClusterAddonProfile": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the add-on is enabled or not." }, - "dockerBridgeCidr": { + "config": { + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs for configuring an add-on." + }, + "identity": { + "readOnly": true, + "description": "Information of user assigned identity used by this add-on.", + "allOf": [ + { + "$ref": "#/definitions/UserAssignedIdentity" + } + ] + } + }, + "required": [ + "enabled" + ], + "description": "A Kubernetes add-on profile for a managed cluster." + }, + "ManagedClusterPodIdentity": { + "properties": { + "name": { "type": "string", - "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$", - "default": "172.17.0.1/16", - "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range." + "description": "The name of the pod identity." }, - "outboundType": { + "namespace": { "type": "string", - "enum": [ - "loadBalancer", - "userDefinedRouting" - ], - "x-ms-enum": { - "name": "outboundType", - "modelAsString": true - }, - "default": "loadBalancer", - "description": "The outbound (egress) routing method." + "description": "The namespace of the pod identity." }, - "loadBalancerSku": { + "bindingSelector": { + "type": "string", + "description": "The binding selector to use for the AzureIdentityBinding resource." + }, + "identity": { + "$ref": "#/definitions/UserAssignedIdentity", + "description": "The user assigned identity details." + }, + "provisioningState": { "type": "string", + "readOnly": true, + "description": "The current provisioning state of the pod identity.", "enum": [ - "standard", - "basic" + "Assigned", + "Updating", + "Deleting", + "Failed" ], "x-ms-enum": { - "name": "loadBalancerSku", + "name": "ManagedClusterPodIdentityProvisioningState", "modelAsString": true - }, - "description": "The load balancer sku for the managed cluster." + } }, - "loadBalancerProfile": { - "$ref": "#/definitions/ManagedClusterLoadBalancerProfile", - "description": "Profile of the cluster load balancer." + "provisioningInfo": { + "readOnly": true, + "properties": { + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningError", + "description": "Pod identity assignment error (if any)." + } + } } }, - "description": "Profile of network configuration." + "required": [ + "name", + "namespace", + "identity" + ], + "description": "Details about the pod identity assigned to the Managed Cluster." }, - "ManagedClusterLoadBalancerProfile": { + "ManagedClusterPodIdentityProvisioningError": { + "type": "object", "properties": { - "managedOutboundIPs": { - "properties": { - "count": { - "type": "integer", - "format": "int32", - "maximum": 100, - "minimum": 1, - "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ", - "default": 1 - } - }, - "description": "Desired managed outbound IPs for the cluster load balancer." + "error": { + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the pod identity provisioning." + }, + "ManagedClusterPodIdentityProvisioningErrorBody": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "outboundIPPrefixes": { - "properties": { - "publicIPPrefixes": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP prefix resources." - } - }, - "description": "Desired outbound IP Prefix resources for the cluster load balancer." + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." }, - "outboundIPs": { - "properties": { - "publicIPs": { - "type": "array", - "items": { - "$ref": "#/definitions/ResourceReference" - }, - "description": "A list of public IP resources." - } - }, - "description": "Desired outbound IP resources for the cluster load balancer." + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." }, - "effectiveOutboundIPs": { + "details": { "type": "array", "items": { - "$ref": "#/definitions/ResourceReference" + "$ref": "#/definitions/ManagedClusterPodIdentityProvisioningErrorBody" }, - "description": "The effective outbound IP resources of the cluster load balancer." - }, - "allocatedOutboundPorts": { - "type": "integer", - "format": "int32", - "maximum": 64000, - "minimum": 0, - "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.", - "default": 0 - }, - "idleTimeoutInMinutes": { - "type": "integer", - "format": "int32", - "maximum": 120, - "minimum": 4, - "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.", - "default": 30 + "description": "A list of additional details about the error." } }, - "description": "Profile of the managed cluster load balancer." + "description": "An error response from the pod identity provisioning." }, - "ResourceReference": { + "ManagedClusterPodIdentityException": { "properties": { - "id": { + "name": { "type": "string", - "description": "The fully qualified Azure resource id." + "description": "The name of the pod identity exception." + }, + "namespace": { + "type": "string", + "description": "The namespace of the pod identity exception." + }, + "podLabels": { + "type": "object", + "description": "The pod labels to match.", + "additionalProperties": { + "type": "string" + } } }, - "description": "A reference to an Azure resource." + "required": [ + "name", + "namespace", + "podLabels" + ], + "title": "A pod identity exception, which allows pods with certain labels to access the Azure Instance Metadata Service (IMDS) endpoint without being intercepted by the node-managed identity (NMI) server.", + "description": "See [disable AAD Pod Identity for a specific Pod/Application](https://azure.github.io/aad-pod-identity/docs/configure/application_exception/) for more details." }, - "ContainerServiceSshConfiguration": { + "ManagedClusterPodIdentityProfile": { "properties": { - "publicKeys": { + "enabled": { + "type": "boolean", + "description": "Whether the pod identity addon is enabled." + }, + "allowNetworkPluginKubenet": { + "type": "boolean", + "title": "Whether pod identity is allowed to run on clusters with Kubenet networking.", + "description": "Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See [using Kubenet network plugin with AAD Pod Identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity#using-kubenet-network-plugin-with-azure-active-directory-pod-managed-identities) for more information." + }, + "userAssignedIdentities": { + "description": "The pod identities to use in the cluster.", "type": "array", "items": { - "$ref": "#/definitions/ContainerServiceSshPublicKey" - }, - "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified." + "$ref": "#/definitions/ManagedClusterPodIdentity" + } + }, + "userAssignedIdentityExceptions": { + "description": "The pod identity exceptions to allow.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedClusterPodIdentityException" + } } }, - "description": "SSH configuration for Linux-based VMs running on Azure.", - "required": [ - "publicKeys" - ] + "title": "The pod identity profile of the Managed Cluster.", + "description": "See [use AAD pod identity](https://docs.microsoft.com/azure/aks/use-azure-ad-pod-identity) for more details on pod identity integration." }, - "ContainerServiceSshPublicKey": { + "ManagedClusterUpgradeProfile": { "properties": { - "keyData": { + "id": { + "readOnly": true, "type": "string", - "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers." + "description": "The ID of the upgrade profile." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the upgrade profile." + }, + "properties": { + "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", + "description": "The properties of the upgrade profile.", + "x-ms-client-flatten": true } }, "required": [ - "keyData" + "properties" ], - "description": "Contains information about SSH certificate public key data." - }, - "ContainerServiceDiagnosticsProfile": { - "properties": { - "vmDiagnostics": { - "$ref": "#/definitions/ContainerServiceVMDiagnostics", - "description": "Profile for diagnostics on the container service VMs." - } - }, - "description": "Profile for diagnostics on the container service cluster.", - "required": [ - "vmDiagnostics" - ] + "description": "The list of available upgrades for compute pools." }, - "ContainerServiceVMDiagnostics": { + "AgentPoolUpgradeProfile": { "properties": { - "enabled": { - "type": "boolean", - "description": "Whether the VM diagnostic agent is provisioned on the VM." + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool upgrade profile." }, - "storageUri": { + "name": { "readOnly": true, "type": "string", - "description": "The URI of the storage account where diagnostics are stored." + "description": "The name of the agent pool upgrade profile." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the agent pool upgrade profile." + }, + "properties": { + "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", + "description": "The properties of the agent pool upgrade profile.", + "x-ms-client-flatten": true } }, - "description": "Profile for diagnostics on the container service VMs.", "required": [ - "enabled" - ] + "properties" + ], + "description": "The list of available upgrades for an agent pool." }, - "ManagedClusterListResult": { + "AgentPoolUpgradeProfileProperties": { "properties": { - "value": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "osType": { + "$ref": "#/definitions/OSType" + }, + "upgrades": { "type": "array", "items": { - "$ref": "#/definitions/ManagedCluster" + "type": "object", + "properties": { + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether the Kubernetes version is currently in preview." + } + } }, - "description": "The list of managed clusters." + "description": "List of orchestrator types and versions available for upgrade." }, - "nextLink": { + "latestNodeImageVersion": { "type": "string", - "description": "The URL to get the next set of managed cluster results.", - "readOnly": true + "description": "The latest AKS supported node image version." } }, - "description": "The response from the List Managed Clusters operation." + "required": [ + "kubernetesVersion", + "osType" + ], + "description": "The list of available upgrade versions." }, - "ManagedCluster": { + "AgentPoolAvailableVersions": { "properties": { - "sku": { - "$ref": "#/definitions/ManagedClusterSKU", - "description": "The managed cluster SKU." + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the agent pool version list." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the agent pool version list." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the agent pool version list." + }, + "properties": { + "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", + "description": "Properties of agent pool available versions.", + "x-ms-client-flatten": true } }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - }, - { - "properties": { + "required": [ + "properties" + ], + "description": "The list of available versions for an agent pool." + }, + "AgentPoolAvailableVersionsProperties": { + "properties": { + "agentPoolVersions": { + "type": "array", + "items": { + "type": "object", "properties": { - "description": "Properties of a managed cluster.", - "$ref": "#/definitions/ManagedClusterProperties", - "x-ms-client-flatten": true - }, - "identity": { - "$ref": "#/definitions/ManagedClusterIdentity", - "description": "The identity of the managed cluster, if configured." + "default": { + "type": "boolean", + "description": "Whether this version is the default agent pool version." + }, + "kubernetesVersion": { + "type": "string", + "description": "The Kubernetes version (major.minor.patch)." + }, + "isPreview": { + "type": "boolean", + "description": "Whether Kubernetes version is currently in preview." + } } + }, + "description": "List of versions available for agent pool." + } + }, + "description": "The list of available agent pool versions." + }, + "OSType": { + "type": "string", + "default": "Linux", + "enum": [ + "Linux", + "Windows" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true, + "values": [ + { + "value": "Linux", + "description": "Use Linux." + }, + { + "value": "Windows", + "description": "Use Windows." + } + ] + }, + "description": "The operating system type. The default is Linux." + }, + "OSSKU": { + "type": "string", + "enum": [ + "Ubuntu", + "CBLMariner" + ], + "x-ms-enum": { + "name": "OSSKU", + "modelAsString": true + }, + "description": "Specifies an OS SKU. This value must not be specified if OSType is Windows." + }, + "ScaleSetPriority": { + "type": "string", + "default": "Regular", + "enum": [ + "Spot", + "Regular" + ], + "x-ms-enum": { + "name": "ScaleSetPriority", + "modelAsString": true, + "values": [ + { + "value": "Spot", + "description": "Spot priority VMs will be used. There is no SLA for spot nodes. See [spot on AKS](https://docs.microsoft.com/azure/aks/spot-node-pool) for more information." + }, + { + "value": "Regular", + "description": "Regular VMs will be used." + } + ] + }, + "description": "The Virtual Machine Scale Set priority." + }, + "ScaleSetEvictionPolicy": { + "type": "string", + "default": "Delete", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleSetEvictionPolicy", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Nodes in the underlying Scale Set of the node pool are deleted when they're evicted." + }, + { + "value": "Deallocate", + "description": "Nodes in the underlying Scale Set of the node pool are set to the stopped-deallocated state upon eviction. Nodes in the stopped-deallocated state count against your compute quota and can cause issues with cluster scaling or upgrading." + } + ] + }, + "title": "The Virtual Machine Scale Set eviction policy.", + "description": "The eviction policy specifies what to do with the VM when it is evicted. The default is Delete. For more information about eviction see [spot VMs](https://docs.microsoft.com/azure/virtual-machines/spot-vms)" + }, + "SpotMaxPrice": { + "type": "number", + "default": -1, + "title": "The max price (in US Dollars) you are willing to pay for spot instances. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand.", + "description": "Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see [spot VMs pricing](https://docs.microsoft.com/azure/virtual-machines/spot-vms#pricing)" + }, + "ScaleDownMode": { + "type": "string", + "enum": [ + "Delete", + "Deallocate" + ], + "x-ms-enum": { + "name": "ScaleDownMode", + "modelAsString": true, + "values": [ + { + "value": "Delete", + "description": "Create new instances during scale up and remove instances during scale down." + }, + { + "value": "Deallocate", + "description": "Attempt to start deallocated instances (if they exist) during scale up and deallocate instances during scale down." } + ] + }, + "description": "Describes how VMs are added to or removed from Agent Pools. See [billing states](https://docs.microsoft.com/azure/virtual-machines/states-billing)." + }, + "ProximityPlacementGroupID": { + "type": "string", + "description": "The ID for Proximity Placement Group." + }, + "CredentialResults": { + "properties": { + "kubeconfigs": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CredentialResult" + }, + "description": "Base64-encoded Kubernetes configuration file." } - ], - "description": "Managed cluster." + }, + "description": "The list credential result response." }, - "ManagedClusterProperties": { + "CredentialResult": { + "type": "object", "properties": { - "provisioningState": { - "readOnly": true, + "name": { "type": "string", - "description": "The current deployment or provisioning state, which only appears in the response." - }, - "maxAgentPools": { "readOnly": true, - "type": "integer", - "format": "int32", - "description": "The max number of agent pools for the managed cluster." + "description": "The name of the credential." }, - "kubernetesVersion": { + "value": { "type": "string", - "description": "Version of Kubernetes specified when creating the managed cluster." - }, - "dnsPrefix": { + "format": "byte", + "readOnly": true, + "description": "Base64-encoded Kubernetes configuration file." + } + }, + "description": "The credential result response." + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "Details about the error." + } + }, + "description": "An error response from the Container service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { "type": "string", - "description": "DNS prefix specified when creating the managed cluster." + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "fqdn": { - "readOnly": true, + "message": { "type": "string", - "description": "FQDN for the master pool." + "description": "A message describing the error, intended to be suitable for display in a user interface." }, - "privateFQDN": { - "readOnly": true, + "target": { "type": "string", - "description": "FQDN of private cluster." + "description": "The target of the particular error. For example, the name of the property in error." }, - "agentPoolProfiles": { + "details": { "type": "array", "items": { - "$ref": "#/definitions/ManagedClusterAgentPoolProfile" - }, - "description": "Properties of the agent pool." - }, - "linuxProfile": { - "$ref": "#/definitions/ContainerServiceLinuxProfile", - "description": "Profile for Linux VMs in the container service cluster." - }, - "windowsProfile": { - "$ref": "#/definitions/ManagedClusterWindowsProfile", - "description": "Profile for Windows VMs in the container service cluster." - }, - "servicePrincipalProfile": { - "$ref": "#/definitions/ManagedClusterServicePrincipalProfile", - "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs." - }, - "addonProfiles": { - "additionalProperties": { - "$ref": "#/definitions/ManagedClusterAddonProfile" + "$ref": "#/definitions/CloudErrorBody" }, - "description": "Profile of managed cluster add-on." - }, - "nodeResourceGroup": { + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container service." + }, + "ManagedClusterSKU": { + "properties": { + "name": { "type": "string", - "description": "Name of the resource group containing agent pool nodes." - }, - "enableRBAC": { - "type": "boolean", - "description": "Whether to enable Kubernetes Role-Based Access Control." - }, - "enablePodSecurityPolicy": { - "type": "boolean", - "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy." - }, - "networkProfile": { - "$ref": "#/definitions/ContainerServiceNetworkProfile", - "description": "Profile of network configuration." - }, - "aadProfile": { - "$ref": "#/definitions/ManagedClusterAADProfile", - "description": "Profile of Azure Active Directory configuration." - }, - "autoScalerProfile": { - "type": "object", - "properties": { - "balance-similar-node-groups": { - "type": "boolean" - }, - "scan-interval": { - "type": "string" - }, - "scale-down-delay-after-add": { - "type": "string" - }, - "scale-down-delay-after-delete": { - "type": "string" - }, - "scale-down-delay-after-failure": { - "type": "string" - }, - "scale-down-unneeded-time": { - "type": "string" - }, - "scale-down-unready-time": { - "type": "string" - }, - "scale-down-utilization-threshold": { - "type": "string" - }, - "max-graceful-termination-sec": { - "type": "string" - } - }, - "description": "Parameters to be applied to the cluster-autoscaler when enabled" - }, - "apiServerAccessProfile": { - "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile", - "description": "Access profile for managed cluster API server." + "description": "The name of a managed cluster SKU.", + "enum": [ + "Basic" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUName", + "modelAsString": true + } }, - "diskEncryptionSetID": { + "tier": { "type": "string", - "description": "ResourceId of the disk encryption set to use for enabling encryption at rest." - }, - "identityProfile": { - "additionalProperties": { - "readOnly": true, - "allOf": [ + "title": "The tier of a managed cluster SKU.", + "description": "If not specified, the default is 'Free'. See [uptime SLA](https://docs.microsoft.com/azure/aks/uptime-sla) for more details.", + "enum": [ + "Paid", + "Free" + ], + "x-ms-enum": { + "name": "ManagedClusterSKUTier", + "modelAsString": true, + "values": [ + { + "value": "Paid", + "description": "Guarantees 99.95% availability of the Kubernetes API server endpoint for clusters that use Availability Zones and 99.9% of availability for clusters that don't use Availability Zones." + }, { - "$ref": "#/definitions/UserAssignedIdentity" + "value": "Free", + "description": "No guaranteed SLA, no additional charges. Free tier clusters have an SLO of 99.5%." } ] - }, - "description": "Identities associated with the cluster." + } } }, - "description": "Properties of the managed cluster." + "description": "The SKU of a Managed Cluster." }, - "ManagedClusterAPIServerAccessProfile": { + "PrivateEndpointConnectionListResult": { + "type": "object", + "description": "A list of private endpoint connections", "properties": { - "authorizedIPRanges": { + "value": { + "description": "The collection value.", "type": "array", "items": { - "type": "string" - }, - "description": "Authorized IP Ranges to kubernetes API server." - }, - "enablePrivateCluster": { - "type": "boolean", - "description": "Whether to create the cluster as a private cluster or not." + "$ref": "#/definitions/PrivateEndpointConnection" + } } - }, - "description": "Access profile for managed cluster API server." + } }, - "ManagedClusterIdentity": { + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", "properties": { - "principalId": { + "id": { "readOnly": true, "type": "string", - "description": "The principal id of the system assigned identity which is used by master components." + "description": "The ID of the private endpoint connection." }, - "tenantId": { + "name": { "readOnly": true, "type": "string", - "description": "The tenant id of the system assigned identity which is used by master components." + "description": "The name of the private endpoint connection.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } }, "type": { + "readOnly": true, "type": "string", - "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.", - "enum": [ - "SystemAssigned", - "None" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - } + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection.", + "x-ms-client-flatten": true } }, - "description": "Identity for the managed cluster." + "x-ms-azure-resource": true }, - "UserAssignedIdentity": { + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "Properties of a private endpoint connection.", "properties": { - "resourceId": { - "type": "string", - "description": "The resource id of the user assigned identity." - }, - "clientId": { + "provisioningState": { "type": "string", - "description": "The client id of the user assigned identity." + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } }, - "objectId": { - "type": "string", - "description": "The object id of the user assigned identity." - } - } - }, - "ManagedClusterAccessProfile": { - "allOf": [ - { - "$ref": "#/definitions/Resource" + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The resource of private endpoint." }, - { - "properties": { - "properties": { - "description": "AccessProfile of a managed cluster.", - "$ref": "#/definitions/AccessProfile", - "x-ms-client-flatten": true - } - } + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." } - ], - "description": "Managed cluster Access Profile.", - "x-ms-azure-resource": false + }, + "required": [ + "privateLinkServiceConnectionState" + ] }, - "AccessProfile": { + "PrivateEndpoint": { "type": "object", + "description": "Private endpoint which a connection belongs to.", "properties": { - "kubeConfig": { - "type": "string", - "format": "byte", - "description": "Base64-encoded Kubernetes configuration file." + "id": { + "description": "The resource ID of the private endpoint", + "type": "string" } - }, - "description": "Profile for enabling a user to access a managed cluster." + } }, - "ManagedClusterPoolUpgradeProfile": { + "PrivateLinkServiceConnectionState": { + "description": "The state of a private link service connection.", + "type": "object", "properties": { - "kubernetesVersion": { - "type": "string", - "description": "Kubernetes version (major, minor, patch)." - }, - "name": { - "type": "string", - "description": "Pool name." - }, - "osType": { - "$ref": "#/definitions/OSType", + "status": { "enum": [ - "Linux", - "Windows" + "Pending", + "Approved", + "Rejected", + "Disconnected" ], + "type": "string", + "description": "The private link service connection status.", "x-ms-enum": { - "name": "ContainerServiceOSTypes", + "name": "ConnectionStatus", "modelAsString": true - }, - "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + } }, - "upgrades": { - "type": "array", - "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "Kubernetes version (major, minor, patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether Kubernetes version is currently in preview." - } - } - }, - "description": "List of orchestrator types and versions available for upgrade." + "description": { + "type": "string", + "description": "The private link service connection description." + } + } + }, + "PrivateLinkResourcesListResult": { + "type": "object", + "description": "A list of private link resources", + "properties": { + "value": { + "description": "The collection value.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } } - }, - "required": [ - "kubernetesVersion", - "osType" - ], - "description": "The list of available upgrade versions." + } }, - "ManagedClusterUpgradeProfileProperties": { + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", "properties": { - "controlPlaneProfile": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile", - "description": "The list of available upgrade versions for the control plane." + "id": { + "type": "string", + "description": "The ID of the private link resource." }, - "agentPoolProfiles": { + "name": { + "type": "string", + "description": "The name of the private link resource.", + "externalDocs": { + "url": "https://aka.ms/search-naming-rules" + } + }, + "type": { + "type": "string", + "description": "The resource type." + }, + "groupId": { + "type": "string", + "description": "The group ID of the resource." + }, + "requiredMembers": { "type": "array", "items": { - "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile" + "type": "string" }, - "description": "The list of available upgrade versions for agent pools." + "description": "The RequiredMembers of the resource" + }, + "privateLinkServiceID": { + "readOnly": true, + "type": "string", + "description": "The private link service ID of the resource, this field is exposed only to NRP internally." } + } + }, + "OSDiskType": { + "type": "string", + "enum": [ + "Managed", + "Ephemeral" + ], + "x-ms-enum": { + "name": "OSDiskType", + "modelAsString": true, + "values": [ + { + "value": "Managed", + "description": "Azure replicates the operating system disk for a virtual machine to Azure storage to avoid data loss should the VM need to be relocated to another host. Since containers aren't designed to have local state persisted, this behavior offers limited value while providing some drawbacks, including slower node provisioning and higher read/write latency." + }, + { + "value": "Ephemeral", + "description": "Ephemeral OS disks are stored only on the host machine, just like a temporary disk. This provides lower read/write latency, along with faster node scaling and cluster upgrades." + } + ] }, - "required": [ - "controlPlaneProfile", - "agentPoolProfiles" + "title": "The OS disk type to be used for machines in the agent pool.", + "description": "The default is 'Ephemeral' if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to 'Managed'. May not be changed after creation. For more information see [Ephemeral OS](https://docs.microsoft.com/azure/aks/cluster-configuration#ephemeral-os)." + }, + "KubeletDiskType": { + "type": "string", + "enum": [ + "OS", + "Temporary" ], - "description": "Control plane and agent pool upgrade profiles." + "x-ms-enum": { + "name": "KubeletDiskType", + "modelAsString": true, + "values": [ + { + "value": "OS", + "description": "Kubelet will use the OS disk for its data." + }, + { + "value": "Temporary", + "description": "Kubelet will use the temporary disk for its data." + } + ] + }, + "description": "Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage." }, - "ManagedClusterAADProfile": { + "WorkloadRuntime": { + "type": "string", + "enum": [ + "OCIContainer", + "WasmWasi" + ], + "x-ms-enum": { + "name": "WorkloadRuntime", + "modelAsString": true, + "values": [ + { + "value": "OCIContainer", + "description": "Nodes will use Kubelet to run standard OCI container workloads." + }, + { + "value": "WasmWasi", + "description": "Nodes will use Krustlet to run WASM workloads using the WASI provider (Preview)." + } + ] + }, + "description": "Determines the type of workload a node can run." + }, + "KubeletConfig": { + "title": "Kubelet configurations of agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", "properties": { - "managed": { + "cpuManagerPolicy": { + "type": "string", + "title": "The CPU Manager policy to use.", + "description": "The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'." + }, + "cpuCfsQuota": { "type": "boolean", - "description": "Whether to enable managed AAD." + "title": "If CPU CFS quota enforcement is enabled for containers that specify CPU limits.", + "description": "The default is true." }, - "adminGroupObjectIDs": { + "cpuCfsQuotaPeriod": { + "type": "string", + "title": "The CPU CFS quota period value.", + "description": "The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'." + }, + "imageGcHighThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage after which image garbage collection is always run.", + "description": "To disable image garbage collection, set to 100. The default is 85%" + }, + "imageGcLowThreshold": { + "type": "integer", + "format": "int32", + "title": "The percent of disk usage before which image garbage collection is never run.", + "description": "This cannot be set higher than imageGcHighThreshold. The default is 80%" + }, + "topologyManagerPolicy": { + "type": "string", + "title": "The Topology Manager policy to use.", + "description": "For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'." + }, + "allowedUnsafeSysctls": { "type": "array", "items": { "type": "string" }, - "description": "AAD group object IDs that will have admin role of the cluster." + "description": "Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`)." }, - "clientAppID": { - "type": "string", - "description": "The client AAD application ID." + "failSwapOn": { + "type": "boolean", + "description": "If set to true it will make the Kubelet fail to start if swap is enabled on the node." }, - "serverAppID": { - "type": "string", - "description": "The server AAD application ID." + "containerLogMaxSizeMB": { + "type": "integer", + "format": "int32", + "description": "The maximum size (e.g. 10Mi) of container log file before it is rotated." }, - "serverAppSecret": { + "containerLogMaxFiles": { + "type": "integer", + "format": "int32", + "description": "The maximum number of container log files that can be present for a container. The number must be ≥ 2.", + "minimum": 2 + }, + "podMaxPids": { + "type": "integer", + "format": "int32", + "description": "The maximum number of processes per pod." + } + } + }, + "LinuxOSConfig": { + "title": "OS configurations of Linux agent nodes.", + "description": "See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.", + "type": "object", + "properties": { + "sysctls": { + "$ref": "#/definitions/SysctlConfig", + "description": "Sysctl settings for Linux agent nodes." + }, + "transparentHugePageEnabled": { "type": "string", - "description": "The server AAD application secret." + "title": "Whether transparent hugepages are enabled.", + "description": "Valid values are 'always', 'madvise', and 'never'. The default is 'always'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." }, - "tenantID": { + "transparentHugePageDefrag": { "type": "string", - "description": "The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription." + "title": "Whether the kernel should make aggressive use of memory compaction to make more hugepages available.", + "description": "Valid values are 'always', 'defer', 'defer+madvise', 'madvise' and 'never'. The default is 'madvise'. For more information see [Transparent Hugepages](https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge)." + }, + "swapFileSizeMB": { + "type": "integer", + "format": "int32", + "description": "The size in MB of a swap file that will be created on each node." } - }, - "description": "AADProfile specifies attributes for Azure Active Directory integration." + } }, - "ManagedClusterAddonProfile": { + "SysctlConfig": { + "description": "Sysctl settings for Linux agent nodes.", + "type": "object", "properties": { - "enabled": { + "netCoreSomaxconn": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.somaxconn." + }, + "netCoreNetdevMaxBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.netdev_max_backlog." + }, + "netCoreRmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_default." + }, + "netCoreRmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.rmem_max." + }, + "netCoreWmemDefault": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_default." + }, + "netCoreWmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.wmem_max." + }, + "netCoreOptmemMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.core.optmem_max." + }, + "netIpv4TcpMaxSynBacklog": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_syn_backlog." + }, + "netIpv4TcpMaxTwBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_max_tw_buckets." + }, + "netIpv4TcpFinTimeout": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_fin_timeout." + }, + "netIpv4TcpKeepaliveTime": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_time." + }, + "netIpv4TcpKeepaliveProbes": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_probes." + }, + "netIpv4TcpkeepaliveIntvl": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.tcp_keepalive_intvl." + }, + "netIpv4TcpTwReuse": { "type": "boolean", - "description": "Whether the add-on is enabled or not." + "description": "Sysctl setting net.ipv4.tcp_tw_reuse." }, - "config": { - "additionalProperties": { - "type": "string" - }, - "description": "Key-value pairs for configuring an add-on." + "netIpv4IpLocalPortRange": { + "type": "string", + "description": "Sysctl setting net.ipv4.ip_local_port_range." }, - "identity": { - "readOnly": true, - "description": "Information of user assigned identity used by this add-on.", - "allOf": [ - { - "$ref": "#/definitions/UserAssignedIdentity" - } - ] + "netIpv4NeighDefaultGcThresh1": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh1." + }, + "netIpv4NeighDefaultGcThresh2": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh2." + }, + "netIpv4NeighDefaultGcThresh3": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.ipv4.neigh.default.gc_thresh3." + }, + "netNetfilterNfConntrackMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_max." + }, + "netNetfilterNfConntrackBuckets": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting net.netfilter.nf_conntrack_buckets." + }, + "fsInotifyMaxUserWatches": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.inotify.max_user_watches." + }, + "fsFileMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.file-max." + }, + "fsAioMaxNr": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.aio-max-nr." + }, + "fsNrOpen": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting fs.nr_open." + }, + "kernelThreadsMax": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting kernel.threads-max." + }, + "vmMaxMapCount": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.max_map_count." + }, + "vmSwappiness": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.swappiness." + }, + "vmVfsCachePressure": { + "type": "integer", + "format": "int32", + "description": "Sysctl setting vm.vfs_cache_pressure." } - }, - "required": [ - "enabled" - ], - "description": "A Kubernetes add-on profile for a managed cluster." + } }, - "ManagedClusterUpgradeProfile": { + "ManagedClusterHTTPProxyConfig": { + "description": "Cluster HTTP proxy configuration.", + "type": "object", "properties": { - "id": { - "readOnly": true, + "httpProxy": { "type": "string", - "description": "Id of upgrade profile." + "description": "The HTTP proxy server endpoint to use." }, - "name": { - "readOnly": true, + "httpsProxy": { "type": "string", - "description": "Name of upgrade profile." + "description": "The HTTPS proxy server endpoint to use." }, - "type": { - "readOnly": true, - "type": "string", - "description": "Type of upgrade profile." + "noProxy": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The endpoints that should not go through proxy." }, - "properties": { - "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties", - "description": "Properties of upgrade profile.", - "x-ms-client-flatten": true + "trustedCa": { + "type": "string", + "description": "Alternative CA cert to use for connecting to proxy servers." } - }, - "required": [ - "properties" + } + }, + "GPUInstanceProfile": { + "type": "string", + "enum": [ + "MIG1g", + "MIG2g", + "MIG3g", + "MIG4g", + "MIG7g" ], - "description": "The list of available upgrades for compute pools." + "x-ms-enum": { + "name": "GPUInstanceProfile ", + "modelAsString": true + }, + "description": "GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU." }, - "AgentPoolUpgradeProfile": { - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Id of the agent pool upgrade profile." - }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { "name": { - "readOnly": true, "type": "string", - "description": "Name of the agent pool upgrade profile." + "description": "The name of the extended location." }, "type": { - "readOnly": true, + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "OSOptionProperty": { + "properties": { + "os-type": { "type": "string", - "description": "Type of the agent pool upgrade profile." + "description": "The OS type." }, - "properties": { - "$ref": "#/definitions/AgentPoolUpgradeProfileProperties", - "description": "Properties of agent pool upgrade profile.", - "x-ms-client-flatten": true + "enable-fips-image": { + "type": "boolean", + "description": "Whether the image is FIPS-enabled." } }, "required": [ - "properties" + "os-type", + "enable-fips-image" ], - "description": "The list of available upgrades for an agent pool." + "description": "OS option property." }, - "AgentPoolUpgradeProfileProperties": { + "OSOptionPropertyList": { "properties": { - "kubernetesVersion": { - "type": "string", - "description": "Kubernetes version (major, minor, patch)." - }, - "osType": { - "$ref": "#/definitions/OSType", - "enum": [ - "Linux", - "Windows" - ], - "x-ms-enum": { - "name": "ContainerServiceOSTypes", - "modelAsString": true - }, - "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." - }, - "upgrades": { + "osOptionPropertyList": { "type": "array", "items": { - "type": "object", - "properties": { - "kubernetesVersion": { - "type": "string", - "description": "Kubernetes version (major, minor, patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether Kubernetes version is currently in preview." - } - } + "$ref": "#/definitions/OSOptionProperty" }, - "description": "List of orchestrator types and versions available for upgrade." + "description": "The list of OS options." } }, "required": [ - "kubernetesVersion", - "osType" + "osOptionPropertyList" ], - "description": "The list of available upgrade versions." + "description": "The list of OS option properties." }, - "AgentPoolAvailableVersions": { + "OSOptionProfile": { "properties": { "id": { "readOnly": true, "type": "string", - "description": "Id of the agent pool available versions." + "description": "The ID of the OS option resource." }, "name": { "readOnly": true, "type": "string", - "description": "Name of the agent pool available versions." + "description": "The name of the OS option resource." }, "type": { "readOnly": true, "type": "string", - "description": "Type of the agent pool available versions." + "description": "The type of the OS option resource." }, "properties": { - "$ref": "#/definitions/AgentPoolAvailableVersionsProperties", - "description": "Properties of agent pool available versions.", + "$ref": "#/definitions/OSOptionPropertyList", + "description": "The list of OS options.", "x-ms-client-flatten": true } }, "required": [ "properties" ], - "description": "The list of available versions for an agent pool." + "description": "The OS option profile." }, - "AgentPoolAvailableVersionsProperties": { + "EndpointDependency": { + "description": "A domain name that AKS agent nodes are reaching at.", + "type": "object", "properties": { - "agentPoolVersions": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The Ports and Protocols used when connecting to domainName.", "type": "array", "items": { - "type": "object", - "properties": { - "default": { - "type": "boolean", - "description": "Whether this version is the default agent pool version." - }, - "kubernetesVersion": { - "type": "string", - "description": "Kubernetes version (major, minor, patch)." - }, - "isPreview": { - "type": "boolean", - "description": "Whether Kubernetes version is currently in preview." - } - } - }, - "description": "List of versions available for agent pool." + "$ref": "#/definitions/EndpointDetail" + } } - }, - "description": "The list of available agent pool versions." + } }, - "OSType": { - "type": "string", - "default": "Linux", - "enum": [ - "Linux", - "Windows" - ], - "x-ms-enum": { - "name": "OSType", - "modelAsString": true - }, - "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux." + "EndpointDetail": { + "description": "connect information from the AKS agent nodes to a single endpoint.", + "type": "object", + "properties": { + "ipAddress": { + "description": "An IP Address that Domain Name currently resolves to.", + "type": "string" + }, + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + }, + "protocol": { + "description": "The protocol used for connection", + "type": "string" + }, + "description": { + "description": "Description of the detail", + "type": "string" + } + } }, - "ScaleSetPriority": { - "type": "string", - "default": "Regular", - "enum": [ - "Spot", - "Low", - "Regular" + "OutboundEnvironmentEndpoint": { + "description": "Egress endpoints which AKS agent nodes connect to for common purpose.", + "type": "object", + "properties": { + "category": { + "description": "The category of endpoints accessed by the AKS agent node, e.g. azure-resource-management, apiserver, etc.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that AKS agent nodes connect to", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "description": "Collection of OutboundEnvironmentEndpoint", + "required": [ + "value" ], - "x-ms-enum": { - "name": "ScaleSetPriority", - "modelAsString": true + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedClusterSecurityProfile": { + "type": "object", + "properties": { + "azureDefender": { + "$ref": "#/definitions/ManagedClusterSecurityProfileAzureDefender", + "description": "Azure Defender settings for the security profile." + } }, - "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular." + "description": "Security profile for the container service cluster." }, - "ScaleSetEvictionPolicy": { - "type": "string", - "default": "Delete", - "enum": [ - "Delete", - "Deallocate" - ], - "x-ms-enum": { - "name": "ScaleSetEvictionPolicy", - "modelAsString": true + "ManagedClusterSecurityProfileAzureDefender": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether to enable Azure Defender" + }, + "logAnalyticsWorkspaceResourceId": { + "type": "string", + "description": "Resource ID of the Log Analytics workspace to be associated with Azure Defender. When Azure Defender is enabled, this field is required and must be a valid workspace resource ID. When Azure Defender is disabled, leave the field empty." + } }, - "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot or low priority virtual machine scale set. Default to Delete." + "description": "Azure Defender settings for the security profile." }, - "SpotMaxPrice": { - "type": "number", - "default": -1, - "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand." + "CreationData": { + "description": "Data used when creating a target resource from a source resource.", + "type": "object", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "This is the ARM ID of the source object to be used to create the target object." + } + } }, - "CredentialResults": { + "SnapshotListResult": { + "type": "object", "properties": { - "kubeconfigs": { + "value": { "type": "array", - "readOnly": true, "items": { - "$ref": "#/definitions/CredentialResult" + "$ref": "#/definitions/Snapshot" }, - "description": "Base64-encoded Kubernetes configuration file." + "description": "The list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of snapshot results.", + "readOnly": true } }, - "description": "The list of credential result response." + "description": "The response from the List Snapshots operation." }, - "CredentialResult": { + "Snapshot": { "type": "object", "properties": { - "name": { - "type": "string", + "systemData": { + "$ref": "#/definitions/SystemData", "readOnly": true, - "description": "The name of the credential." + "description": "The system metadata relating to this snapshot." }, - "value": { - "type": "string", - "format": "byte", - "readOnly": true, - "description": "Base64-encoded Kubernetes configuration file." + "properties": { + "description": "Properties of a snapshot.", + "$ref": "#/definitions/SnapshotProperties", + "x-ms-client-flatten": true } }, - "description": "The credential result response." - }, - "CloudError": { - "x-ms-external": true, - "properties": { - "error": { - "$ref": "#/definitions/CloudErrorBody", - "description": "Details about the error." + "allOf": [ + { + "$ref": "#/definitions/Resource" } - }, - "description": "An error response from the Container service." + ], + "description": "A node pool snapshot resource." }, - "CloudErrorBody": { - "x-ms-external": true, + "SnapshotProperties": { + "type": "object", "properties": { - "code": { + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "CreationData to be used to specify the source agent pool resource ID to create this snapshot." + }, + "snapshotType": { + "$ref": "#/definitions/SnapshotType" + }, + "kubernetesVersion": { + "readOnly": true, "type": "string", - "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + "description": "The version of Kubernetes." }, - "message": { + "nodeImageVersion": { + "readOnly": true, "type": "string", - "description": "A message describing the error, intended to be suitable for display in a user interface." + "description": "The version of node image." }, - "target": { + "osType": { + "readOnly": true, + "$ref": "#/definitions/OSType" + }, + "osSku": { + "readOnly": true, + "$ref": "#/definitions/OSSKU" + }, + "vmSize": { + "readOnly": true, "type": "string", - "description": "The target of the particular error. For example, the name of the property in error." + "description": "The size of the VM." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "A list of additional details about the error." + "enableFIPS": { + "readOnly": true, + "type": "boolean", + "description": "Whether to use a FIPS-enabled OS." } }, - "description": "An error response from the Container service." + "description": "Properties used to configure a node pool snapshot." }, - "ManagedClusterSKU": { - "properties": { - "name": { - "type": "string", - "description": "Name of a managed cluster SKU.", - "enum": [ - "Basic" - ], - "x-ms-enum": { - "name": "ManagedClusterSKUName", - "modelAsString": true - } - }, - "tier": { - "type": "string", - "description": "Tier of a managed cluster SKU.", - "enum": [ - "Paid", - "Free" - ], - "x-ms-enum": { - "name": "ManagedClusterSKUTier", - "modelAsString": true + "SnapshotType": { + "type": "string", + "default": "NodePool", + "enum": [ + "NodePool" + ], + "x-ms-enum": { + "name": "SnapshotType", + "modelAsString": true, + "values": [ + { + "value": "NodePool", + "description": "The snapshot is a snapshot of a node pool." } - } - } + ] + }, + "description": "The type of a snapshot. The default is NodePool." } }, "parameters": { @@ -2587,6 +5549,30 @@ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$", "description": "The name of the managed cluster resource.", "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a supported Azure region.", + "x-ms-parameter-location": "method" + }, + "ResourceTypeParameter": { + "name": "resource-type", + "in": "query", + "required": false, + "type": "string", + "description": "The resource type for which the OS options needs to be returned", + "x-ms-parameter-location": "method" + }, + "ServerFqdnParameter": { + "name": "server-fqdn", + "in": "query", + "required": false, + "type": "string", + "description": "server fqdn type for credentials to be returned", + "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.DBforMySQL/mysql.json b/App_Data/SwaggerSpecs/Microsoft.DBforMySQL/mysql.json index 4c49d15b..f23df004 100644 --- a/App_Data/SwaggerSpecs/Microsoft.DBforMySQL/mysql.json +++ b/App_Data/SwaggerSpecs/Microsoft.DBforMySQL/mysql.json @@ -2,8 +2,8 @@ "swagger": "2.0", "info": { "title": "MySQLManagementClient", - "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules, VNET rules, log files and configurations with new business model.", - "version": "2017-12-01" + "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure MySQL resources including servers, databases, firewall rules and configurations.", + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}": { "put": { "tags": [ "Servers" @@ -44,23 +44,23 @@ "Create a new server": { "$ref": "./examples/ServerCreate.json" }, - "Create a database as a point in time restore":{ - "$ref":"./examples/ServerCreatePointInTimeRestore.json" + "Create a server as a point in time restore": { + "$ref": "./examples/ServerCreateWithPointInTimeRestore.json" }, - "Create a server as a geo restore ": { - "$ref": "./examples/ServerCreateGeoRestoreMode.json" + "Create a replica server": { + "$ref": "./examples/ServerCreateReplica.json" } }, "description": "Creates a new server or updates an existing server. The update action will overwrite the existing server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -70,7 +70,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ServerForCreate" + "$ref": "#/definitions/Server" }, "description": "The required parameters for creating or updating a server." } @@ -90,6 +90,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -100,20 +106,23 @@ ], "operationId": "Servers_Update", "x-ms-examples": { - "ServerUpdate": { + "Update a server": { "$ref": "./examples/ServerUpdate.json" + }, + "Update server customer maintenance window": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" } }, "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -123,7 +132,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ServerUpdateParameters" + "$ref": "#/definitions/ServerForUpdate" }, "description": "The required parameters for updating a server." } @@ -137,6 +146,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -147,20 +162,20 @@ ], "operationId": "Servers_Delete", "x-ms-examples": { - "ServerDelete": { + "Delete a server": { "$ref": "./examples/ServerDelete.json" } }, "description": "Deletes a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -175,6 +190,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -185,20 +206,23 @@ ], "operationId": "Servers_Get", "x-ms-examples": { - "ServerGet": { + "Get a server": { "$ref": "./examples/ServerGet.json" + }, + "Get a server with vnet": { + "$ref": "./examples/ServerGetWithVnet.json" } }, "description": "Gets information about a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -210,31 +234,37 @@ "schema": { "$ref": "#/definitions/Server" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers": { "get": { "tags": [ "Servers" ], "operationId": "Servers_ListByResourceGroup", "x-ms-examples": { - "ServerListByResourceGroup": { - "$ref": "./examples/ServerListByResourceGroup.json" + "List servers in a resource group": { + "$ref": "./examples/ServersListByResourceGroup.json" } }, "description": "List all the servers in a given resource group.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -243,31 +273,37 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/flexibleServers": { "get": { "tags": [ "Servers" ], "operationId": "Servers_List", "x-ms-examples": { - "ServerList": { - "$ref": "./examples/ServerList.json" + "List servers in a subscription": { + "$ref": "./examples/ServersList.json" } }, "description": "List all the servers in a given subscription.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -276,96 +312,95 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules/{firewallRuleName}": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/failover": { + "post": { "tags": [ - "FirewallRules" + "ServerFailover" ], - "operationId": "FirewallRules_CreateOrUpdate", + "operationId": "Servers_Failover", "x-ms-examples": { - "FirewallRuleCreate": { - "$ref": "./examples/FirewallRuleCreate.json" + "Restart a server": { + "$ref": "./examples/ServerFailover.json" } }, - "description": "Creates a new firewall rule or updates an existing firewall rule.", + "description": "Manual failover a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/FirewallRuleNameParameter" - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/FirewallRule" - }, - "description": "The required parameters for creating or updating a firewall rule." } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/FirewallRule" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/FirewallRule" - } + "description": "OK" }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/restart": { + "post": { "tags": [ - "FirewallRules" + "ServerRestart" ], - "operationId": "FirewallRules_Delete", + "operationId": "Servers_Restart", "x-ms-examples": { - "FirewallRuleDelete": { - "$ref": "./examples/FirewallRuleDelete.json" + "Restart a server": { + "$ref": "./examples/ServerRestart.json" } }, - "description": "Deletes a server firewall rule.", + "description": "Restarts a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/FirewallRuleNameParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ServerRestartParameter" + }, + "description": "The required parameters for restarting a server." } ], "responses": { @@ -375,71 +410,80 @@ "202": { "description": "Accepted" }, - "204": { - "description": "NoContent" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true - }, - "get": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/start": { + "post": { "tags": [ - "FirewallRules" + "ServerStart" ], - "operationId": "FirewallRules_Get", + "operationId": "Servers_Start", "x-ms-examples": { - "FirewallRuleGet": { - "$ref": "./examples/FirewallRuleGet.json" + "Start a server": { + "$ref": "./examples/ServerStart.json" } }, - "description": "Gets information about a server firewall rule.", + "description": "Starts a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/FirewallRuleNameParameter" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/FirewallRule" + "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/firewallRules": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/stop": { + "post": { "tags": [ - "FirewallRules" + "ServerStop" ], - "operationId": "FirewallRules_ListByServer", + "operationId": "Servers_Stop", "x-ms-examples": { - "FirewallRuleList": { - "$ref": "./examples/FirewallRuleListByServer.json" + "Stop a server": { + "$ref": "./examples/ServerStop.json" } }, - "description": "List all the firewall rules in a given server.", + "description": "Stops a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -447,287 +491,245 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/FirewallRuleListResult" + "$ref": "#/definitions/CloudError" } } }, - "x-ms-pageable": { - "nextLinkName": null - } + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/replicas": { "get": { "tags": [ - "VirtualNetworkRules" - ], - "description": "Gets a virtual network rule.", - "operationId": "VirtualNetworkRules_Get", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" - } + "Servers" ], - "responses": { - "200": { - "description": "Successfully retrieved a specified virtual network rule.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } - }, - "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found." - } - }, + "operationId": "Replicas_ListByServer", "x-ms-examples": { - "Gets a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesGet.json" + "List replicas for a server": { + "$ref": "./examples/ReplicasListByServer.json" } - } - }, - "put": { - "tags": [ - "VirtualNetworkRules" - ], - "description": "Creates or updates an existing virtual network rule.", - "operationId": "VirtualNetworkRules_CreateOrUpdate", + }, + "description": "List all the replicas for a given server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "The requested virtual Network Rule Resource state.", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } + "$ref": "#/parameters/ServerNameParameter" } ], "responses": { "200": { - "description": "Successfully updated a virtual network rule.", + "description": "OK", "schema": { - "$ref": "#/definitions/VirtualNetworkRule" + "$ref": "#/definitions/ServerListResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." - }, - "202": { - "description": "Accepted" - }, - "201": { - "description": "Successfully created a virtual network rule.", + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/VirtualNetworkRule" + "$ref": "#/definitions/CloudError" } } }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Create or update a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesCreateOrUpdate.json" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backups/{backupName}": { + "get": { "tags": [ - "VirtualNetworkRules" + "Backups" ], - "description": "Deletes the virtual network rule with the given name.", - "operationId": "VirtualNetworkRules_Delete", + "operationId": "Backups_Get", + "x-ms-examples": { + "Get a backup for a server": { + "$ref": "./examples/BackupGet.json" + } + }, + "description": "List all the backups for a given server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "#/parameters/BackupNameParameter" } ], "responses": { "200": { - "description": "Successfully deleted the virtual network rule." + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackup" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." - }, - "202": { - "description": "Accepted" - }, - "204": { - "description": "The specified virtual network rule does not exist." - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Delete a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesDelete.json" + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/virtualNetworkRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/backups": { "get": { "tags": [ - "VirtualNetworkRules" + "Backups" ], - "description": "Gets a list of virtual network rules in a server.", - "operationId": "VirtualNetworkRules_ListByServer", + "operationId": "Backups_ListByServer", + "x-ms-examples": { + "List backups for a server": { + "$ref": "./examples/BackupsListByServer.json" + } + }, + "description": "List all the backups for a given server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "#/parameters/ServerNameParameter" } ], "responses": { "200": { - "description": "Successfully retrieved the list of virtual network rules.", + "description": "OK", "schema": { - "$ref": "#/definitions/VirtualNetworkRuleListResult" + "$ref": "#/definitions/ServerBackupListResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found." + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List virtual network rules": { - "$ref": "./examples/VirtualNetworkRulesList.json" - } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases/{databaseName}": { + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ - "Databases" + "FirewallRules" ], - "operationId": "Databases_CreateOrUpdate", + "operationId": "FirewallRules_CreateOrUpdate", "x-ms-examples": { - "DatabaseCreate": { - "$ref": "./examples/DatabaseCreate.json" + "Create a firewall rule": { + "$ref": "./examples/FirewallRuleCreate.json" } }, - "description": "Creates a new database or updates an existing database.", + "description": "Creates a new firewall rule or updates an existing firewall rule.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/FirewallRuleNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/FirewallRule" }, - "description": "The required parameters for creating or updating a database." + "description": "The required parameters for creating or updating a firewall rule." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/FirewallRule" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/FirewallRule" } }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true }, "delete": { "tags": [ - "Databases" + "FirewallRules" ], - "operationId": "Databases_Delete", + "operationId": "FirewallRules_Delete", "x-ms-examples": { - "DatabaseDelete": { - "$ref": "./examples/DatabaseDelete.json" + "Delete a firewall rule": { + "$ref": "./examples/FirewallRuleDelete.json" } }, - "description": "Deletes a database.", + "description": "Deletes a firewall rule.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/FirewallRuleNameParameter" } ], "responses": { @@ -739,69 +741,280 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true }, "get": { "tags": [ - "Databases" + "FirewallRules" ], - "operationId": "Databases_Get", + "operationId": "FirewallRules_Get", "x-ms-examples": { - "DatabaseGet": { - "$ref": "./examples/DatabaseGet.json" + "Get a firewall rule": { + "$ref": "./examples/FirewallRuleGet.json" } }, - "description": "Gets information about a database.", + "description": "Gets information about a server firewall rule.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/FirewallRuleNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/FirewallRule" } - } - } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "List all firewall rules in a server": { + "$ref": "./examples/FirewallRulesListByServer.json" + } + }, + "description": "List all the firewall rules in a given server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName}": { + "put": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "Create a database": { + "$ref": "./examples/DatabaseCreate.json" + } + }, + "description": "Creates a new database or updates an existing database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The required parameters for creating or updating a database." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Delete", + "x-ms-examples": { + "Delete a database": { + "$ref": "./examples/DatabaseDelete.json" + } + }, + "description": "Deletes a database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Get", + "x-ms-examples": { + "Get a database": { + "$ref": "./examples/DatabaseGet.json" + } + }, + "description": "Gets information about a database.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases": { "get": { "tags": [ "Databases" ], "operationId": "Databases_ListByServer", "x-ms-examples": { - "DatabaseList": { - "$ref": "./examples/DatabaseListByServer.json" + "List databases in a server": { + "$ref": "./examples/DatabasesListByServer.json" } }, "description": "List all the databases in a given server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -813,34 +1026,40 @@ "schema": { "$ref": "#/definitions/DatabaseListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations/{configurationName}": { - "put": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName}": { + "patch": { "tags": [ "Configurations" ], - "operationId": "Configurations_CreateOrUpdate", + "operationId": "Configurations_Update", "x-ms-examples": { - "ConfigurationCreateOrUpdate": { - "$ref": "./examples/ConfigurationCreateOrUpdate.json" + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" } }, "description": "Updates a configuration of a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -867,6 +1086,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -877,20 +1102,20 @@ ], "operationId": "Configurations_Get", "x-ms-examples": { - "ConfigurationGet": { + "Get a configuration": { "$ref": "./examples/ConfigurationGet.json" } }, "description": "Gets information about a configuration of server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -905,34 +1130,49 @@ "schema": { "$ref": "#/definitions/Configuration" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/configurations": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/updateConfigurations": { + "post": { "tags": [ "Configurations" ], - "operationId": "Configurations_ListByServer", + "operationId": "Configurations_BatchUpdate", "x-ms-examples": { "ConfigurationList": { - "$ref": "./examples/ConfigurationListByServer.json" + "$ref": "./examples/ConfigurationsBatchUpdate.json" } }, - "description": "List all the configurations in a given server.", + "description": "Update a list of configurations in a given server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationListForBatchUpdate" + }, + "description": "The parameters for updating a list of server configuration." } ], "responses": { @@ -941,34 +1181,44 @@ "schema": { "$ref": "#/definitions/ConfigurationListResult" } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-pageable": { - "nextLinkName": null + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/servers/{serverName}/logFiles": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations": { "get": { "tags": [ - "LogFiles" + "Configurations" ], - "operationId": "LogFiles_ListByServer", + "operationId": "Configurations_ListByServer", "x-ms-examples": { - "LogFileList": { - "$ref": "./examples/LogFileListByServer.json" + "List all configurations for a server": { + "$ref": "./examples/ConfigurationsListByServer.json" } }, - "description": "List all the log files in a given server.", + "description": "List all the configurations in a given server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -978,33 +1228,39 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogFileListResult" + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/performanceTiers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/capabilities": { "get": { "tags": [ - "LocationBasedPerformanceTier" + "LocationBasedCapabilities" ], - "operationId": "LocationBasedPerformanceTier_List", + "operationId": "LocationBasedCapabilities_List", "x-ms-examples": { - "PerformanceTiersList": { - "$ref": "./examples/PerformanceTiersListByLocation.json" + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocationList.json" } }, - "description": "List all the performance tiers at specified location in a given subscription.", + "description": "Get capabilities at specified location in a given subscription.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/LocationNameParameter" @@ -1014,78 +1270,183 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/PerformanceTierListResult" + "$ref": "#/definitions/CapabilitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/checkNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/checkVirtualNetworkSubnetUsage": { "post": { "tags": [ - "CheckNameAvailability" + "CheckVirtualNetworkSubnetUsage" ], - "operationId": "CheckNameAvailability_Execute", + "operationId": "CheckVirtualNetworkSubnetUsage_Execute", "x-ms-examples": { - "NameAvailability": { - "$ref": "./examples/CheckNameAvailability.json" + "CheckVirtualNetworkSubnetUsage": { + "$ref": "./examples/CheckVirtualNetworkSubnetUsage.json" } }, - "description": "Check the availability of name for resource", + "description": "Get virtual network subnet usage for a given vNet resource id.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "name": "nameAvailabilityRequest", + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/NameAvailabilityRequest" + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" }, - "description": "The required parameters for checking if resource name is available." + "description": "The required parameters for creating or updating a server." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NameAvailability" + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/providers/Microsoft.DBforMySQL/operations": { - "get": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforMySQL/locations/{locationName}/checkNameAvailability": { + "post": { "tags": [ - "Operations" + "CheckNameAvailability" ], - "operationId": "Operations_List", + "operationId": "CheckNameAvailability_Execute", "x-ms-examples": { - "OperationList": { - "$ref": "./examples/OperationList.json" + "Check name availability": { + "$ref": "./examples/CheckNameAvailability.json" } }, - "description": "Lists all of the available REST API operations.", + "description": "Check the availability of name for server", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if server name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBforMySQL/getPrivateDnsZoneSuffix": { + "post": { + "tags": [ + "GetPrivateDnsZoneSuffix" + ], + "operationId": "GetPrivateDnsZoneSuffix_Execute", + "x-ms-examples": { + "GetPrivateDnsZoneSuffix": { + "$ref": "./examples/GetPrivateDnsZoneSuffix.json" + } + }, + "description": "Get private DNS zone suffix in the cloud.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GetPrivateDnsZoneSuffixResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.DBforMySQL/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "Lists all of the available REST API operations.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { "description": "OK", "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } } @@ -1095,277 +1456,328 @@ "type": "string", "description": "The version of a server.", "enum": [ - "5.6", - "5.7" + "5.7", + "8.0.21" ], "x-ms-enum": { "name": "ServerVersion", "modelAsString": true } }, - "SslEnforcement": { + "EnableStatusEnum": { "type": "string", - "description": "Enable ssl enforcement or not when connect to server.", + "description": "Enum to indicate whether value is 'Enabled' or 'Disabled'", "enum": [ "Enabled", "Disabled" ], "x-ms-enum": { - "name": "SslEnforcementEnum", - "modelAsString": false + "name": "EnableStatusEnum", + "modelAsString": true } }, - "ProxyResource": { - "description": "Resource properties.", + "ReplicationRole": { + "type": "string", + "enum": [ + "None", + "Source", + "Replica" + ], + "x-ms-enum": { + "name": "ReplicationRole", + "modelAsString": true + }, + "description": "The replication role." + }, + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window of a server.", "properties": { - "id": { - "readOnly": true, + "customWindow": { "type": "string", - "description": "Resource ID" + "description": "indicates whether custom window is enabled or disabled" }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name." + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" }, - "type": { - "readOnly": true, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" + } + } + }, + "Backup": { + "type": "object", + "properties": { + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." + }, + "geoRedundantBackup": { + "$ref": "#/definitions/EnableStatusEnum", + "description": "Whether or not geo redundant backup is enabled." + }, + "earliestRestoreDate": { "type": "string", - "description": "Resource type." + "format": "date-time", + "readOnly": true, + "description": "Earliest restore point creation time (ISO8601 format)" } }, - "x-ms-azure-resource": true + "description": "Storage Profile properties of a server" }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", + "Storage": { + "type": "object", "properties": { - "location": { - "type": "string", - "description": "The location the resource resides in." + "storageSizeGB": { + "type": "integer", + "format": "int32", + "description": "Max storage size allowed for a server." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." + "iops": { + "type": "integer", + "format": "int32", + "description": "Storage IOPS for a server." + }, + "autoGrow": { + "description": "Enable Storage Auto Grow or not.", + "$ref": "#/definitions/EnableStatusEnum" + }, + "storageSku": { + "type": "string", + "readOnly": true, + "description": "The sku name of the server storage." } }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "required": [ - "location" - ] + "description": "Storage Profile properties of a server" }, - "ServerProperties": { + "Sku": { + "type": "object", "properties": { - "administratorLogin": { + "name": { "type": "string", - "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + "description": "The name of the sku, e.g. Standard_D32s_v3." }, - "version": { - "$ref": "#/definitions/ServerVersion", - "description": "Server version." - }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." - }, - "userVisibleState": { + "tier": { "type": "string", - "description": "A state of a server that is visible to user.", + "description": "The tier of the particular SKU, e.g. GeneralPurpose.", "enum": [ - "Ready", - "Dropping", - "Disabled" + "Burstable", + "GeneralPurpose", + "MemoryOptimized" ], "x-ms-enum": { - "name": "ServerState", + "name": "SkuTier", "modelAsString": true } + } + }, + "required": [ + "name", + "tier" + ], + "description": "Billing information related properties of a server." + }, + "Network": { + "type": "object", + "properties": { + "publicNetworkAccess": { + "$ref": "#/definitions/EnableStatusEnum", + "readOnly": true, + "description": "Whether or not public network access is allowed for this server. Value is 'Disabled' when server has VNet integration." }, - "fullyQualifiedDomainName": { + "delegatedSubnetResourceId": { "type": "string", - "description": "The fully qualified domain name of a server." + "description": "Delegated subnet resource id used to setup vnet for a server." }, - "earliestRestoreDate": { + "privateDnsZoneResourceId": { "type": "string", - "format": "date-time", - "description": "Earliest restore point creation time (ISO8601 format)" - }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." + "description": "Private DNS zone resource id." } }, - "description": "The properties of a server." + "description": "Network related properties of a server" }, - "StorageProfile": { + "HighAvailability": { + "type": "object", "properties": { - "backupRetentionDays": { - "type": "integer", - "description": "Backup retention days for the server." + "mode": { + "type": "string", + "enum": [ + "Disabled", + "ZoneRedundant", + "SameZone" + ], + "x-ms-enum": { + "name": "HighAvailabilityMode", + "modelAsString": true + }, + "description": "High availability mode for a server." }, - "geoRedundantBackup": { + "state": { "type": "string", - "description": "Enable Geo-redundant or not for server backup.", + "readOnly": true, + "description": "The state of server high availability.", "enum": [ - "Enabled", - "Disabled" + "NotEnabled", + "CreatingStandby", + "Healthy", + "FailingOver", + "RemovingStandby" ], "x-ms-enum": { - "name": "GeoRedundantBackup", + "name": "HighAvailabilityState", "modelAsString": true } }, - "storageMB": { - "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." + "standbyAvailabilityZone": { + "type": "string", + "description": "Availability zone of the standby server." } }, - "description": "Storage Profile properties of a server" + "description": "Network related properties of a server" }, - "ServerPropertiesForCreate": { - "discriminator": "createMode", - "required": [ - "createMode" - ], + "ServerProperties": { + "type": "object", "properties": { + "administratorLogin": { + "type": "string", + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login (required for server creation).", + "x-ms-mutability": [ + "create", + "update" + ] + }, "version": { "$ref": "#/definitions/ServerVersion", "description": "Server version." }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." - }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." + "availabilityZone": { + "type": "string", + "description": "availability Zone information of the server.", + "x-ms-mutability": [ + "create", + "read" + ] }, "createMode": { "type": "string", - "description": "The mode to create a new server.", + "description": "The mode to create a new MySQL server.", "enum": [ "Default", "PointInTimeRestore", + "Replica", "GeoRestore" ], "x-ms-enum": { "name": "CreateMode", "modelAsString": true - } - } - }, - "description": "The properties used to create a new server." - }, - "ServerPropertiesForDefaultCreate": { - "x-ms-discriminator-value": "Default", - "allOf": [ - { - "$ref": "#/definitions/ServerPropertiesForCreate" - } - ], - "properties": { - "administratorLogin": { - "type": "string", - "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + }, + "x-ms-mutability": [ + "create" + ] }, - "administratorLoginPassword": { - "type": "string", - "format": "password", - "description": "The password of the administrator login." - } - }, - "required": [ - "administratorLogin", - "administratorLoginPassword" - ], - "description": "The properties used to create a new server." - }, - "ServerPropertiesForRestore": { - "x-ms-discriminator-value": "PointInTimeRestore", - "allOf": [ - { - "$ref": "#/definitions/ServerPropertiesForCreate" - } - ], - "properties": { - "sourceServerId": { + "sourceServerResourceId": { "type": "string", - "description": "The source server id to restore from." + "description": "The source MySQL server id.", + "x-ms-mutability": [ + "create", + "read" + ] }, "restorePointInTime": { "type": "string", "format": "date-time", - "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." - } - }, - "required": [ - "sourceServerId", - "restorePointInTime" - ], - "description": "The properties used to create a new server by restoring from a backup." - }, - "ServerPropertiesForGeoRestore": { - "x-ms-discriminator-value": "GeoRestore", - "allOf": [ - { - "$ref": "#/definitions/ServerPropertiesForCreate" - } - ], - "properties": { - "sourceServerId": { - "type": "string", - "description": "The source server id to restore from." - } - }, - "required": [ - "sourceServerId" - ], - "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup." - }, - "Sku": { - "properties": { - "name": { - "type": "string", - "description": "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8." + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from.", + "x-ms-mutability": [ + "create" + ] }, - "tier": { + "replicationRole": { + "$ref": "#/definitions/ReplicationRole", + "description": "The replication role." + }, + "replicaCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "readOnly": true, + "description": "The maximum number of replicas that a primary server can have." + }, + "state": { "type": "string", - "description": "The tier of the particular SKU, e.g. Basic.", + "readOnly": true, + "description": "The state of a server.", "enum": [ - "Basic", - "GeneralPurpose", - "MemoryOptimized" + "Ready", + "Dropping", + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" ], "x-ms-enum": { - "name": "SkuTier", + "name": "ServerState", "modelAsString": true } }, - "capacity": { - "type": "integer", - "format": "int32", - "minimum": 0, - "description": "The scale up/out capacity, representing server's compute units." - }, - "size": { + "fullyQualifiedDomainName": { "type": "string", - "description": "The size code, to be interpreted by resource as appropriate." + "description": "The fully qualified domain name of a server.", + "readOnly": true }, - "family": { - "type": "string", - "description": "The family of hardware." + "storage": { + "$ref": "#/definitions/Storage", + "description": "Storage related properties of a server." + }, + "backup": { + "$ref": "#/definitions/Backup", + "description": "Backup related properties of a server." + }, + "highAvailability": { + "$ref": "#/definitions/HighAvailability", + "description": "High availability related properties of a server." + }, + "network": { + "$ref": "#/definitions/Network", + "description": "Network related properties of a server.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server.", + "x-ms-mutability": [ + "update", + "read" + ] } }, - "description": "Billing information related properties of a server." + "description": "The properties of a server." }, "Server": { + "type": "object", "properties": { "sku": { "$ref": "#/definitions/Sku", @@ -1375,70 +1787,61 @@ "$ref": "#/definitions/ServerProperties", "x-ms-client-flatten": true, "description": "Properties of the server." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Represents a server." }, - "ServerForCreate": { + "ServerPropertiesForUpdate": { + "type": "object", "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU (pricing tier) of the server." + "administratorLoginPassword": { + "type": "string", + "x-ms-secret": true, + "format": "password", + "description": "The password of the administrator login." }, - "properties": { - "$ref": "#/definitions/ServerPropertiesForCreate", - "x-ms-client-flatten": false, - "description": "Properties of the server." + "storage": { + "$ref": "#/definitions/Storage", + "description": "Storage related properties of a server." }, - "location": { - "type": "string", - "description": "The location the resource resides in." + "backup": { + "$ref": "#/definitions/Backup", + "description": "Backup related properties of a server." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." + "highAvailability": { + "$ref": "#/definitions/HighAvailability", + "description": "High availability related properties of a server." + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window of a server." + }, + "replicationRole": { + "$ref": "#/definitions/ReplicationRole", + "description": "The replication role of the server." } }, - "required": [ - "properties", - "location" - ], - "description": "Represents a server to be created." + "description": "The properties that can be updated for a server." }, - "ServerUpdateParameters": { + "ServerForUpdate": { + "type": "object", "properties": { "sku": { "$ref": "#/definitions/Sku", "description": "The SKU (pricing tier) of the server." }, "properties": { - "properties": { - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." - }, - "administratorLoginPassword": { - "type": "string", - "format": "password", - "description": "The password of the administrator login." - }, - "version": { - "$ref": "#/definitions/ServerVersion", - "description": "The version of a server." - }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." - } - }, + "$ref": "#/definitions/ServerPropertiesForUpdate", "x-ms-client-flatten": true, "description": "The properties that can be updated for a server." }, @@ -1450,9 +1853,10 @@ "description": "Application-specific metadata in the form of key-value pairs." } }, - "description": "Parameters allowd to update for a server." + "description": "Parameters allowed to update for a server." }, "ServerListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1460,11 +1864,88 @@ "$ref": "#/definitions/Server" }, "description": "The list of servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" } }, "description": "A list of servers." }, + "ServerRestartParameter": { + "type": "object", + "properties": { + "restartWithFailover": { + "$ref": "#/definitions/EnableStatusEnum", + "description": "Whether or not failover to standby server when restarting a server with high availability enabled." + }, + "maxFailoverSeconds": { + "type": "integer", + "format": "int32", + "description": "The maximum allowed failover time in seconds." + } + }, + "description": "Server restart parameters." + }, + "ServerBackupProperties": { + "type": "object", + "properties": { + "backupType": { + "type": "string", + "description": "Backup type." + }, + "completedTime": { + "type": "string", + "format": "date-time", + "description": "Backup completed time (ISO8601 format)." + }, + "source": { + "type": "string", + "description": "Backup source" + } + }, + "description": "The properties of a server backup." + }, + "ServerBackup": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ServerBackupProperties", + "x-ms-client-flatten": true, + "description": "The properties of a server backup." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Server backup properties" + }, + "ServerBackupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerBackup" + }, + "description": "The list of backups of a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server backups." + }, "FirewallRuleProperties": { + "type": "object", "properties": { "startIpAddress": { "type": "string", @@ -1484,16 +1965,22 @@ "description": "The properties of a server firewall rule." }, "FirewallRule": { + "type": "object", "properties": { "properties": { "$ref": "#/definitions/FirewallRuleProperties", "x-ms-client-flatten": true, "description": "The properties of a firewall rule." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -1502,6 +1989,7 @@ "description": "Represents a server firewall rule." }, "FirewallRuleListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1509,79 +1997,16 @@ "$ref": "#/definitions/FirewallRule" }, "description": "The list of firewall rules in a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" } }, "description": "A list of firewall rules." }, - "VirtualNetworkRuleProperties": { - "description": "Properties of a virtual network rule.", - "required": [ - "virtualNetworkSubnetId" - ], - "type": "object", - "properties": { - "virtualNetworkSubnetId": { - "description": "The ARM resource id of the virtual network subnet.", - "type": "string" - }, - "ignoreMissingVnetServiceEndpoint": { - "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.", - "type": "boolean" - }, - "state": { - "description": "Virtual Network Rule State", - "enum": [ - "Initializing", - "InProgress", - "Ready", - "Deleting", - "Unknown" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "VirtualNetworkRuleState", - "modelAsString": true - } - } - } - }, - "VirtualNetworkRule": { - "description": "A virtual network rule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/VirtualNetworkRuleProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, - "VirtualNetworkRuleListResult": { - "description": "A list of virtual network rules.", - "type": "object", - "properties": { - "value": { - "description": "Array of results.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "readOnly": true - }, - "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true - } - } - }, "DatabaseProperties": { + "type": "object", "properties": { "charset": { "type": "string", @@ -1595,21 +2020,28 @@ "description": "The properties of a database." }, "Database": { + "type": "object", "properties": { "properties": { "$ref": "#/definitions/DatabaseProperties", "x-ms-client-flatten": true, "description": "The properties of a database." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Database." }, "DatabaseListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1617,11 +2049,16 @@ "$ref": "#/definitions/Database" }, "description": "The list of databases housed in a server" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" } }, "description": "A List of databases." }, "ConfigurationProperties": { + "type": "object", "properties": { "value": { "type": "string", @@ -1649,242 +2086,351 @@ }, "source": { "type": "string", - "description": "Source of the configuration." + "description": "Source of the configuration.", + "enum": [ + "system-default", + "user-override" + ], + "x-ms-enum": { + "name": "ConfigurationSource", + "modelAsString": true + } + }, + "isReadOnly": { + "type": "string", + "readOnly": true, + "description": "If is the configuration read only.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsReadOnly", + "modelAsString": true + } + }, + "isConfigPendingRestart": { + "type": "string", + "readOnly": true, + "description": "If is the configuration pending restart or not.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsConfigPendingRestart", + "modelAsString": true + } + }, + "isDynamicConfig": { + "type": "string", + "readOnly": true, + "description": "If is the configuration dynamic.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsDynamicConfig", + "modelAsString": true + } } }, "description": "The properties of a configuration." }, "Configuration": { + "type": "object", "properties": { "properties": { "$ref": "#/definitions/ConfigurationProperties", "x-ms-client-flatten": true, - "description": "The properties of a configuration." + "description": "The properties of a configuration." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Configuration." + }, + "ConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The list of server configurations." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server configurations." + }, + "ConfigurationForBatchUpdate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the configuration." + }, + "properties": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration." + } + }, + "x-ms-client-flatten": true, + "description": "The properties can be updated for a configuration." } }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], "description": "Represents a Configuration." }, - "ConfigurationListResult": { + "ConfigurationListForBatchUpdate": { + "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Configuration" + "$ref": "#/definitions/ConfigurationForBatchUpdate" }, "description": "The list of server configurations." } }, - "description": "A list of server configurations." + "description": "A list of server configurations to update." }, - "OperationDisplay": { + "VirtualNetworkSubnetUsageParameter": { + "type": "object", "properties": { - "provider": { - "type": "string", - "readOnly": true, - "description": "Operation resource provider name." - }, - "resource": { - "type": "string", - "readOnly": true, - "description": "Resource on which the operation is performed." - }, - "operation": { - "type": "string", - "readOnly": true, - "description": "Localized friendly name for the operation." - }, - "description": { + "virtualNetworkResourceId": { "type": "string", - "readOnly": true, - "description": "Operation description." + "description": "Virtual network resource id." } }, - "description": "Display metadata associated with the operation." + "description": "Virtual network subnet usage parameter" }, - "Operation": { + "DelegatedSubnetUsage": { + "type": "object", "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "The name of the operation being performed on this particular object." - }, - "display": { - "$ref": "#/definitions/OperationDisplay", - "readOnly": true, - "description": "The localized display information for this particular operation or action." - }, - "origin": { + "subnetName": { "type": "string", "readOnly": true, - "description": "The intended executor of the operation.", - "enum": [ - "NotSpecified", - "user", - "system" - ], - "x-ms-enum": { - "name": "OperationOrigin", - "modelAsString": true - } + "description": "name of the subnet" }, - "properties": { - "type": "object", - "additionalProperties": { - "type": "object" - }, + "usage": { + "type": "integer", + "format": "int64", "readOnly": true, - "x-ms-client-flatten": false, - "description": "Additional descriptions for the operation." + "description": "Number of used delegated subnets" } }, - "description": "REST API operation definition." + "description": "Delegated subnet usage data." }, - "OperationListResult": { + "VirtualNetworkSubnetUsageResult": { + "type": "object", "properties": { - "value": { + "delegatedSubnetsUsage": { + "description": "A list of delegated subnet usage", "type": "array", "items": { - "$ref": "#/definitions/Operation" + "$ref": "#/definitions/DelegatedSubnetUsage" }, - "description": "The list of resource provider operations." + "readOnly": true } }, - "description": "A list of resource provider operations." + "description": "Virtual network subnet usage data." }, - "LogFileProperties": { + "SkuCapability": { + "type": "object", "properties": { - "sizeInKB": { - "type": "integer", - "format": "int64", - "description": "Size of the log file." - }, - "createdTime": { + "name": { "type": "string", - "readOnly": true, - "format": "date-time", - "description": "Creation timestamp of the log file." + "description": "vCore name", + "readOnly": true }, - "lastModifiedTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "Last modified timestamp of the log file." + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true }, - "type": { - "type": "string", - "description": "Type of the log file." + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true }, - "url": { - "type": "string", - "description": "The url to download the log file from." + "supportedMemoryPerVCoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true } }, - "description": "The properties of a log file." + "description": "Sku capability" }, - "LogFile": { + "ServerVersionCapability": { + "type": "object", "properties": { "name": { "type": "string", - "description": "The name of the log file." + "description": "server version", + "readOnly": true }, - "properties": { - "$ref": "#/definitions/LogFileProperties", - "x-ms-client-flatten": true, - "description": "The properties of the log file." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "description": "Represents a log file." - }, - "LogFileListResult": { - "properties": { - "value": { + "supportedSkus": { + "description": "A list of supported Skus", "type": "array", "items": { - "$ref": "#/definitions/LogFile" + "$ref": "#/definitions/SkuCapability" }, - "description": "The list of log files." + "readOnly": true } }, - "description": "A list of log files." + "description": "Server version capabilities." }, - "PerformanceTierServiceLevelObjectives": { + "StorageEditionCapability": { + "type": "object", "properties": { - "id": { - "type": "string", - "description": "ID for the service level objective." - }, - "edition": { + "name": { "type": "string", - "description": "Edition of the performance tier." + "description": "storage edition name", + "readOnly": true }, - "vCore": { + "minStorageSize": { "type": "integer", - "description": "vCore associated with the service level objective" - }, - "hardwareGeneration": { - "type": "string", - "description": "Hardware generation associated with the service level objective" + "format": "int64", + "description": "The minimal supported storage size.", + "readOnly": true }, - "maxBackupRetentionDays": { + "maxStorageSize": { "type": "integer", - "description": "Maximum Backup retention in days for the performance tier edition" + "format": "int64", + "description": "The maximum supported storage size.", + "readOnly": true }, "minBackupRetentionDays": { "type": "integer", - "description": "Minimum Backup retention in days for the performance tier edition" + "format": "int64", + "description": "Minimal backup retention days", + "readOnly": true }, - "maxStorageMB": { + "maxBackupRetentionDays": { "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." + "format": "int64", + "description": "Maximum backup retention days", + "readOnly": true + } + }, + "description": "storage edition capability" + }, + "ServerEditionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Server edition name", + "readOnly": true }, - "minStorageMB": { - "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." + "supportedStorageEditions": { + "description": "A list of supported storage editions", + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "readOnly": true + }, + "supportedServerVersions": { + "description": "A list of supported server versions.", + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "readOnly": true } }, - "description": "Service level objectives for performance tier." + "description": "Server edition capabilities." }, - "PerformanceTierProperties": { + "CapabilityProperties": { + "type": "object", "properties": { - "id": { + "zone": { "type": "string", - "description": "ID of the performance tier." + "description": "zone name", + "readOnly": true + }, + "supportedHAMode": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Supported high availability mode", + "readOnly": true + }, + "supportedGeoBackupRegions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "supported geo backup regions", + "readOnly": true }, - "serviceLevelObjectives": { + "supportedFlexibleServerEditions": { + "description": "A list of supported flexible server editions.", "type": "array", "items": { - "$ref": "#/definitions/PerformanceTierServiceLevelObjectives" + "$ref": "#/definitions/ServerEditionCapability" }, - "description": "Service level objectives associated with the performance tier" + "readOnly": true } }, - "description": "Performance tier properties" + "description": "Location capabilities." }, - "PerformanceTierListResult": { + "CapabilitiesListResult": { + "type": "object", "properties": { "value": { + "description": "A list of supported capabilities.", "type": "array", "items": { - "$ref": "#/definitions/PerformanceTierProperties" + "$ref": "#/definitions/CapabilityProperties" }, - "description": "The list of performance tiers" + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true + } + }, + "description": "location capability" + }, + "GetPrivateDnsZoneSuffixResponse": { + "type": "object", + "properties": { + "privateDnsZoneSuffix": { + "type": "string", + "description": "Represents the private DNS zone suffix." } }, - "description": "A list of performance tiers." + "description": "The response of get private dns zone suffix." }, "NameAvailabilityRequest": { + "type": "object", "required": [ "name" ], @@ -1901,6 +2447,7 @@ "description": "Request from client to check resource name availability." }, "NameAvailability": { + "type": "object", "properties": { "message": { "type": "string", @@ -1916,31 +2463,85 @@ } }, "description": "Represents a resource name availability." - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription ID that identifies an Azure subscription." }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the request." + "OperationDisplay": { + "type": "object", + "properties": { + "provider": { + "type": "string", + "description": "Operation resource provider name." + }, + "resource": { + "type": "string", + "description": "Resource on which the operation is performed." + }, + "operation": { + "type": "string", + "description": "Localized friendly name for the operation." + }, + "description": { + "type": "string", + "description": "Operation description." + } + }, + "description": "Display metadata associated with the operation." }, - "ResourceGroupParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" + "Operation": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation being performed on this particular object." + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "The localized display information for this particular operation or action." + }, + "origin": { + "type": "string", + "description": "The intended executor of the operation." + }, + "properties": { + "type": "object", + "additionalProperties": { + "type": "object" + }, + "x-ms-client-flatten": false, + "description": "Additional descriptions for the operation." + } + }, + "description": "REST API operation definition." + }, + "OperationListResult": { + "description": "A list of resource provider operations.", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).", + "type": "string" + } + } }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The resource management error response." + } + }, + "description": "An error response from the Batch service." + } + }, + "parameters": { "ServerNameParameter": { "name": "serverName", "in": "path", @@ -1957,14 +2558,6 @@ "description": "The name of the server firewall rule.", "x-ms-parameter-location": "method" }, - "virtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "description": "The name of the virtual network rule.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, "DatabaseNameParameter": { "name": "databaseName", "in": "path", @@ -1988,6 +2581,14 @@ "type": "string", "description": "The name of the location.", "x-ms-parameter-location": "method" + }, + "BackupNameParameter": { + "name": "backupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backup.", + "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.DBforPostgreSQL/postgresql.json b/App_Data/SwaggerSpecs/Microsoft.DBforPostgreSQL/postgresql.json index 8bb2e1ed..bb28f42f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.DBforPostgreSQL/postgresql.json +++ b/App_Data/SwaggerSpecs/Microsoft.DBforPostgreSQL/postgresql.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "PostgreSQLManagementClient", + "title": "PostgreSQLServerManagementClient", "description": "The Microsoft Azure management API provides create, read, update, and delete functionality for Azure PostgreSQL resources including servers, databases, firewall rules, VNET rules, security alert policies, log files and configurations with new business model.", - "version": "2017-12-01" + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -34,7 +34,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}": { "put": { "tags": [ "Servers" @@ -44,23 +44,20 @@ "Create a new server": { "$ref": "./examples/ServerCreate.json" }, - "Create a database as a point in time restore":{ - "$ref":"./examples/ServerCreatePointInTimeRestore.json" - }, - "Create a server as a geo restore ": { - "$ref": "./examples/ServerCreateGeoRestoreMode.json" + "Create a database as a point in time restore": { + "$ref": "./examples/ServerCreatePointInTimeRestore.json" } }, - "description": "Creates a new server, or will overwrite an existing server.", + "description": "Creates a new server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -70,7 +67,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ServerForCreate" + "$ref": "#/definitions/Server" }, "description": "The required parameters for creating or updating a server." } @@ -90,6 +87,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -102,18 +105,21 @@ "x-ms-examples": { "ServerUpdate": { "$ref": "./examples/ServerUpdate.json" + }, + "ServerUpdateWithCustomerMaintenanceWindow": { + "$ref": "./examples/ServerUpdateWithCustomerMaintenanceWindow.json" } }, "description": "Updates an existing server. The request body can contain one to many of the properties present in the normal server definition.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -123,7 +129,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ServerUpdateParameters" + "$ref": "#/definitions/ServerForUpdate" }, "description": "The required parameters for updating a server." } @@ -137,6 +143,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -154,13 +166,13 @@ "description": "Deletes a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -175,6 +187,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -187,18 +205,21 @@ "x-ms-examples": { "ServerGet": { "$ref": "./examples/ServerGet.json" + }, + "ServerGetWithVnet": { + "$ref": "./examples/ServerGetWithVnet.json" } }, "description": "Gets information about a server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -210,11 +231,17 @@ "schema": { "$ref": "#/definitions/Server" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers": { "get": { "tags": [ "Servers" @@ -228,13 +255,13 @@ "description": "List all the servers in a given resource group.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -243,14 +270,20 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/servers": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/flexibleServers": { "get": { "tags": [ "Servers" @@ -264,10 +297,10 @@ "description": "List all the servers in a given subscription.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -276,14 +309,160 @@ "schema": { "$ref": "#/definitions/ServerListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules/{firewallRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/restart": { + "post": { + "tags": [ + "ServerRestart" + ], + "operationId": "Servers_Restart", + "x-ms-examples": { + "ServerRestart": { + "$ref": "./examples/ServerRestart.json" + }, + "ServerRestartWithFailover": { + "$ref": "./examples/ServerRestartWithFailover.json" + } + }, + "description": "Restarts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/RestartParameter" + }, + "description": "The parameters for restarting a server." + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/start": { + "post": { + "tags": [ + "ServerStart" + ], + "operationId": "Servers_Start", + "x-ms-examples": { + "ServerStart": { + "$ref": "./examples/ServerStart.json" + } + }, + "description": "Starts a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/stop": { + "post": { + "tags": [ + "ServerStop" + ], + "operationId": "Servers_Stop", + "x-ms-examples": { + "ServerStop": { + "$ref": "./examples/ServerStop.json" + } + }, + "description": "Stops a server.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName}": { "put": { "tags": [ "FirewallRules" @@ -297,13 +476,13 @@ "description": "Creates a new firewall rule or updates an existing firewall rule.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -336,6 +515,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -350,16 +535,16 @@ "$ref": "./examples/FirewallRuleDelete.json" } }, - "description": "Deletes a server firewall rule.", + "description": "Deletes a PostgreSQL server firewall rule.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -377,6 +562,12 @@ }, "204": { "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -387,20 +578,20 @@ ], "operationId": "FirewallRules_Get", "x-ms-examples": { - "FirewallRuleGet": { + "FirewallRuleList": { "$ref": "./examples/FirewallRuleGet.json" } }, - "description": "Gets information about a server firewall rule.", + "description": "List all the firewall rules in a given server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -415,11 +606,17 @@ "schema": { "$ref": "#/definitions/FirewallRule" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/firewallRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/firewallRules": { "get": { "tags": [ "FirewallRules" @@ -430,16 +627,16 @@ "$ref": "./examples/FirewallRuleListByServer.json" } }, - "description": "List all the firewall rules in a given server.", + "description": "List all the firewall rules in a given PostgreSQL server.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" @@ -451,859 +648,748 @@ "schema": { "$ref": "#/definitions/FirewallRuleListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules/{virtualNetworkRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations": { "get": { "tags": [ - "VirtualNetworkRules" + "Configurations" ], - "description": "Gets a virtual network rule.", - "operationId": "VirtualNetworkRules_Get", + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "ConfigurationList": { + "$ref": "./examples/ConfigurationListByServer.json" + } + }, + "description": "List all the configurations in a given server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" + "$ref": "#/parameters/ServerNameParameter" } ], "responses": { "200": { - "description": "Successfully retrieved a specified virtual network rule.", + "description": "OK", "schema": { - "$ref": "#/definitions/VirtualNetworkRule" + "$ref": "#/definitions/ConfigurationListResult" } }, "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found." + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-examples": { - "Gets a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesGet.json" - } + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/flexibleServers/{serverName}/configurations/{configurationName}": { + "get": { "tags": [ - "VirtualNetworkRules" + "Configurations" ], - "description": "Creates or updates an existing virtual network rule.", - "operationId": "VirtualNetworkRules_CreateOrUpdate", + "operationId": "Configurations_Get", + "x-ms-examples": { + "ConfigurationGet": { + "$ref": "./examples/ConfigurationGet.json" + } + }, + "description": "Gets information about a configuration of server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" + "$ref": "#/parameters/ServerNameParameter" }, { - "name": "parameters", - "in": "body", - "description": "The requested virtual Network Rule Resource state.", - "required": true, - "schema": { - "$ref": "#/definitions/VirtualNetworkRule" - } + "$ref": "#/parameters/ConfigurationNameParameter" } ], "responses": { "200": { - "description": "Successfully updated a virtual network rule.", + "description": "OK", "schema": { - "$ref": "#/definitions/VirtualNetworkRule" + "$ref": "#/definitions/Configuration" } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 400 NullVirtualNetworkSubnetId - The Virtual Network Subnet Id is null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 VirtualNetworkRuleNotEnabled - Azure SQL Server Virtual Network Rule feature is not enabled\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." - }, - "202": { - "description": "Accepted" - }, - "201": { - "description": "Successfully created a virtual network rule.", + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/VirtualNetworkRule" + "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Create or update a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesCreateOrUpdate.json" - } } }, - "delete": { + "patch": { "tags": [ - "VirtualNetworkRules" + "Configurations" ], - "description": "Deletes the virtual network rule with the given name.", - "operationId": "VirtualNetworkRules_Delete", + "operationId": "Configurations_Update", + "x-ms-examples": { + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" + } + }, + "description": "Updates a configuration of a server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/virtualNetworkRuleNameParameter" + "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ConfigurationNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The required parameters for updating a server configuration." } ], "responses": { "200": { - "description": "Successfully deleted the virtual network rule." - }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 InvalidResourceId - Invalid resource identifier.\n\n * 400 MismatchingSubscriptionWithUrl - The provided subscription did not match the subscription in the Url.\n\n * 400 MismatchingResourceGroupNameWithUrl - The provided resource group name did not match the name in the Url.\n\n * 400 MismatchingServerNameWithUrl - The provided server name did not match the name in the Url.\n\n * 400 NullVirtualNetworkRequest - Virtual Network Request is Null\n\n * 400 NullVirtualNetworkRequestParameters - Virtual Network Request Parameters are Null\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 OperationIdNotFound - The operation with Id does not exist.\n\n * 409 OperationCancelled - The operation has been cancelled by user.\n\n * 409 OperationInterrupted - The operation on the resource could not be completed because it was interrupted by another operation on the same resource.\n\n * 500 OperationTimedOut - The operation timed out and automatically rolled back. Please retry the operation." + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } }, "202": { "description": "Accepted" }, - "204": { - "description": "The specified virtual network rule does not exist." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Delete a virtual network rule": { - "$ref": "./examples/VirtualNetworkRulesDelete.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/virtualNetworkRules": { - "get": { + "x-ms-long-running-operation": true + }, + "put": { "tags": [ - "VirtualNetworkRules" + "Configurations" ], - "description": "Gets a list of virtual network rules in a server.", - "operationId": "VirtualNetworkRules_ListByServer", + "operationId": "Configurations_Put", + "x-ms-examples": { + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" + } + }, + "description": "Updates a configuration of a server.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "#/parameters/ServerNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the list of virtual network rules.", - "schema": { - "$ref": "#/definitions/VirtualNetworkRuleListResult" - } - }, - "default": { - "description": "*** Error Responses: ***\n\n * 404 SubscriptionDoesNotHaveServer - The requested server was not found\n\n * 404 ResourceNotFound - The requested resource was not found." - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "List virtual network rules": { - "$ref": "./examples/VirtualNetworkRulesList.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases/{databaseName}": { - "put": { - "tags": [ - "Databases" - ], - "operationId": "Databases_CreateOrUpdate", - "x-ms-examples": { - "DatabaseCreate": { - "$ref": "./examples/DatabaseCreate.json" - } - }, - "description": "Creates a new database or updates an existing database.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/ConfigurationNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/Configuration" }, - "description": "The required parameters for creating or updating a database." + "description": "The required parameters for updating a server configuration." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Database" - } - }, - "201": { - "description": "Created", - "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/Configuration" } }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "Databases" - ], - "operationId": "Databases_Delete", - "x-ms-examples": { - "DatabaseDelete": { - "$ref": "./examples/DatabaseDelete.json" - } - }, - "description": "Deletes a database.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/DatabaseNameParameter" - } - ], - "responses": { - "200": { - "description": "OK" - }, "202": { "description": "Accepted" }, - "204": { - "description": "NoContent" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true - }, - "get": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { + "post": { "tags": [ - "Databases" + "CheckNameAvailability" ], - "operationId": "Databases_Get", + "operationId": "CheckNameAvailability_Execute", "x-ms-examples": { - "DatabaseGet": { - "$ref": "./examples/DatabaseGet.json" + "NameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" } }, - "description": "Gets information about a database.", + "description": "Check the availability of name for resource", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Database" + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/databases": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/capabilities": { "get": { "tags": [ - "Databases" + "LocationBasedCapabilities" ], - "operationId": "Databases_ListByServer", + "operationId": "LocationBasedCapabilities_Execute", "x-ms-examples": { - "DatabaseList": { - "$ref": "./examples/DatabaseListByServer.json" + "CapabilitiesList": { + "$ref": "./examples/CapabilitiesByLocation.json" } }, - "description": "List all the databases in a given server.", + "description": "Get capabilities at specified location in a given subscription.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "#/parameters/LocationNameParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/DatabaseListResult" + "$ref": "#/definitions/CapabilitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations/{configurationName}": { - "put": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/checkVirtualNetworkSubnetUsage": { + "post": { "tags": [ - "Configurations" + "VirtualNetworkSubnetUsage" ], - "operationId": "Configurations_CreateOrUpdate", + "operationId": "VirtualNetworkSubnetUsage_Execute", "x-ms-examples": { - "ConfigurationCreateOrUpdate": { - "$ref": "./examples/ConfigurationCreateOrUpdate.json" + "VirtualNetworkSubnetUsageList": { + "$ref": "./examples/VirtualNetworkSubnetUsage.json" } }, - "description": "Updates a configuration of a server.", + "description": "Get virtual network subnet usage for a given vNet resource id.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ConfigurationNameParameter" + "$ref": "#/parameters/LocationNameParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Configuration" + "$ref": "#/definitions/VirtualNetworkSubnetUsageParameter" }, - "description": "The required parameters for updating a server configuration." + "description": "The required parameters for creating or updating a server." } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Configuration" + "$ref": "#/definitions/VirtualNetworkSubnetUsageResult" } }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true - }, - "get": { - "tags": [ - "Configurations" - ], - "operationId": "Configurations_Get", - "x-ms-examples": { - "ConfigurationGet": { - "$ref": "./examples/ConfigurationGet.json" - } - }, - "description": "Gets information about a configuration of server.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "$ref": "#/parameters/ConfigurationNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Configuration" + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/configurations": { + "/providers/Microsoft.DBforPostgreSQL/operations": { "get": { "tags": [ - "Configurations" + "Operations" ], - "operationId": "Configurations_ListByServer", + "operationId": "Operations_List", "x-ms-examples": { - "ConfigurationList": { - "$ref": "./examples/ConfigurationListByServer.json" + "OperationList": { + "$ref": "./examples/OperationList.json" } }, - "description": "List all the configurations in a given server.", + "description": "Lists all of the available REST API operations.", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ConfigurationListResult" + "$ref": "#/definitions/OperationListResult" } - } - }, - "x-ms-pageable": { - "nextLinkName": null - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/logFiles": { - "get": { - "tags": [ - "LogFiles" - ], - "operationId": "LogFiles_ListByServer", - "x-ms-examples": { - "LogFileList": { - "$ref": "./examples/LogFileListByServer.json" - } - }, - "description": "List all the log files in a given server.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" }, - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/LogFileListResult" + "$ref": "#/definitions/CloudError" } } - }, - "x-ms-pageable": { - "nextLinkName": null } } + } + }, + "definitions": { + "VirtualNetworkSubnetUsageParameter": { + "type": "object", + "properties": { + "virtualNetworkArmResourceId": { + "type": "string", + "description": "Virtual network resource id." + } + }, + "description": "Virtual network subnet usage parameter" }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/locations/{locationName}/performanceTiers": { - "get": { - "tags": [ - "LocationBasedPerformanceTier" - ], - "operationId": "LocationBasedPerformanceTier_List", - "x-ms-examples": { - "PerformanceTiersList": { - "$ref": "./examples/PerformanceTiersListByLocation.json" - } - }, - "description": "List all the performance tiers at specified location in a given subscription.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "VirtualNetworkSubnetUsageResult": { + "type": "object", + "properties": { + "delegatedSubnetsUsage": { + "type": "array", + "items": { + "$ref": "#/definitions/DelegatedSubnetUsage" }, - { - "$ref": "#/parameters/LocationNameParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PerformanceTierListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": null + "readOnly": true } - } + }, + "description": "Virtual network subnet usage data." }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DBforPostgreSQL/checkNameAvailability": { - "post": { - "tags": [ - "CheckNameAvailability" - ], - "operationId": "CheckNameAvailability_Execute", - "x-ms-examples": { - "NameAvailability": { - "$ref": "./examples/CheckNameAvailability.json" - } + "DelegatedSubnetUsage": { + "type": "object", + "properties": { + "subnetName": { + "type": "string", + "readOnly": true, + "description": "name of the subnet" }, - "description": "Check the availability of name for resource", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "nameAvailabilityRequest", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/NameAvailabilityRequest" - }, - "description": "The required parameters for checking if resource name is available." - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NameAvailability" - } - } + "usage": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Number of used delegated subnets" } - } + }, + "description": "Delegated subnet usage data." }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforPostgreSQL/servers/{serverName}/securityAlertPolicies/{securityAlertPolicyName}": { - "get": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Get a server's security alert policy.", - "operationId": "ServerSecurityAlertPolicies_Get", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the security alert policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved the server threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of getting security alert policies failed." - } + "StorageMBCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "storage MB name", + "readOnly": true }, - "x-ms-examples": { - "Get a server's threat detection policy": { - "$ref": "./examples/ServerSecurityAlertsGet.json" - } + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "storageSizeMB": { + "type": "integer", + "format": "int64", + "description": "storage size in MB", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true } }, - "put": { - "tags": [ - "ServerSecurityAlertPolicies" - ], - "description": "Creates or updates a threat detection policy.", - "operationId": "ServerSecurityAlertPolicies_CreateOrUpdate", - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" - }, - { - "name": "securityAlertPolicyName", - "in": "path", - "description": "The name of the threat detection policy.", - "required": true, - "type": "string", - "enum": [ - "Default" - ], - "x-ms-enum": { - "name": "SecurityAlertPolicyName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "description": "The server security alert policy.", - "required": true, - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully updated the threat detection policy.", - "schema": { - "$ref": "#/definitions/ServerSecurityAlertPolicy" - } - }, - "default": { - "description": "Error response describing why the operation of setting security alert policies failed." - }, - "202": { - "description": "Created request to set the server threat detection policy." - } + "description": "storage size in MB capability" + }, + "VcoreCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "vCore name", + "readOnly": true }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Update a server's threat detection policy with all parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMax.json" + "vCores": { + "type": "integer", + "format": "int64", + "description": "supported vCores", + "readOnly": true + }, + "supportedIops": { + "type": "integer", + "format": "int64", + "description": "supported IOPS", + "readOnly": true + }, + "supportedMemoryPerVcoreMB": { + "type": "integer", + "format": "int64", + "description": "supported memory per vCore in MB", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true + } + }, + "description": "Vcores capability" + }, + "ServerVersionCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "server version", + "readOnly": true + }, + "supportedVcores": { + "type": "array", + "items": { + "$ref": "#/definitions/VcoreCapability" }, - "Update a server's threat detection policy with minimal parameters": { - "$ref": "./examples/ServerSecurityAlertsCreateMin.json" - } + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true } - } + }, + "description": "Server version capabilities." }, - "/providers/Microsoft.DBforPostgreSQL/operations": { - "get": { - "tags": [ - "Operations" - ], - "operationId": "Operations_List", - "x-ms-examples": { - "OperationList": { - "$ref": "./examples/OperationList.json" - } + "StorageEditionCapability": { + "properties": { + "name": { + "type": "string", + "description": "storage edition name", + "readOnly": true }, - "description": "Lists all of the available REST API operations.", - "parameters": [ - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - } + "supportedStorageMB": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageMBCapability" + }, + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true } - } - } - }, - "definitions": { - "ServerVersion": { - "type": "string", - "description": "The version of a server.", - "enum": [ - "9.5", - "9.6", - "10", - "10.0", - "10.2" - ], - "x-ms-enum": { - "name": "ServerVersion", - "modelAsString": true - } + }, + "description": "storage edition capability" }, - "SslEnforcement": { - "type": "string", - "description": "Enable ssl enforcement or not when connect to server.", - "enum": [ - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "SslEnforcementEnum", - "modelAsString": false - } + "NodeTypeCapability": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "note type name", + "readOnly": true + }, + "nodeType": { + "type": "string", + "description": "note type", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true + } + }, + "description": "node type capability" }, - "ProxyResource": { - "description": "Resource properties.", + "FlexibleServerEditionCapability": { + "type": "object", "properties": { - "id": { - "readOnly": true, + "name": { "type": "string", - "description": "Resource ID" + "description": "Server edition name", + "readOnly": true }, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "description": "The list of editions supported by this server edition.", + "readOnly": true + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "description": "The list of server versions supported by this server edition.", + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true + } + }, + "description": "Flexible server edition capabilities." + }, + "HyperscaleNodeEditionCapability": { + "type": "object", + "properties": { "name": { - "readOnly": true, "type": "string", - "description": "Resource name." + "description": "Server edition name", + "readOnly": true }, - "type": { - "readOnly": true, + "supportedStorageEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageEditionCapability" + }, + "description": "The list of editions supported by this server edition.", + "readOnly": true + }, + "supportedServerVersions": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerVersionCapability" + }, + "description": "The list of server versions supported by this server edition.", + "readOnly": true + }, + "supportedNodeTypes": { + "type": "array", + "items": { + "$ref": "#/definitions/NodeTypeCapability" + }, + "description": "The list of Node Types supported by this server edition.", + "readOnly": true + }, + "status": { "type": "string", - "description": "Resource type." + "description": "The status", + "readOnly": true } }, - "x-ms-azure-resource": true + "description": "Hyperscale node edition capabilities." }, - "TrackedResource": { - "description": "Resource properties including location and tags for track resources.", + "CapabilityProperties": { "properties": { - "location": { + "zone": { "type": "string", - "description": "The location the resource resides in." + "description": "zone name", + "readOnly": true }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "geoBackupSupported": { + "type": "boolean", + "description": "A value indicating whether a new server in this region can have geo-backups to paired region.", + "readOnly": true + }, + "zoneRedundantHaSupported": { + "type": "boolean", + "description": "A value indicating whether a new server in this region can support multi zone HA.", + "readOnly": true + }, + "zoneRedundantHaAndGeoBackupSupported": { + "type": "boolean", + "description": "A value indicating whether a new server in this region can have geo-backups to paired region.", + "readOnly": true + }, + "supportedFlexibleServerEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/FlexibleServerEditionCapability" + }, + "readOnly": true + }, + "supportedHyperscaleNodeEditions": { + "type": "array", + "items": { + "$ref": "#/definitions/HyperscaleNodeEditionCapability" + }, + "readOnly": true + }, + "status": { + "type": "string", + "description": "The status", + "readOnly": true + } + }, + "description": "Location capabilities." + }, + "CapabilitiesListResult": { + "type": "object", + "properties": { + "value": { + "description": "A list of supported capabilities.", + "type": "array", + "items": { + "$ref": "#/definitions/CapabilityProperties" }, - "description": "Application-specific metadata in the form of key-value pairs." + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true } }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } + "description": "location capability" + }, + "ServerVersion": { + "type": "string", + "description": "The version of a server.", + "enum": [ + "13", + "12", + "11" ], - "required": [ - "location" - ] + "x-ms-enum": { + "name": "ServerVersion", + "modelAsString": true + } }, "ServerProperties": { "properties": { "administratorLogin": { "type": "string", - "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." + "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation).", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "administratorLoginPassword": { + "type": "string", + "description": "The administrator login password (required for server creation).", + "x-ms-secret": true, + "format": "password", + "x-ms-mutability": [ + "create", + "update" + ] }, "version": { "$ref": "#/definitions/ServerVersion", - "description": "Server version." + "description": "PostgreSQL Server version." }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." + "minorVersion": { + "type": "string", + "description": "The minor version of the server.", + "readOnly": true }, - "userVisibleState": { + "state": { "type": "string", "description": "A state of a server that is visible to user.", + "readOnly": true, "enum": [ "Ready", "Dropping", - "Disabled" + "Disabled", + "Starting", + "Stopping", + "Stopped", + "Updating" ], "x-ms-enum": { "name": "ServerState", @@ -1312,157 +1398,209 @@ }, "fullyQualifiedDomainName": { "type": "string", - "description": "The fully qualified domain name of a server." + "description": "The fully qualified domain name of a server.", + "readOnly": true + }, + "storage": { + "$ref": "#/definitions/Storage", + "description": "Storage properties of a server." + }, + "backup": { + "$ref": "#/definitions/Backup", + "description": "Backup properties of a server." + }, + "network": { + "$ref": "#/definitions/Network", + "description": "Network properties of a server.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "highAvailability": { + "$ref": "#/definitions/HighAvailability", + "description": "High availability properties of a server." + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window properties of a server.", + "x-ms-mutability": [ + "update", + "read" + ] + }, + "sourceServerResourceId": { + "type": "string", + "description": "The source server resource ID to restore from. It's required when 'createMode' is 'PointInTimeRestore'.", + "x-ms-mutability": [ + "create" + ] }, - "earliestRestoreDate": { + "pointInTimeUTC": { "type": "string", "format": "date-time", - "description": "Earliest restore point creation time (ISO8601 format)" + "description": "Restore point creation time (ISO8601 format), specifying the time to restore from. It's required when 'createMode' is 'PointInTimeRestore'.", + "x-ms-mutability": [ + "create" + ] }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." - } - }, - "description": "The properties of a server." - }, - "StorageProfile": { - "properties": { - "backupRetentionDays": { - "type": "integer", - "description": "Backup retention days for the server." + "availabilityZone": { + "type": "string", + "description": "availability zone information of the server.", + "x-ms-mutability": [ + "create", + "read" + ] }, - "geoRedundantBackup": { + "createMode": { "type": "string", - "description": "Enable Geo-redundant or not for server backup.", + "description": "The mode to create a new PostgreSQL server.", "enum": [ - "Enabled", - "Disabled" + "Default", + "Create", + "Update", + "PointInTimeRestore" ], "x-ms-enum": { - "name": "GeoRedundantBackup", + "name": "CreateMode", "modelAsString": true - } + }, + "x-ms-mutability": [ + "create", + "update" + ] }, - "storageMB": { - "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." } }, - "description": "Storage Profile properties of a server" + "description": "The properties of a server." }, - "ServerPropertiesForCreate": { - "discriminator": "createMode", - "required": [ - "createMode" - ], + "Server": { "properties": { - "version": { - "$ref": "#/definitions/ServerVersion", - "description": "Server version." - }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." + "properties": { + "$ref": "#/definitions/ServerProperties", + "x-ms-client-flatten": true, + "description": "Properties of the server." }, - "createMode": { - "type": "string", - "description": "The mode to create a new server.", - "enum": [ - "Default", - "PointInTimeRestore", - "GeoRestore" - ], - "x-ms-enum": { - "name": "CreateMode", - "modelAsString": true - } + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, - "description": "The properties used to create a new server." - }, - "ServerPropertiesForDefaultCreate": { - "x-ms-discriminator-value": "Default", "allOf": [ { - "$ref": "#/definitions/ServerPropertiesForCreate" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], + "description": "Represents a server." + }, + "ServerPropertiesForUpdate": { "properties": { - "administratorLogin": { - "type": "string", - "description": "The administrator's login name of a server. Can only be specified when the server is being created (and is required for creation)." - }, "administratorLoginPassword": { "type": "string", "format": "password", "description": "The password of the administrator login." + }, + "storage": { + "$ref": "#/definitions/Storage", + "description": "Storage properties of a server." + }, + "backup": { + "$ref": "#/definitions/Backup", + "description": "Backup properties of a server." + }, + "highAvailability": { + "$ref": "#/definitions/HighAvailability", + "description": "High availability properties of a server." + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "Maintenance window properties of a server.", + "x-ms-mutability": [ + "update", + "read" + ] + }, + "createMode": { + "type": "string", + "description": "The mode to update a new PostgreSQL server.", + "enum": [ + "Default", + "Update" + ], + "x-ms-enum": { + "name": "CreateModeForUpdate", + "modelAsString": true + }, + "x-ms-mutability": [ + "update" + ] } - }, - "required": [ - "administratorLogin", - "administratorLoginPassword" - ], - "description": "The properties used to create a new server." + } }, - "ServerPropertiesForRestore": { - "x-ms-discriminator-value": "PointInTimeRestore", - "allOf": [ - { - "$ref": "#/definitions/ServerPropertiesForCreate" - } - ], + "ServerForUpdate": { "properties": { - "sourceServerId": { + "location": { "type": "string", - "description": "The source server id to restore from." + "description": "The location the resource resides in." }, - "restorePointInTime": { - "type": "string", - "format": "date-time", - "description": "Restore point creation time (ISO8601 format), specifying the time to restore from." + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU (pricing tier) of the server." + }, + "properties": { + "$ref": "#/definitions/ServerPropertiesForUpdate", + "x-ms-client-flatten": true, + "description": "Properties of the server." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." } }, - "required": [ - "sourceServerId", - "restorePointInTime" - ], - "description": "The properties used to create a new server by restoring from a backup." + "description": "Represents a server to be updated." }, - "ServerPropertiesForGeoRestore": { - "x-ms-discriminator-value": "GeoRestore", - "allOf": [ - { - "$ref": "#/definitions/ServerPropertiesForCreate" - } - ], + "ServerListResult": { + "type": "object", "properties": { - "sourceServerId": { - "type": "string", - "description": "The source server id to restore from." + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Server" + }, + "description": "The list of flexible servers" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" } }, - "required": [ - "sourceServerId" - ], - "description": "The properties used to create a new server by restoring to a different region from a geo replicated backup." + "description": "A list of servers." }, "Sku": { "properties": { "name": { "type": "string", - "description": "The name of the sku, typically, tier + family + cores, e.g. B_Gen4_1, GP_Gen5_8." + "description": "The name of the sku, typically, tier + family + cores, e.g. Standard_D4s_v3." }, "tier": { "type": "string", - "description": "The tier of the particular SKU, e.g. Basic.", + "description": "The tier of the particular SKU, e.g. Burstable.", "enum": [ - "Basic", + "Burstable", "GeneralPurpose", "MemoryOptimized" ], @@ -1470,122 +1608,152 @@ "name": "SkuTier", "modelAsString": true } - }, - "capacity": { + } + }, + "required": [ + "name", + "tier" + ], + "description": "Sku information related properties of a server." + }, + "Storage": { + "properties": { + "storageSizeGB": { "type": "integer", "format": "int32", - "minimum": 0, - "description": "The scale up/out capacity, representing server's compute units." - }, - "size": { - "type": "string", - "description": "The size code, to be interpreted by resource as appropriate." - }, - "family": { - "type": "string", - "description": "The family of hardware." + "description": "Max storage allowed for a server." } }, - "description": "Billing information related properties of a server." + "description": "Storage properties of a server" }, - "Server": { + "Backup": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU (pricing tier) of the server." + "backupRetentionDays": { + "type": "integer", + "format": "int32", + "description": "Backup retention days for the server." }, - "properties": { - "$ref": "#/definitions/ServerProperties", - "x-ms-client-flatten": true, - "description": "Properties of the server." + "geoRedundantBackup": { + "type": "string", + "description": "A value indicating whether Geo-Redundant backup is enabled on the server.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "GeoRedundantBackupEnum", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "earliestRestoreDate": { + "type": "string", + "format": "date-time", + "description": "The earliest restore point time (ISO8601 format) for server.", + "readOnly": true } }, - "allOf": [ - { - "$ref": "#/definitions/TrackedResource" - } - ], - "description": "Represents a server." + "description": "Backup properties of a server" }, - "ServerForCreate": { + "Network": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU (pricing tier) of the server." - }, - "properties": { - "$ref": "#/definitions/ServerPropertiesForCreate", - "x-ms-client-flatten": false, - "description": "Properties of the server." + "publicNetworkAccess": { + "type": "string", + "description": "public network access is enabled or not", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ServerPublicNetworkAccessState", + "modelAsString": true + }, + "readOnly": true }, - "location": { + "delegatedSubnetResourceId": { "type": "string", - "description": "The location the resource resides in." + "description": "delegated subnet arm resource id.", + "x-ms-mutability": [ + "create", + "read" + ] }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." + "privateDnsZoneArmResourceId": { + "type": "string", + "description": "private dns zone arm resource id.", + "x-ms-mutability": [ + "create", + "read" + ] } }, - "required": [ - "properties", - "location" - ], - "description": "Represents a server to be created." + "description": "Network properties of a server" }, - "ServerUpdateParameters": { + "HighAvailability": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The SKU (pricing tier) of the server." + "mode": { + "type": "string", + "description": "The HA mode for the server.", + "enum": [ + "Disabled", + "ZoneRedundant" + ], + "x-ms-enum": { + "name": "HighAvailabilityMode", + "modelAsString": true + } }, - "properties": { - "properties": { - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "Storage profile of a server." - }, - "administratorLoginPassword": { - "type": "string", - "format": "password", - "description": "The password of the administrator login." - }, - "version": { - "$ref": "#/definitions/ServerVersion", - "description": "The version of a server." - }, - "sslEnforcement": { - "$ref": "#/definitions/SslEnforcement", - "description": "Enable ssl enforcement or not when connect to server." - } + "state": { + "type": "string", + "description": "A state of a HA server that is visible to user.", + "enum": [ + "NotEnabled", + "CreatingStandby", + "ReplicatingData", + "FailingOver", + "Healthy", + "RemovingStandby" + ], + "x-ms-enum": { + "name": "ServerHAState", + "modelAsString": true }, - "x-ms-client-flatten": true, - "description": "The properties that can be updated for a server." + "readOnly": true }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Application-specific metadata in the form of key-value pairs." + "standbyAvailabilityZone": { + "type": "string", + "description": "availability zone information of the standby." } }, - "description": "Parameters allowd to update for a server." + "description": "High availability properties of a server" }, - "ServerListResult": { + "MaintenanceWindow": { + "type": "object", + "description": "Maintenance window properties of a server.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Server" - }, - "description": "The list of servers" + "customWindow": { + "type": "string", + "description": "indicates whether custom window is enabled or disabled" + }, + "startHour": { + "type": "integer", + "format": "int32", + "description": "start hour for maintenance window" + }, + "startMinute": { + "type": "integer", + "format": "int32", + "description": "start minute for maintenance window" + }, + "dayOfWeek": { + "type": "integer", + "format": "int32", + "description": "day of week for maintenance window" } - }, - "description": "A list of servers." + } }, "FirewallRuleProperties": { "properties": { @@ -1612,11 +1780,16 @@ "$ref": "#/definitions/FirewallRuleProperties", "x-ms-client-flatten": true, "description": "The properties of a firewall rule." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "required": [ @@ -1625,6 +1798,7 @@ "description": "Represents a server firewall rule." }, "FirewallRuleListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1632,117 +1806,13 @@ "$ref": "#/definitions/FirewallRule" }, "description": "The list of firewall rules in a server." - } - }, - "description": "A list of firewall rules." - }, - "VirtualNetworkRuleProperties": { - "description": "Properties of a virtual network rule.", - "required": [ - "virtualNetworkSubnetId" - ], - "type": "object", - "properties": { - "virtualNetworkSubnetId": { - "description": "The ARM resource id of the virtual network subnet.", - "type": "string" - }, - "ignoreMissingVnetServiceEndpoint": { - "description": "Create firewall rule before the virtual network has vnet service endpoint enabled.", - "type": "boolean" - }, - "state": { - "description": "Virtual Network Rule State", - "enum": [ - "Initializing", - "InProgress", - "Ready", - "Deleting", - "Unknown" - ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "VirtualNetworkRuleState", - "modelAsString": true - } - } - } - }, - "VirtualNetworkRule": { - "description": "A virtual network rule.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/VirtualNetworkRuleProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true - } - } - }, - "VirtualNetworkRuleListResult": { - "description": "A list of virtual network rules.", - "type": "object", - "properties": { - "value": { - "description": "Array of results.", - "type": "array", - "items": { - "$ref": "#/definitions/VirtualNetworkRule" - }, - "readOnly": true }, "nextLink": { - "description": "Link to retrieve next page of results.", - "type": "string", - "readOnly": true - } - } - }, - "DatabaseProperties": { - "properties": { - "charset": { - "type": "string", - "description": "The charset of the database." - }, - "collation": { - "type": "string", - "description": "The collation of the database." - } - }, - "description": "The properties of a database." - }, - "Database": { - "properties": { - "properties": { - "$ref": "#/definitions/DatabaseProperties", - "x-ms-client-flatten": true, - "description": "The properties of a database." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "description": "Represents a Database." - }, - "DatabaseListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Database" - }, - "description": "The list of databases housed in a server" + "description": "The link used to get the next page of operations.", + "type": "string" } }, - "description": "A List of databases." + "description": "A list of firewall rules." }, "ConfigurationProperties": { "properties": { @@ -1763,7 +1833,17 @@ "dataType": { "type": "string", "readOnly": true, - "description": "Data type of the configuration." + "description": "Data type of the configuration.", + "enum": [ + "Boolean", + "Numeric", + "Integer", + "Enumeration" + ], + "x-ms-enum": { + "name": "ConfigurationDataType", + "modelAsString": true + } }, "allowedValues": { "type": "string", @@ -1783,16 +1863,22 @@ "$ref": "#/definitions/ConfigurationProperties", "x-ms-client-flatten": true, "description": "The properties of a configuration." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true, + "description": "The system metadata relating to this resource." } }, "allOf": [ { - "$ref": "#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Represents a Configuration." }, "ConfigurationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1800,6 +1886,10 @@ "$ref": "#/definitions/Configuration" }, "description": "The list of server configurations." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" } }, "description": "A list of server configurations." @@ -1841,6 +1931,10 @@ "readOnly": true, "description": "The localized display information for this particular operation or action." }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, "origin": { "type": "string", "readOnly": true, @@ -1868,144 +1962,22 @@ "description": "REST API operation definition." }, "OperationListResult": { + "description": "A list of resource provider operations.", + "type": "object", "properties": { "value": { + "description": "Collection of available operation details", + "uniqueItems": false, "type": "array", "items": { "$ref": "#/definitions/Operation" - }, - "description": "The list of resource provider operations." - } - }, - "description": "A list of resource provider operations." - }, - "LogFileProperties": { - "properties": { - "sizeInKB": { - "type": "integer", - "format": "int64", - "description": "Size of the log file." - }, - "createdTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "Creation timestamp of the log file." - }, - "lastModifiedTime": { - "type": "string", - "readOnly": true, - "format": "date-time", - "description": "Last modified timestamp of the log file." - }, - "type": { - "type": "string", - "description": "Type of the log file." - }, - "url": { - "type": "string", - "description": "The url to download the log file from." - } - }, - "description": "The properties of a log file." - }, - "LogFile": { - "properties": { - "name": { - "type": "string", - "description": "The name of the log file." - }, - "properties": { - "$ref": "#/definitions/LogFileProperties", - "x-ms-client-flatten": true, - "description": "The properties of the log file." - } - }, - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], - "description": "Represents a log file." - }, - "LogFileListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/LogFile" - }, - "description": "The list of log files." - } - }, - "description": "A list of log files." - }, - "PerformanceTierServiceLevelObjectives": { - "properties": { - "id": { - "type": "string", - "description": "ID for the service level objective." - }, - "edition": { - "type": "string", - "description": "Edition of the performance tier." - }, - "vCore": { - "type": "integer", - "description": "vCore associated with the service level objective" - }, - "hardwareGeneration": { - "type": "string", - "description": "Hardware generation associated with the service level objective" - }, - "maxBackupRetentionDays": { - "type": "integer", - "description": "Maximum Backup retention in days for the performance tier edition" - }, - "minBackupRetentionDays": { - "type": "integer", - "description": "Minimum Backup retention in days for the performance tier edition" - }, - "maxStorageMB": { - "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." - }, - "minStorageMB": { - "type": "integer", - "format": "int32", - "description": "Max storage allowed for a server." - } - }, - "description": "Service level objectives for performance tier." - }, - "PerformanceTierProperties": { - "properties": { - "id": { - "type": "string", - "description": "ID of the performance tier." + } }, - "serviceLevelObjectives": { - "type": "array", - "items": { - "$ref": "#/definitions/PerformanceTierServiceLevelObjectives" - }, - "description": "Service level objectives associated with the performance tier" - } - }, - "description": "Performance tier properties" - }, - "PerformanceTierListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/PerformanceTierProperties" - }, - "description": "The list of performance tiers" + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" } - }, - "description": "A list of performance tiers." + } }, "NameAvailabilityRequest": { "required": [ @@ -2033,103 +2005,58 @@ "type": "boolean", "description": "Indicates whether the resource name is available." }, - "reason": { + "name": { + "type": "string", + "description": "name of the PostgreSQL server." + }, + "type": { "type": "string", - "description": "Reason for name being unavailable." + "description": "type of the server" } }, "description": "Represents a resource name availability." }, - "SecurityAlertPolicyProperties": { - "description": "Properties of a security alert policy.", - "required": [ - "state" - ], + "RestartParameter": { "type": "object", "properties": { - "state": { - "description": "Specifies the state of the policy, whether it is enabled or disabled.", + "restartWithFailover": { + "type": "boolean", + "description": "Indicates whether to restart the server with failover." + }, + "failoverMode": { + "type": "string", + "description": "Failover mode.", "enum": [ - "Enabled", - "Disabled" + "PlannedFailover", + "ForcedFailover", + "PlannedSwitchover", + "ForcedSwitchover" ], - "type": "string", "x-ms-enum": { - "name": "ServerSecurityAlertPolicyState", - "modelAsString": false - } - }, - "disabledAlerts": { - "description": "Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly", - "type": "array", - "items": { - "type": "string" - } - }, - "emailAddresses": { - "description": "Specifies an array of e-mail addresses to which the alert is sent.", - "type": "array", - "items": { - "type": "string" + "name": "FailoverMode", + "modelAsString": true } - }, - "emailAccountAdmins": { - "description": "Specifies that the alert is sent to the account administrators.", - "type": "boolean" - }, - "storageEndpoint": { - "description": "Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs.", - "type": "string" - }, - "storageAccountAccessKey": { - "description": "Specifies the identifier key of the Threat Detection audit storage account.", - "type": "string" - }, - "retentionDays": { - "format": "int32", - "description": "Specifies the number of days to keep in the Threat Detection audit logs.", - "type": "integer" } - } + }, + "description": "Represents server restart parameters." }, - "ServerSecurityAlertPolicy": { - "description": "A server security alert policy.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProxyResource" - } - ], + "CloudError": { + "x-ms-external": true, "properties": { - "properties": { - "$ref": "#/definitions/SecurityAlertPolicyProperties", - "description": "Resource properties.", - "x-ms-client-flatten": true + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } - } + }, + "description": "An error response from the Batch service." } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The subscription ID that identifies an Azure subscription." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the request." - }, - "ResourceGroupParameter": { - "name": "resourceGroupName", + "LocationNameParameter": { + "name": "locationName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", + "description": "The name of the location.", "x-ms-parameter-location": "method" }, "ServerNameParameter": { @@ -2148,22 +2075,6 @@ "description": "The name of the server firewall rule.", "x-ms-parameter-location": "method" }, - "virtualNetworkRuleNameParameter": { - "name": "virtualNetworkRuleName", - "in": "path", - "description": "The name of the virtual network rule.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "DatabaseNameParameter": { - "name": "databaseName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the database.", - "x-ms-parameter-location": "method" - }, "ConfigurationNameParameter": { "name": "configurationName", "in": "path", @@ -2172,24 +2083,13 @@ "description": "The name of the server configuration.", "x-ms-parameter-location": "method" }, - "LocationNameParameter": { - "name": "locationName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the location.", - "x-ms-parameter-location": "method" - }, - "SecurityAlertPolicyNameParameter": { - "name": "securityAlertPolicyName", + "MaintenanceWindowNameParameter": { + "name": "maintenanceWindowName", "in": "path", - "description": "The name of the security alert policy.", "required": true, "type": "string", - "enum": [ - "default" - ], + "description": "The name of the maintenance window.", "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.DevTestLab/DTL.json b/App_Data/SwaggerSpecs/Microsoft.DevTestLab/DTL.json index 09a0ee33..6bf45869 100644 --- a/App_Data/SwaggerSpecs/Microsoft.DevTestLab/DTL.json +++ b/App_Data/SwaggerSpecs/Microsoft.DevTestLab/DTL.json @@ -1,8584 +1,12493 @@ { - "swagger": "2.0", - "info": { - "version": "2016-05-15", - "title": "DevTestLabsClient", - "description": "The DevTest Labs Client." - }, - "host": "management.azure.com", - "schemes": [ "https" ], - "consumes": [ "application/json" ], - "produces": [ "application/json" ], - "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs": { - "get": { - "tags": [ "Labs" ], - "description": "List labs in a subscription.", - "operationId": "Labs_ListBySubscription", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Lab]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Lab" - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules": { - "get": { - "tags": [ "GlobalSchedules" ], - "description": "List schedules in a subscription.", - "operationId": "GlobalSchedules_ListBySubscription", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Schedule]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Schedule" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs": { - "get": { - "tags": [ "Labs" ], - "description": "List labs in a resource group.", - "operationId": "Labs_ListByResourceGroup", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Lab]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Lab" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources": { - "get": { - "tags": [ "ArtifactSources" ], - "description": "List artifact sources in a given lab.", - "operationId": "ArtifactSources_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=displayName)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[ArtifactSource]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ArtifactSource" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates": { - "get": { - "tags": [ "ArmTemplates" ], - "description": "List azure resource manager templates in a given artifact source.", - "operationId": "ArmTemplates_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "artifactSourceName", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=displayName)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[ArmTemplate]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ArmTemplate" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}": { - "get": { - "tags": [ "ArmTemplates" ], - "description": "Get azure resource manager template.", - "operationId": "ArmTemplates_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "artifactSourceName", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the azure Resource Manager template.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=displayName)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ArmTemplate" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts": { - "get": { - "tags": [ "Artifacts" ], - "description": "List artifacts in a given artifact source.", - "operationId": "Artifacts_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "artifactSourceName", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=title)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Artifact]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Artifact" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}": { - "get": { - "tags": [ "Artifacts" ], - "description": "Get artifact.", - "operationId": "Artifacts_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "artifactSourceName", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=title)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Artifact" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate": { - "post": { - "tags": [ "Artifacts" ], - "description": "Generates an ARM template for the given artifact, uploads the required files to a storage account, and validates the generated artifact.", - "operationId": "Artifacts_GenerateArmTemplate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "artifactSourceName", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact.", - "required": true, - "type": "string" - }, - { - "name": "generateArmTemplateRequest", - "in": "body", - "description": "Parameters for generating an ARM template for deploying artifacts.", - "required": true, - "schema": { "$ref": "#/definitions/GenerateArmTemplateRequest" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ArmTemplateInfo" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}": { - "get": { - "tags": [ "ArtifactSources" ], - "description": "Get artifact source.", - "operationId": "ArtifactSources_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=displayName)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ArtifactSource" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "ArtifactSources" ], - "description": "Create or replace an existing artifact source.", - "operationId": "ArtifactSources_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "artifactSource", - "in": "body", - "description": "Properties of an artifact source.", - "required": true, - "schema": { "$ref": "#/definitions/ArtifactSource" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ArtifactSource" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/ArtifactSource" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "ArtifactSources" ], - "description": "Delete artifact source.", - "operationId": "ArtifactSources_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "ArtifactSources" ], - "description": "Modify properties of artifact sources.", - "operationId": "ArtifactSources_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the artifact source.", - "required": true, - "type": "string" - }, - { - "name": "artifactSource", - "in": "body", - "description": "Properties of an artifact source.", - "required": true, - "schema": { "$ref": "#/definitions/ArtifactSourceFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ArtifactSource" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}": { - "get": { - "tags": [ "Costs" ], - "description": "Get cost.", - "operationId": "Costs_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the cost.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=labCostDetails)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/LabCost" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Costs" ], - "description": "Create or replace an existing cost.", - "operationId": "Costs_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the cost.", - "required": true, - "type": "string" - }, - { - "name": "labCost", - "in": "body", - "description": "A cost item.", - "required": true, - "schema": { "$ref": "#/definitions/LabCost" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/LabCost" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/LabCost" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages": { - "get": { - "tags": [ "CustomImages" ], - "description": "List custom images in a given lab.", - "operationId": "CustomImages_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=vm)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[CustomImage]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/CustomImage" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}": { - "get": { - "tags": [ "CustomImages" ], - "description": "Get custom image.", - "operationId": "CustomImages_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the custom image.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=vm)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/CustomImage" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "CustomImages" ], - "description": "Create or replace an existing custom image. This operation can take a while to complete.", - "operationId": "CustomImages_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the custom image.", - "required": true, - "type": "string" - }, - { - "name": "customImage", - "in": "body", - "description": "A custom image.", - "required": true, - "schema": { "$ref": "#/definitions/CustomImage" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/CustomImage" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/CustomImage" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "CustomImages" ], - "description": "Delete custom image. This operation can take a while to complete.", - "operationId": "CustomImages_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the custom image.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas": { - "get": { - "tags": [ "Formulas" ], - "description": "List formulas in a given lab.", - "operationId": "Formulas_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=description)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Formula]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Formula" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}": { - "get": { - "tags": [ "Formulas" ], - "description": "Get formula.", - "operationId": "Formulas_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the formula.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=description)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Formula" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Formulas" ], - "description": "Create or replace an existing Formula. This operation can take a while to complete.", - "operationId": "Formulas_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the formula.", - "required": true, - "type": "string" - }, - { - "name": "formula", - "in": "body", - "description": "A formula for creating a VM, specifying an image base and other parameters", - "required": true, - "schema": { "$ref": "#/definitions/Formula" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Formula" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Formula" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "Formulas" ], - "description": "Delete formula.", - "operationId": "Formulas_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the formula.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages": { - "get": { - "tags": [ "GalleryImages" ], - "description": "List gallery images in a given lab.", - "operationId": "GalleryImages_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=author)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[GalleryImage]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/GalleryImage" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels": { - "get": { - "tags": [ "NotificationChannels" ], - "description": "List notificationchannels in a given lab.", - "operationId": "NotificationChannels_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=webHookUrl)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[NotificationChannel]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/NotificationChannel" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}": { - "get": { - "tags": [ "NotificationChannels" ], - "description": "Get notificationchannel.", - "operationId": "NotificationChannels_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the notificationChannel.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=webHookUrl)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/NotificationChannel" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "NotificationChannels" ], - "description": "Create or replace an existing notificationChannel.", - "operationId": "NotificationChannels_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the notificationChannel.", - "required": true, - "type": "string" - }, - { - "name": "notificationChannel", - "in": "body", - "description": "A notification.", - "required": true, - "schema": { "$ref": "#/definitions/NotificationChannel" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/NotificationChannel" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/NotificationChannel" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "NotificationChannels" ], - "description": "Delete notificationchannel.", - "operationId": "NotificationChannels_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the notificationChannel.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "NotificationChannels" ], - "description": "Modify properties of notificationchannels.", - "operationId": "NotificationChannels_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the notificationChannel.", - "required": true, - "type": "string" - }, - { - "name": "notificationChannel", - "in": "body", - "description": "A notification.", - "required": true, - "schema": { "$ref": "#/definitions/NotificationChannelFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/NotificationChannel" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify": { - "post": { - "tags": [ "NotificationChannels" ], - "description": "Send notification to provided channel.", - "operationId": "NotificationChannels_Notify", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the notificationChannel.", - "required": true, - "type": "string" - }, - { - "name": "notifyParameters", - "in": "body", - "description": "Properties for generating a Notification.", - "required": true, - "schema": { "$ref": "#/definitions/NotifyParameters" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies": { - "post": { - "tags": [ "PolicySets" ], - "description": "Evaluates lab policy.", - "operationId": "PolicySets_EvaluatePolicies", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "evaluatePoliciesRequest", - "in": "body", - "description": "Request body for evaluating a policy set.", - "required": true, - "schema": { "$ref": "#/definitions/EvaluatePoliciesRequest" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/EvaluatePoliciesResponse" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies": { - "get": { - "tags": [ "Policies" ], - "description": "List policies in a given policy set.", - "operationId": "Policies_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "policySetName", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=description)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Policy]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Policy" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}": { - "get": { - "tags": [ "Policies" ], - "description": "Get policy.", - "operationId": "Policies_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "policySetName", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the policy.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=description)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Policy" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Policies" ], - "description": "Create or replace an existing policy.", - "operationId": "Policies_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "policySetName", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the policy.", - "required": true, - "type": "string" - }, - { - "name": "policy", - "in": "body", - "description": "A Policy.", - "required": true, - "schema": { "$ref": "#/definitions/Policy" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Policy" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Policy" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "Policies" ], - "description": "Delete policy.", - "operationId": "Policies_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "policySetName", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the policy.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "Policies" ], - "description": "Modify properties of policies.", - "operationId": "Policies_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "policySetName", - "in": "path", - "description": "The name of the policy set.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the policy.", - "required": true, - "type": "string" - }, - { - "name": "policy", - "in": "body", - "description": "A Policy.", - "required": true, - "schema": { "$ref": "#/definitions/PolicyFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Policy" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules": { - "get": { - "tags": [ "Schedules" ], - "description": "List schedules in a given lab.", - "operationId": "Schedules_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Schedule]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Schedule" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}": { - "get": { - "tags": [ "Schedules" ], - "description": "Get schedule.", - "operationId": "Schedules_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Schedules" ], - "description": "Create or replace an existing schedule.", - "operationId": "Schedules_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/Schedule" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "Schedules" ], - "description": "Delete schedule.", - "operationId": "Schedules_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "Schedules" ], - "description": "Modify properties of schedules.", - "operationId": "Schedules_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/ScheduleFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute": { - "post": { - "tags": [ "Schedules" ], - "description": "Execute a schedule. This operation can take a while to complete.", - "operationId": "Schedules_Execute", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable": { - "post": { - "tags": [ "Schedules" ], - "description": "Lists all applicable schedules", - "operationId": "Schedules_ListApplicable", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Schedule]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners": { - "get": { - "tags": [ "ServiceRunners" ], - "description": "List service runners in a given lab.", - "operationId": "ServiceRunners_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[ServiceRunner]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/ServiceRunner" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}": { - "get": { - "tags": [ "ServiceRunners" ], - "description": "Get service runner.", - "operationId": "ServiceRunners_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the service runner.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ServiceRunner" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "ServiceRunners" ], - "description": "Create or replace an existing Service runner.", - "operationId": "ServiceRunners_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the service runner.", - "required": true, - "type": "string" - }, - { - "name": "serviceRunner", - "in": "body", - "description": "A container for a managed identity to execute DevTest lab services.", - "required": true, - "schema": { "$ref": "#/definitions/ServiceRunner" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ServiceRunner" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/ServiceRunner" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "ServiceRunners" ], - "description": "Delete service runner.", - "operationId": "ServiceRunners_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the service runner.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users": { - "get": { - "tags": [ "Users" ], - "description": "List user profiles in a given lab.", - "operationId": "Users_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=identity)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[User]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/User" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}": { - "get": { - "tags": [ "Users" ], - "description": "Get user profile.", - "operationId": "Users_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=identity)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/User" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Users" ], - "description": "Create or replace an existing user profile.", - "operationId": "Users_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "user", - "in": "body", - "description": "Profile of a lab user.", - "required": true, - "schema": { "$ref": "#/definitions/User" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/User" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/User" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "Users" ], - "description": "Delete user profile. This operation can take a while to complete.", - "operationId": "Users_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ "Users" ], - "description": "Modify properties of user profiles.", - "operationId": "Users_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "user", - "in": "body", - "description": "Profile of a lab user.", - "required": true, - "schema": { "$ref": "#/definitions/UserFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/User" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks": { - "get": { - "tags": [ "Disks" ], - "description": "List disks in a given user profile.", - "operationId": "Disks_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=diskType)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Disk]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Disk" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}": { - "get": { - "tags": [ "Disks" ], - "description": "Get disk.", - "operationId": "Disks_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the disk.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=diskType)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Disk" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Disks" ], - "description": "Create or replace an existing disk. This operation can take a while to complete.", - "operationId": "Disks_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the disk.", - "required": true, - "type": "string" - }, - { - "name": "disk", - "in": "body", - "description": "A Disk.", - "required": true, - "schema": { "$ref": "#/definitions/Disk" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Disk" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Disk" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "Disks" ], - "description": "Delete disk. This operation can take a while to complete.", - "operationId": "Disks_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the disk.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach": { - "post": { - "tags": [ "Disks" ], - "description": "Attach and create the lease of the disk to the virtual machine. This operation can take a while to complete.", - "operationId": "Disks_Attach", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the disk.", - "required": true, - "type": "string" - }, - { - "name": "attachDiskProperties", - "in": "body", - "description": "Properties of the disk to attach.", - "required": true, - "schema": { "$ref": "#/definitions/AttachDiskProperties" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach": { - "post": { - "tags": [ "Disks" ], - "description": "Detach and break the lease of the disk attached to the virtual machine. This operation can take a while to complete.", - "operationId": "Disks_Detach", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the disk.", - "required": true, - "type": "string" - }, - { - "name": "detachDiskProperties", - "in": "body", - "description": "Properties of the disk to detach.", - "required": true, - "schema": { "$ref": "#/definitions/DetachDiskProperties" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments": { - "get": { - "tags": [ "Environments" ], - "description": "List environments in a given user profile.", - "operationId": "Environments_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[DtlEnvironment]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/DtlEnvironment" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}": { - "get": { - "tags": [ "Environments" ], - "description": "Get environment.", - "operationId": "Environments_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/DtlEnvironment" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Environments" ], - "description": "Create or replace an existing environment. This operation can take a while to complete.", - "operationId": "Environments_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { - "name": "dtlEnvironment", - "in": "body", - "description": "An environment, which is essentially an ARM template deployment.", - "required": true, - "schema": { "$ref": "#/definitions/DtlEnvironment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/DtlEnvironment" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/DtlEnvironment" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "Environments" ], - "description": "Delete environment. This operation can take a while to complete.", - "operationId": "Environments_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the environment.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets": { - "get": { - "tags": [ "Secrets" ], - "description": "List secrets in a given user profile.", - "operationId": "Secrets_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=value)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Secret]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Secret" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}": { - "get": { - "tags": [ "Secrets" ], - "description": "Get secret.", - "operationId": "Secrets_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the secret.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=value)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Secret" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Secrets" ], - "description": "Create or replace an existing secret.", - "operationId": "Secrets_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the secret.", - "required": true, - "type": "string" - }, - { - "name": "secret", - "in": "body", - "description": "A secret.", - "required": true, - "schema": { "$ref": "#/definitions/Secret" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Secret" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Secret" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "Secrets" ], - "description": "Delete secret.", - "operationId": "Secrets_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "userName", - "in": "path", - "description": "The name of the user profile.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the secret.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines": { - "get": { - "tags": [ "VirtualMachines" ], - "description": "List virtual machines in a given lab.", - "operationId": "VirtualMachines_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[LabVirtualMachine]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/LabVirtualMachine" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}": { - "get": { - "tags": [ "VirtualMachines" ], - "description": "Get virtual machine.", - "operationId": "VirtualMachines_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/LabVirtualMachine" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "VirtualMachines" ], - "description": "Create or replace an existing Virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "labVirtualMachine", - "in": "body", - "description": "A virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/LabVirtualMachine" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/LabVirtualMachine" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/LabVirtualMachine" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "VirtualMachines" ], - "description": "Delete virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ "VirtualMachines" ], - "description": "Modify properties of virtual machines.", - "operationId": "VirtualMachines_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "labVirtualMachine", - "in": "body", - "description": "A virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/LabVirtualMachineFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/LabVirtualMachine" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Attach a new or existing data disk to virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_AddDataDisk", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "dataDiskProperties", - "in": "body", - "description": "Request body for adding a new or existing data disk to a virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/DataDiskProperties" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Apply artifacts to virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_ApplyArtifacts", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "applyArtifactsRequest", - "in": "body", - "description": "Request body for applying artifacts to a virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/ApplyArtifactsRequest" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Take ownership of an existing virtual machine This operation can take a while to complete.", - "operationId": "VirtualMachines_Claim", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Detach the specified disk from the virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_DetachDataDisk", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "detachDataDiskProperties", - "in": "body", - "description": "Request body for detaching data disk from a virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/DetachDataDiskProperties" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Lists all applicable schedules", - "operationId": "VirtualMachines_ListApplicableSchedules", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ApplicableSchedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Start a virtual machine. This operation can take a while to complete.", - "operationId": "VirtualMachines_Start", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop": { - "post": { - "tags": [ "VirtualMachines" ], - "description": "Stop a virtual machine This operation can take a while to complete.", - "operationId": "VirtualMachines_Stop", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules": { - "get": { - "tags": [ "VirtualMachineSchedules" ], - "description": "List schedules in a given virtual machine.", - "operationId": "VirtualMachineSchedules_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Schedule]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Schedule" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}": { - "get": { - "tags": [ "VirtualMachineSchedules" ], - "description": "Get schedule.", - "operationId": "VirtualMachineSchedules_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "VirtualMachineSchedules" ], - "description": "Create or replace an existing schedule.", - "operationId": "VirtualMachineSchedules_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/Schedule" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "VirtualMachineSchedules" ], - "description": "Delete schedule.", - "operationId": "VirtualMachineSchedules_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "VirtualMachineSchedules" ], - "description": "Modify properties of schedules.", - "operationId": "VirtualMachineSchedules_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/ScheduleFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute": { - "post": { - "tags": [ "VirtualMachineSchedules" ], - "description": "Execute a schedule. This operation can take a while to complete.", - "operationId": "VirtualMachineSchedules_Execute", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "virtualMachineName", - "in": "path", - "description": "The name of the virtual machine.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks": { - "get": { - "tags": [ "VirtualNetworks" ], - "description": "List virtual networks in a given lab.", - "operationId": "VirtualNetworks_List", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[VirtualNetwork]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/VirtualNetwork" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}": { - "get": { - "tags": [ "VirtualNetworks" ], - "description": "Get virtual network.", - "operationId": "VirtualNetworks_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual network.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/VirtualNetwork" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "VirtualNetworks" ], - "description": "Create or replace an existing virtual network. This operation can take a while to complete.", - "operationId": "VirtualNetworks_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual network.", - "required": true, - "type": "string" - }, - { - "name": "virtualNetwork", - "in": "body", - "description": "A virtual network.", - "required": true, - "schema": { "$ref": "#/definitions/VirtualNetwork" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/VirtualNetwork" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/VirtualNetwork" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "VirtualNetworks" ], - "description": "Delete virtual network. This operation can take a while to complete.", - "operationId": "VirtualNetworks_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual network.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ "VirtualNetworks" ], - "description": "Modify properties of virtual networks.", - "operationId": "VirtualNetworks_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "labName", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "The name of the virtual network.", - "required": true, - "type": "string" - }, - { - "name": "virtualNetwork", - "in": "body", - "description": "A virtual network.", - "required": true, - "schema": { "$ref": "#/definitions/VirtualNetworkFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/VirtualNetwork" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}": { - "get": { - "tags": [ "Labs" ], - "description": "Get lab.", - "operationId": "Labs_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Lab" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "Labs" ], - "description": "Create or replace an existing lab. This operation can take a while to complete.", - "operationId": "Labs_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "lab", - "in": "body", - "description": "A lab.", - "required": true, - "schema": { "$ref": "#/definitions/Lab" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Lab" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Lab" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ "Labs" ], - "description": "Delete lab. This operation can take a while to complete.", - "operationId": "Labs_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "202": { "description": "Accepted" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ "Labs" ], - "description": "Modify properties of labs.", - "operationId": "Labs_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "lab", - "in": "body", - "description": "A lab.", - "required": true, - "schema": { "$ref": "#/definitions/LabFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Lab" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm": { - "post": { - "tags": [ "Labs" ], - "description": "Claim a random claimable virtual machine in the lab. This operation can take a while to complete.", - "operationId": "Labs_ClaimAnyVm", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment": { - "post": { - "tags": [ "Labs" ], - "description": "Create virtual machines in a lab. This operation can take a while to complete.", - "operationId": "Labs_CreateEnvironment", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "labVirtualMachineCreationParameter", - "in": "body", - "description": "Properties for creating a virtual machine.", - "required": true, - "schema": { "$ref": "#/definitions/LabVirtualMachineCreationParameter" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage": { - "post": { - "tags": [ "Labs" ], - "description": "Exports the lab resource usage into a storage account This operation can take a while to complete.", - "operationId": "Labs_ExportResourceUsage", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "exportResourceUsageParameters", - "in": "body", - "description": "The parameters of the export operation.", - "required": true, - "schema": { "$ref": "#/definitions/ExportResourceUsageParameters" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri": { - "post": { - "tags": [ "Labs" ], - "description": "Generate a URI for uploading custom disk images to a Lab.", - "operationId": "Labs_GenerateUploadUri", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { - "name": "generateUploadUriParameter", - "in": "body", - "description": "Properties for generating an upload URI.", - "required": true, - "schema": { "$ref": "#/definitions/GenerateUploadUriParameter" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/GenerateUploadUriResponse" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds": { - "post": { - "tags": [ "Labs" ], - "description": "List disk images available for custom image creation.", - "operationId": "Labs_ListVhds", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the lab.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[LabVhd]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules": { - "get": { - "tags": [ "GlobalSchedules" ], - "description": "List schedules in a resource group.", - "operationId": "GlobalSchedules_ListByResourceGroup", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "The filter to apply to the operation.", - "required": false, - "type": "string" - }, - { - "name": "$top", - "in": "query", - "description": "The maximum number of resources to return from the operation.", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$orderby", - "in": "query", - "description": "The ordering expression for the results, using OData notation.", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/ResponseWithContinuation[Schedule]" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/Schedule" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}": { - "get": { - "tags": [ "GlobalSchedules" ], - "description": "Get schedule.", - "operationId": "GlobalSchedules_Get", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "$expand", - "in": "query", - "description": "Specify the $expand query. Example: 'properties($select=status)'", - "required": false, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "put": { - "tags": [ "GlobalSchedules" ], - "description": "Create or replace an existing schedule.", - "operationId": "GlobalSchedules_CreateOrUpdate", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/Schedule" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "201": { - "description": "Created", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "delete": { - "tags": [ "GlobalSchedules" ], - "description": "Delete schedule.", - "operationId": "GlobalSchedules_Delete", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "204": { "description": "No Content" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - }, - "patch": { - "tags": [ "GlobalSchedules" ], - "description": "Modify properties of schedules.", - "operationId": "GlobalSchedules_Update", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "schedule", - "in": "body", - "description": "A schedule.", - "required": true, - "schema": { "$ref": "#/definitions/ScheduleFragment" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { - "description": "OK", - "schema": { "$ref": "#/definitions/Schedule" } - }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute": { - "post": { - "tags": [ "GlobalSchedules" ], - "description": "Execute a schedule. This operation can take a while to complete.", - "operationId": "GlobalSchedules_Execute", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget": { - "post": { - "tags": [ "GlobalSchedules" ], - "description": "Updates a schedule's target resource Id. This operation can take a while to complete.", - "operationId": "GlobalSchedules_Retarget", - "parameters": [ - { "$ref": "#/parameters/subscriptionId" }, - { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "name", - "in": "path", - "description": "The name of the schedule.", - "required": true, - "type": "string" - }, - { - "name": "retargetScheduleProperties", - "in": "body", - "description": "Properties for retargeting a virtual machine schedule.", - "required": true, - "schema": { "$ref": "#/definitions/RetargetScheduleProperties" } - }, - { "$ref": "#/parameters/api-version" } - ], - "responses": { - "200": { "description": "OK" }, - "202": { "description": "Accepted" }, - "default": { - "description": "BadRequest", - "schema": { "$ref": "#/definitions/CloudError" } - } - }, - "security": [ { "oauth2": [ "user_impersonation" ] } ], - "x-ms-long-running-operation": true - } - } - }, - "definitions": { - "ApplicableSchedule": { - "description": "Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ApplicableScheduleProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ApplicableScheduleFragment": { - "description": "Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ApplicableSchedulePropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ApplicableScheduleProperties": { - "description": "Properties of a schedules applicable to a virtual machine.", - "type": "object", - "properties": { - "labVmsShutdown": { - "$ref": "#/definitions/Schedule", - "description": "The auto-shutdown schedule, if one has been set at the lab or lab resource level." - }, - "labVmsStartup": { - "$ref": "#/definitions/Schedule", - "description": "The auto-startup schedule, if one has been set at the lab or lab resource level." - } - } - }, - "ApplicableSchedulePropertiesFragment": { - "description": "Properties of a schedules applicable to a virtual machine.", - "type": "object", - "properties": { - "labVmsShutdown": { - "$ref": "#/definitions/ScheduleFragment", - "description": "The auto-shutdown schedule, if one has been set at the lab or lab resource level." - }, - "labVmsStartup": { - "$ref": "#/definitions/ScheduleFragment", - "description": "The auto-startup schedule, if one has been set at the lab or lab resource level." - } - } - }, - "ApplyArtifactsRequest": { - "description": "Request body for applying artifacts to a virtual machine.", - "type": "object", - "properties": { - "artifacts": { - "description": "The list of artifacts to apply.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactInstallProperties" } - } - } - }, - "ArmTemplate": { - "description": "An Azure Resource Manager template.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ArmTemplateProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ArmTemplateInfo": { - "description": "Information about a generated ARM template.", - "type": "object", - "properties": { - "template": { - "description": "The template's contents.", - "type": "object" - }, - "parameters": { - "description": "The parameters of the ARM template.", - "type": "object" - } - } - }, - "ArmTemplateParameterProperties": { - "description": "Properties of an Azure Resource Manager template parameter.", - "type": "object", - "properties": { - "name": { - "description": "The name of the template parameter.", - "type": "string" - }, - "value": { - "description": "The value of the template parameter.", - "type": "string" - } - } - }, - "ArmTemplateProperties": { - "description": "Properties of an Azure Resource Manager template.", - "type": "object", - "properties": { - "displayName": { - "description": "The display name of the ARM template.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The description of the ARM template.", - "type": "string", - "readOnly": true - }, - "publisher": { - "description": "The publisher of the ARM template.", - "type": "string", - "readOnly": true - }, - "icon": { - "description": "The URI to the icon of the ARM template.", - "type": "string", - "readOnly": true - }, - "contents": { - "description": "The contents of the ARM template.", - "type": "object", - "readOnly": true - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the armTemplate.", - "type": "string", - "readOnly": true - }, - "parametersValueFilesInfo": { - "description": "File name and parameter values information from all azuredeploy.*.parameters.json for the ARM template.", - "type": "array", - "items": { "$ref": "#/definitions/ParametersValueFileInfo" }, - "readOnly": true - } - } - }, - "Artifact": { - "description": "An artifact.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ArtifactProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ArtifactDeploymentStatusProperties": { - "description": "Properties of an artifact deployment.", - "type": "object", - "properties": { - "deploymentStatus": { - "description": "The deployment status of the artifact.", - "type": "string" - }, - "artifactsApplied": { - "format": "int32", - "description": "The total count of the artifacts that were successfully applied.", - "type": "integer" - }, - "totalArtifacts": { - "format": "int32", - "description": "The total count of the artifacts that were tentatively applied.", - "type": "integer" - } - } - }, - "ArtifactDeploymentStatusPropertiesFragment": { - "description": "Properties of an artifact deployment.", - "type": "object", - "properties": { - "deploymentStatus": { - "description": "The deployment status of the artifact.", - "type": "string" - }, - "artifactsApplied": { - "format": "int32", - "description": "The total count of the artifacts that were successfully applied.", - "type": "integer" - }, - "totalArtifacts": { - "format": "int32", - "description": "The total count of the artifacts that were tentatively applied.", - "type": "integer" - } - } - }, - "ArtifactInstallProperties": { - "description": "Properties of an artifact.", - "type": "object", - "properties": { - "artifactId": { - "description": "The artifact's identifier.", - "type": "string" - }, - "parameters": { - "description": "The parameters of the artifact.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactParameterProperties" } - }, - "status": { - "description": "The status of the artifact.", - "type": "string" - }, - "deploymentStatusMessage": { - "description": "The status message from the deployment.", - "type": "string" - }, - "vmExtensionStatusMessage": { - "description": "The status message from the virtual machine extension.", - "type": "string" - }, - "installTime": { - "format": "date-time", - "description": "The time that the artifact starts to install on the virtual machine.", - "type": "string" - } - } - }, - "ArtifactInstallPropertiesFragment": { - "description": "Properties of an artifact.", - "type": "object", - "properties": { - "artifactId": { - "description": "The artifact's identifier.", - "type": "string" - }, - "parameters": { - "description": "The parameters of the artifact.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactParameterPropertiesFragment" } - }, - "status": { - "description": "The status of the artifact.", - "type": "string" - }, - "deploymentStatusMessage": { - "description": "The status message from the deployment.", - "type": "string" - }, - "vmExtensionStatusMessage": { - "description": "The status message from the virtual machine extension.", - "type": "string" - }, - "installTime": { - "format": "date-time", - "description": "The time that the artifact starts to install on the virtual machine.", - "type": "string" - } - } - }, - "ArtifactParameterProperties": { - "description": "Properties of an artifact parameter.", - "type": "object", - "properties": { - "name": { - "description": "The name of the artifact parameter.", - "type": "string" - }, - "value": { - "description": "The value of the artifact parameter.", - "type": "string" - } - } - }, - "ArtifactParameterPropertiesFragment": { - "description": "Properties of an artifact parameter.", - "type": "object", - "properties": { - "name": { - "description": "The name of the artifact parameter.", - "type": "string" - }, - "value": { - "description": "The value of the artifact parameter.", - "type": "string" - } - } - }, - "ArtifactProperties": { - "description": "Properties of an artifact.", - "type": "object", - "properties": { - "title": { - "description": "The artifact's title.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The artifact's description.", - "type": "string", - "readOnly": true - }, - "publisher": { - "description": "The artifact's publisher.", - "type": "string", - "readOnly": true - }, - "filePath": { - "description": "The file path to the artifact.", - "type": "string", - "readOnly": true - }, - "icon": { - "description": "The URI to the artifact icon.", - "type": "string", - "readOnly": true - }, - "targetOsType": { - "description": "The artifact's target OS.", - "type": "string", - "readOnly": true - }, - "parameters": { - "description": "The artifact's parameters.", - "type": "object", - "readOnly": true - }, - "createdDate": { - "format": "date-time", - "description": "The artifact's creation date.", - "type": "string", - "readOnly": true - } - } - }, - "ArtifactSource": { - "description": "Properties of an artifact source.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ArtifactSourceProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ArtifactSourceFragment": { - "description": "Properties of an artifact source.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ArtifactSourcePropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ArtifactSourceProperties": { + "swagger": "2.0", + "info": { + "version": "2018-09-15", + "title": "DevTestLabsClient", + "description": "The DevTest Labs Client." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.DevTestLab/operations": { + "get": { + "tags": [ + "ProviderOperations" + ], + "description": "Result of the request to list REST API operations", + "operationId": "ProviderOperations_List", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ProviderOperationResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ProviderOperations_List": { + "$ref": "./examples/ProviderOperations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/labs": { + "get": { + "tags": [ + "Labs" + ], + "description": "List labs in a subscription.", + "operationId": "Labs_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Lab", + "x-ms-examples": { + "Labs_ListBySubscription": { + "$ref": "./examples/Labs_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/locations/{locationName}/operations/{name}": { + "get": { + "tags": [ + "Operations" + ], + "description": "Get operation.", + "operationId": "Operations_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/locationName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the operation.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/OperationResult" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Operations_Get": { + "$ref": "./examples/Operations_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevTestLab/schedules": { + "get": { + "tags": [ + "GlobalSchedules" + ], + "description": "List schedules in a subscription.", + "operationId": "GlobalSchedules_ListBySubscription", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Schedule", + "x-ms-examples": { + "GlobalSchedules_ListBySubscription": { + "$ref": "./examples/GlobalSchedules_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs": { + "get": { + "tags": [ + "Labs" + ], + "description": "List labs in a resource group.", + "operationId": "Labs_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Lab", + "x-ms-examples": { + "Labs_ListByResourceGroup": { + "$ref": "./examples/Labs_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources": { + "get": { + "tags": [ + "ArtifactSources" + ], + "description": "List artifact sources in a given lab.", + "operationId": "ArtifactSources_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=displayName)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArtifactSourceList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ArtifactSource", + "x-ms-examples": { + "ArtifactSources_List": { + "$ref": "./examples/ArtifactSources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates": { + "get": { + "tags": [ + "ArmTemplates" + ], + "description": "List azure resource manager templates in a given artifact source.", + "operationId": "ArmTemplates_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "artifactSourceName", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=displayName)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArmTemplateList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ArmTemplate", + "x-ms-examples": { + "ArmTemplates_List": { + "$ref": "./examples/ArmTemplates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/armtemplates/{name}": { + "get": { + "tags": [ + "ArmTemplates" + ], + "description": "Get azure resource manager template.", + "operationId": "ArmTemplates_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "artifactSourceName", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the azure resource manager template.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=displayName)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArmTemplate" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ArmTemplates_Get": { + "$ref": "./examples/ArmTemplates_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts": { + "get": { + "tags": [ + "Artifacts" + ], + "description": "List artifacts in a given artifact source.", + "operationId": "Artifacts_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "artifactSourceName", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=title)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArtifactList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Artifact", + "x-ms-examples": { + "Artifacts_List": { + "$ref": "./examples/Artifacts_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}": { + "get": { + "tags": [ + "Artifacts" + ], + "description": "Get artifact.", + "operationId": "Artifacts_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "artifactSourceName", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=title)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Artifact" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Artifacts_Get": { + "$ref": "./examples/Artifacts_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{artifactSourceName}/artifacts/{name}/generateArmTemplate": { + "post": { + "tags": [ + "Artifacts" + ], + "description": "Generates an ARM template for the given artifact, uploads the required files to a storage account, and validates the generated artifact.", + "operationId": "Artifacts_GenerateArmTemplate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "artifactSourceName", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact.", + "required": true, + "type": "string" + }, + { + "name": "generateArmTemplateRequest", + "in": "body", + "description": "Parameters for generating an ARM template for deploying artifacts.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateArmTemplateRequest" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArmTemplateInfo" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Artifacts_GenerateArmTemplate": { + "$ref": "./examples/Artifacts_GenerateArmTemplate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/artifactsources/{name}": { + "get": { + "tags": [ + "ArtifactSources" + ], + "description": "Get artifact source.", + "operationId": "ArtifactSources_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=displayName)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArtifactSource" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ArtifactSources_Get": { + "$ref": "./examples/ArtifactSources_Get.json" + } + } + }, + "put": { + "tags": [ + "ArtifactSources" + ], + "description": "Create or replace an existing artifact source.", + "operationId": "ArtifactSources_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "artifactSource", + "in": "body", "description": "Properties of an artifact source.", - "type": "object", - "properties": { - "displayName": { - "description": "The artifact source's display name.", - "type": "string" - }, - "uri": { - "description": "The artifact source's URI.", - "type": "string" - }, - "sourceType": { - "description": "The artifact source's type.", - "enum": [ "VsoGit", "GitHub" ], - "type": "string", - "x-ms-enum": { - "name": "SourceControlType", - "modelAsString": true - } - }, - "folderPath": { - "description": "The folder containing artifacts.", - "type": "string" - }, - "armTemplateFolderPath": { - "description": "The folder containing Azure Resource Manager templates.", - "type": "string" - }, - "branchRef": { - "description": "The artifact source's branch reference.", - "type": "string" - }, - "securityToken": { - "description": "The security token to authenticate to the artifact source.", - "type": "string" - }, - "status": { - "description": "Indicates if the artifact source is enabled (values: Enabled, Disabled).", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "EnableStatus", - "modelAsString": true - } - }, - "createdDate": { - "format": "date-time", - "description": "The artifact source's creation date.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "ArtifactSourcePropertiesFragment": { + "required": true, + "schema": { + "$ref": "#/definitions/ArtifactSource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArtifactSource" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ArtifactSource" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ArtifactSources_CreateOrUpdate": { + "$ref": "./examples/ArtifactSources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ArtifactSources" + ], + "description": "Delete artifact source.", + "operationId": "ArtifactSources_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ArtifactSources_Delete": { + "$ref": "./examples/ArtifactSources_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ArtifactSources" + ], + "description": "Allows modifying tags of artifact sources. All other properties will be ignored.", + "operationId": "ArtifactSources_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the artifact source.", + "required": true, + "type": "string" + }, + { + "name": "artifactSource", + "in": "body", "description": "Properties of an artifact source.", - "type": "object", - "properties": { - "displayName": { - "description": "The artifact source's display name.", - "type": "string" - }, - "uri": { - "description": "The artifact source's URI.", - "type": "string" - }, - "sourceType": { - "description": "The artifact source's type.", - "enum": [ "VsoGit", "GitHub" ], - "type": "string", - "x-ms-enum": { - "name": "SourceControlType", - "modelAsString": true - } - }, - "folderPath": { - "description": "The folder containing artifacts.", - "type": "string" - }, - "armTemplateFolderPath": { - "description": "The folder containing Azure Resource Manager templates.", - "type": "string" - }, - "branchRef": { - "description": "The artifact source's branch reference.", - "type": "string" - }, - "securityToken": { - "description": "The security token to authenticate to the artifact source.", - "type": "string" - }, - "status": { - "description": "Indicates if the artifact source is enabled (values: Enabled, Disabled).", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "EnableStatus", - "modelAsString": true - } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "AttachDiskProperties": { - "description": "Properties of the disk to attach.", - "type": "object", - "properties": { - "leasedByLabVmId": { - "description": "The resource ID of the Lab virtual machine to which the disk is attached.", - "type": "string" - } - } - }, - "AttachNewDataDiskOptions": { - "description": "Properties to attach new disk to the Virtual Machine.", - "type": "object", - "properties": { - "diskSizeGiB": { - "format": "int32", - "description": "Size of the disk to be attached in GibiBytes.", - "type": "integer" - }, - "diskName": { - "description": "The name of the disk to be attached.", - "type": "string" - }, - "diskType": { - "description": "The storage type for the disk (i.e. Standard, Premium).", - "enum": [ "Standard", "Premium" ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - } - } - }, - "BulkCreationParameters": { - "description": "Parameters for creating multiple virtual machines as a single action.", - "type": "object", - "properties": { - "instanceCount": { - "format": "int32", - "description": "The number of virtual machine instances to create.", - "type": "integer" - } - } - }, - "CloudError": { - "description": "Error from a REST request.", - "type": "object", - "properties": { "error": { "$ref": "#/definitions/CloudErrorBody" } }, - "x-ms-external": true - }, - "CloudErrorBody": { - "description": "Body of an error from a REST request.", - "type": "object", - "properties": { - "code": { "type": "string" }, - "message": { "type": "string" }, - "target": { "type": "string" }, - "details": { - "description": "Inner errors.", - "type": "array", - "items": { "$ref": "#/definitions/CloudErrorBody" } - } - }, - "x-ms-external": true - }, - "ComputeDataDisk": { - "description": "A data disks attached to a virtual machine.", - "type": "object", - "properties": { - "name": { - "description": "Gets data disk name.", - "type": "string" - }, - "diskUri": { - "description": "When backed by a blob, the URI of underlying blob.", - "type": "string" - }, - "managedDiskId": { - "description": "When backed by managed disk, this is the ID of the compute disk resource.", - "type": "string" - }, - "diskSizeGiB": { - "format": "int32", - "description": "Gets data disk size in GiB.", - "type": "integer" - } - } - }, - "ComputeDataDiskFragment": { - "description": "A data disks attached to a virtual machine.", - "type": "object", - "properties": { - "name": { - "description": "Gets data disk name.", - "type": "string" - }, - "diskUri": { - "description": "When backed by a blob, the URI of underlying blob.", - "type": "string" - }, - "managedDiskId": { - "description": "When backed by managed disk, this is the ID of the compute disk resource.", - "type": "string" - }, - "diskSizeGiB": { - "format": "int32", - "description": "Gets data disk size in GiB.", - "type": "integer" - } - } - }, - "ComputeVmInstanceViewStatus": { - "description": "Status information about a virtual machine.", - "type": "object", - "properties": { - "code": { - "description": "Gets the status Code.", - "type": "string" - }, - "displayStatus": { - "description": "Gets the short localizable label for the status.", - "type": "string" - }, - "message": { - "description": "Gets the message associated with the status.", - "type": "string" - } - } - }, - "ComputeVmInstanceViewStatusFragment": { - "description": "Status information about a virtual machine.", - "type": "object", - "properties": { - "code": { - "description": "Gets the status Code.", - "type": "string" - }, - "displayStatus": { - "description": "Gets the short localizable label for the status.", - "type": "string" - }, - "message": { - "description": "Gets the message associated with the status.", - "type": "string" - } - } - }, - "ComputeVmProperties": { - "description": "Properties of a virtual machine returned by the Microsoft.Compute API.", - "type": "object", - "properties": { - "statuses": { - "description": "Gets the statuses of the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ComputeVmInstanceViewStatus" } - }, - "osType": { - "description": "Gets the OS type of the virtual machine.", - "type": "string" - }, - "vmSize": { - "description": "Gets the size of the virtual machine.", - "type": "string" - }, - "networkInterfaceId": { - "description": "Gets the network interface ID of the virtual machine.", - "type": "string" - }, - "osDiskId": { - "description": "Gets OS disk blob uri for the virtual machine.", - "type": "string" - }, - "dataDiskIds": { - "description": "Gets data disks blob uri for the virtual machine.", - "type": "array", - "items": { "type": "string" } - }, - "dataDisks": { - "description": "Gets all data disks attached to the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ComputeDataDisk" } - } - } - }, - "ComputeVmPropertiesFragment": { - "description": "Properties of a virtual machine returned by the Microsoft.Compute API.", - "type": "object", - "properties": { - "statuses": { - "description": "Gets the statuses of the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ComputeVmInstanceViewStatusFragment" } - }, - "osType": { - "description": "Gets the OS type of the virtual machine.", - "type": "string" - }, - "vmSize": { - "description": "Gets the size of the virtual machine.", - "type": "string" - }, - "networkInterfaceId": { - "description": "Gets the network interface ID of the virtual machine.", - "type": "string" - }, - "osDiskId": { - "description": "Gets OS disk blob uri for the virtual machine.", - "type": "string" - }, - "dataDiskIds": { - "description": "Gets data disks blob uri for the virtual machine.", - "type": "array", - "items": { "type": "string" } - }, - "dataDisks": { - "description": "Gets all data disks attached to the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ComputeDataDiskFragment" } - } - } - }, - "CostThresholdProperties": { - "description": "Properties of a cost threshold item.", - "type": "object", - "properties": { - "thresholdId": { - "description": "The ID of the cost threshold item.", - "type": "string" - }, - "percentageThreshold": { - "$ref": "#/definitions/PercentageCostThresholdProperties", - "description": "The value of the percentage cost threshold." - }, - "displayOnChart": { - "description": "Indicates whether this threshold will be displayed on cost charts.", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "CostThresholdStatus", - "modelAsString": true - } - }, - "sendNotificationWhenExceeded": { - "description": "Indicates whether notifications will be sent when this threshold is exceeded.", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "CostThresholdStatus", - "modelAsString": true - } - }, - "NotificationSent": { - "description": "Indicates the datetime when notifications were last sent for this threshold.", - "type": "string" - } - } - }, - "CustomImage": { - "description": "A custom image.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/CustomImageProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "CustomImageProperties": { - "description": "Properties of a custom image.", - "type": "object", - "properties": { - "vm": { - "$ref": "#/definitions/CustomImagePropertiesFromVm", - "description": "The virtual machine from which the image is to be created." - }, - "vhd": { - "$ref": "#/definitions/CustomImagePropertiesCustom", - "description": "The VHD from which the image is to be created." - }, - "description": { - "description": "The description of the custom image.", - "type": "string" - }, - "author": { - "description": "The author of the custom image.", - "type": "string" - }, - "creationDate": { - "format": "date-time", - "description": "The creation date of the custom image.", - "type": "string", - "readOnly": true - }, - "managedImageId": { - "description": "The Managed Image Id backing the custom image.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "CustomImagePropertiesCustom": { - "description": "Properties for creating a custom image from a VHD.", - "required": [ "osType" ], - "type": "object", - "properties": { - "imageName": { - "description": "The image name.", - "type": "string" - }, - "sysPrep": { - "description": "Indicates whether sysprep has been run on the VHD.", - "type": "boolean" - }, - "osType": { - "description": "The OS type of the custom image (i.e. Windows, Linux)", - "enum": [ "Windows", "Linux", "None" ], - "type": "string", - "x-ms-enum": { - "name": "CustomImageOsType", - "modelAsString": true - } - } - } - }, - "CustomImagePropertiesFromVm": { - "description": "Properties for creating a custom image from a virtual machine.", - "type": "object", - "properties": { - "sourceVmId": { - "description": "The source vm identifier.", - "type": "string" - }, - "windowsOsInfo": { - "$ref": "#/definitions/WindowsOsInfo", - "description": "The Windows OS information of the VM." - }, - "linuxOsInfo": { - "$ref": "#/definitions/LinuxOsInfo", - "description": "The Linux OS information of the VM." - } - } - }, - "DataDiskProperties": { - "description": "Request body for adding a new or existing data disk to a virtual machine.", - "type": "object", - "properties": { - "attachNewDataDiskOptions": { - "$ref": "#/definitions/AttachNewDataDiskOptions", - "description": "Specifies options to attach a new disk to the virtual machine." - }, - "existingLabDiskId": { - "description": "Specifies the existing lab disk id to attach to virtual machine.", - "type": "string" - }, - "hostCaching": { - "description": "Caching option for a data disk (i.e. None, ReadOnly, ReadWrite).", - "enum": [ "None", "ReadOnly", "ReadWrite" ], - "type": "string", - "x-ms-enum": { - "name": "HostCachingOptions", - "modelAsString": true - } - } - } - }, - "DayDetails": { - "description": "Properties of a daily schedule.", - "type": "object", - "properties": { - "time": { - "description": "The time of day the schedule will occur.", - "type": "string" - } - } - }, - "DayDetailsFragment": { - "description": "Properties of a daily schedule.", - "type": "object", - "properties": { - "time": { - "description": "The time of day the schedule will occur.", - "type": "string" - } - } - }, - "DetachDataDiskProperties": { - "description": "Request body for detaching data disk from a virtual machine.", - "type": "object", - "properties": { - "existingLabDiskId": { - "description": "Specifies the disk resource ID to detach from virtual machine.", - "type": "string" - } - } - }, - "DetachDiskProperties": { - "description": "Properties of the disk to detach.", - "type": "object", - "properties": { - "leasedByLabVmId": { - "description": "The resource ID of the Lab VM to which the disk is attached.", - "type": "string" - } - } - }, - "Disk": { - "description": "A Disk.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/DiskProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "DiskProperties": { - "description": "Properties of a disk.", - "type": "object", - "properties": { - "diskType": { - "description": "The storage type for the disk (i.e. Standard, Premium).", - "enum": [ "Standard", "Premium" ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "diskSizeGiB": { - "format": "int32", - "description": "The size of the disk in GibiBytes.", - "type": "integer" - }, - "leasedByLabVmId": { - "description": "The resource ID of the VM to which this disk is leased.", - "type": "string" - }, - "diskBlobName": { - "description": "When backed by a blob, the name of the VHD blob without extension.", - "type": "string" - }, - "diskUri": { - "description": "When backed by a blob, the URI of underlying blob.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the disk.", - "type": "string", - "readOnly": true - }, - "hostCaching": { - "description": "The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).", - "type": "string" - }, - "managedDiskId": { - "description": "When backed by managed disk, this is the ID of the compute disk resource.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "DtlEnvironment": { - "description": "An environment, which is essentially an ARM template deployment.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/EnvironmentProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "EnvironmentDeploymentProperties": { - "description": "Properties of an environment deployment.", - "type": "object", - "properties": { - "armTemplateId": { - "description": "The Azure Resource Manager template's identifier.", - "type": "string" - }, - "parameters": { - "description": "The parameters of the Azure Resource Manager template.", - "type": "array", - "items": { "$ref": "#/definitions/ArmTemplateParameterProperties" } - } - } - }, - "EnvironmentProperties": { - "description": "Properties of an environment.", - "type": "object", - "properties": { - "deploymentProperties": { - "$ref": "#/definitions/EnvironmentDeploymentProperties", - "description": "The deployment properties of the environment." - }, - "armTemplateDisplayName": { - "description": "The display name of the Azure Resource Manager template that produced the environment.", - "type": "string" - }, - "resourceGroupId": { - "description": "The identifier of the resource group containing the environment's resources.", - "type": "string", - "readOnly": true - }, - "createdByUser": { - "description": "The creator of the environment.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "EvaluatePoliciesProperties": { - "description": "Properties for evaluating a policy set.", - "type": "object", - "properties": { - "factName": { - "description": "The fact name.", - "type": "string" - }, - "factData": { - "description": "The fact data.", - "type": "string" - }, - "valueOffset": { - "description": "The value offset.", - "type": "string" - } - } - }, - "EvaluatePoliciesRequest": { - "description": "Request body for evaluating a policy set.", - "type": "object", - "properties": { - "policies": { - "description": "Policies to evaluate.", - "type": "array", - "items": { "$ref": "#/definitions/EvaluatePoliciesProperties" } - } - } - }, - "EvaluatePoliciesResponse": { - "description": "Response body for evaluating a policy set.", - "type": "object", - "properties": { - "results": { - "description": "Results of evaluating a policy set.", - "type": "array", - "items": { "$ref": "#/definitions/PolicySetResult" } - } - } - }, - "Event": { - "description": "An event to be notified for.", - "type": "object", - "properties": { - "eventName": { - "description": "The event type for which this notification is enabled (i.e. AutoShutdown, Cost)", - "enum": [ "AutoShutdown", "Cost" ], - "type": "string", - "x-ms-enum": { - "name": "NotificationChannelEventType", - "modelAsString": true - } - } - } - }, - "EventFragment": { - "description": "An event to be notified for.", - "type": "object", - "properties": { - "eventName": { - "description": "The event type for which this notification is enabled (i.e. AutoShutdown, Cost)", - "enum": [ "AutoShutdown", "Cost" ], - "type": "string", - "x-ms-enum": { - "name": "NotificationChannelEventType", - "modelAsString": true - } - } - } - }, - "ExportResourceUsageParameters": { - "description": "The parameters of the export operation.", - "type": "object", - "properties": { - "blobStorageAbsoluteSasUri": { - "description": "The blob storage absolute sas uri with write permission to the container which the usage data needs to be uploaded to.", - "type": "string" - }, - "usageStartDate": { - "format": "date-time", - "description": "The start time of the usage. If not provided, usage will be reported since the beginning of data collection.", - "type": "string" - } - } - }, - "ExternalSubnet": { - "description": "Subnet information as returned by the Microsoft.Network API.", - "type": "object", - "properties": { - "id": { - "description": "Gets or sets the identifier.", - "type": "string" - }, - "name": { - "description": "Gets or sets the name.", - "type": "string" - } - } - }, - "ExternalSubnetFragment": { - "description": "Subnet information as returned by the Microsoft.Network API.", - "type": "object", - "properties": { - "id": { - "description": "Gets or sets the identifier.", - "type": "string" - }, - "name": { - "description": "Gets or sets the name.", - "type": "string" - } - } - }, - "Formula": { - "description": "A formula for creating a VM, specifying an image base and other parameters", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/FormulaProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "FormulaProperties": { - "description": "Properties of a formula.", - "type": "object", - "properties": { - "description": { - "description": "The description of the formula.", - "type": "string" - }, - "author": { - "description": "The author of the formula.", - "type": "string" - }, - "osType": { - "description": "The OS type of the formula.", - "type": "string" - }, - "creationDate": { - "format": "date-time", - "description": "The creation date of the formula.", - "type": "string", - "readOnly": true - }, - "formulaContent": { - "$ref": "#/definitions/LabVirtualMachineCreationParameter", - "description": "The content of the formula." - }, - "vm": { - "$ref": "#/definitions/FormulaPropertiesFromVm", - "description": "Information about a VM from which a formula is to be created." - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "FormulaPropertiesFromVm": { - "description": "Information about a VM from which a formula is to be created.", - "type": "object", - "properties": { - "labVmId": { - "description": "The identifier of the VM from which a formula is to be created.", - "type": "string" - } - } - }, - "GalleryImage": { - "description": "A gallery image.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/GalleryImageProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "GalleryImageProperties": { - "description": "Properties of a gallery image.", - "type": "object", - "properties": { - "author": { - "description": "The author of the gallery image.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the gallery image.", - "type": "string", - "readOnly": true - }, - "description": { - "description": "The description of the gallery image.", - "type": "string" - }, - "imageReference": { - "$ref": "#/definitions/GalleryImageReference", - "description": "The image reference of the gallery image." - }, - "icon": { - "description": "The icon of the gallery image.", - "type": "string" - }, - "enabled": { - "description": "Indicates whether this gallery image is enabled.", - "type": "boolean" - } - } - }, - "GalleryImageReference": { - "description": "The reference information for an Azure Marketplace image.", - "type": "object", - "properties": { - "offer": { - "description": "The offer of the gallery image.", - "type": "string" - }, - "publisher": { - "description": "The publisher of the gallery image.", - "type": "string" - }, - "sku": { - "description": "The SKU of the gallery image.", - "type": "string" - }, - "osType": { - "description": "The OS type of the gallery image.", - "type": "string" - }, - "version": { - "description": "The version of the gallery image.", - "type": "string" - } - } - }, - "GalleryImageReferenceFragment": { - "description": "The reference information for an Azure Marketplace image.", - "type": "object", - "properties": { - "offer": { - "description": "The offer of the gallery image.", - "type": "string" - }, - "publisher": { - "description": "The publisher of the gallery image.", - "type": "string" - }, - "sku": { - "description": "The SKU of the gallery image.", - "type": "string" - }, - "osType": { - "description": "The OS type of the gallery image.", - "type": "string" - }, - "version": { - "description": "The version of the gallery image.", - "type": "string" - } - } - }, - "GenerateArmTemplateRequest": { - "description": "Parameters for generating an ARM template for deploying artifacts.", - "type": "object", - "properties": { - "virtualMachineName": { - "description": "The resource name of the virtual machine.", - "type": "string" - }, - "parameters": { - "description": "The parameters of the ARM template.", - "type": "array", - "items": { "$ref": "#/definitions/ParameterInfo" } - }, - "location": { - "description": "The location of the virtual machine.", - "type": "string" - }, - "fileUploadOptions": { - "description": "Options for uploading the files for the artifact. UploadFilesAndGenerateSasTokens is the default value.", - "enum": [ "UploadFilesAndGenerateSasTokens", "None" ], - "type": "string", - "x-ms-enum": { - "name": "FileUploadOptions", - "modelAsString": true - } - } - } - }, - "GenerateUploadUriParameter": { - "description": "Properties for generating an upload URI.", - "type": "object", - "properties": { - "blobName": { - "description": "The blob name of the upload URI.", - "type": "string" - } - } - }, - "GenerateUploadUriResponse": { - "description": "Reponse body for generating an upload URI.", - "type": "object", - "properties": { - "uploadUri": { - "description": "The upload URI for the VHD.", - "type": "string" - } - } - }, - "HourDetails": { - "description": "Properties of an hourly schedule.", - "type": "object", - "properties": { - "minute": { - "format": "int32", - "description": "Minutes of the hour the schedule will run.", - "type": "integer" - } - } - }, - "HourDetailsFragment": { - "description": "Properties of an hourly schedule.", - "type": "object", - "properties": { - "minute": { - "format": "int32", - "description": "Minutes of the hour the schedule will run.", - "type": "integer" - } - } - }, - "IdentityProperties": { - "description": "IdentityProperties", - "type": "object", - "properties": { - "type": { - "description": "Managed identity.", - "type": "string" - }, - "principalId": { - "description": "The principal id of resource identity.", - "type": "string" - }, - "tenantId": { - "description": "The tenant identifier of resource.", - "type": "string" - }, - "clientSecretUrl": { - "description": "The client secret URL of the identity.", - "type": "string" - } - } - }, - "InboundNatRule": { - "description": "A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer.", - "type": "object", - "properties": { - "transportProtocol": { - "description": "The transport protocol for the endpoint.", - "enum": [ "Tcp", "Udp" ], - "type": "string", - "x-ms-enum": { - "name": "TransportProtocol", - "modelAsString": true - } - }, - "frontendPort": { - "format": "int32", - "description": "The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically.", - "type": "integer" - }, - "backendPort": { - "format": "int32", - "description": "The port to which the external traffic will be redirected.", - "type": "integer" - } - } - }, - "InboundNatRuleFragment": { - "description": "A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer.", - "type": "object", - "properties": { - "transportProtocol": { - "description": "The transport protocol for the endpoint.", - "enum": [ "Tcp", "Udp" ], - "type": "string", - "x-ms-enum": { - "name": "TransportProtocol", - "modelAsString": true - } - }, - "frontendPort": { - "format": "int32", - "description": "The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically.", - "type": "integer" - }, - "backendPort": { - "format": "int32", - "description": "The port to which the external traffic will be redirected.", - "type": "integer" - } - } - }, - "Lab": { - "description": "A lab.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/LabProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabCost": { - "description": "A cost item.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/LabCostProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabCostDetailsProperties": { - "description": "The properties of a lab cost item.", - "type": "object", - "properties": { - "date": { - "format": "date-time", - "description": "The date of the cost item.", - "type": "string" - }, - "cost": { - "format": "double", - "description": "The cost component of the cost item.", - "type": "number" - }, - "costType": { - "description": "The type of the cost.", - "enum": [ "Unavailable", "Reported", "Projected" ], - "type": "string", - "x-ms-enum": { - "name": "CostType", - "modelAsString": true - } - } - } - }, - "LabCostProperties": { - "description": "Properties of a cost item.", - "type": "object", - "properties": { - "targetCost": { - "$ref": "#/definitions/TargetCostProperties", - "description": "The target cost properties" - }, - "labCostSummary": { - "$ref": "#/definitions/LabCostSummaryProperties", - "description": "The lab cost summary component of the cost data.", - "readOnly": true - }, - "labCostDetails": { - "description": "The lab cost details component of the cost data.", - "type": "array", - "items": { "$ref": "#/definitions/LabCostDetailsProperties" }, - "readOnly": true - }, - "resourceCosts": { - "description": "The resource cost component of the cost data.", - "type": "array", - "items": { "$ref": "#/definitions/LabResourceCostProperties" }, - "readOnly": true - }, - "currencyCode": { - "description": "The currency code of the cost.", - "type": "string" - }, - "startDateTime": { - "format": "date-time", - "description": "The start time of the cost data.", - "type": "string" - }, - "endDateTime": { - "format": "date-time", - "description": "The end time of the cost data.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the cost.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabCostSummaryProperties": { - "description": "The properties of the cost summary.", - "type": "object", - "properties": { - "estimatedLabCost": { - "format": "double", - "description": "The cost component of the cost item.", - "type": "number" - } - } - }, - "LabFragment": { - "description": "A lab.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/LabPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabProperties": { - "description": "Properties of a lab.", - "type": "object", - "properties": { - "defaultStorageAccount": { - "description": "The lab's default storage account.", - "type": "string", - "readOnly": true - }, - "defaultPremiumStorageAccount": { - "description": "The lab's default premium storage account.", - "type": "string", - "readOnly": true - }, - "artifactsStorageAccount": { - "description": "The lab's artifact storage account.", - "type": "string", - "readOnly": true - }, - "premiumDataDiskStorageAccount": { - "description": "The lab's premium data disk storage account.", - "type": "string", - "readOnly": true - }, - "vaultName": { - "description": "The lab's Key vault.", - "type": "string", - "readOnly": true - }, - "labStorageType": { - "description": "Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.", - "enum": [ "Standard", "Premium" ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the lab.", - "type": "string", - "readOnly": true - }, - "premiumDataDisks": { - "description": "The setting to enable usage of premium data disks.\r\nWhen its value is 'Enabled', creation of standard or premium data disks is allowed.\r\nWhen its value is 'Disabled', only creation of standard data disks is allowed.", - "enum": [ "Disabled", "Enabled" ], - "type": "string", - "x-ms-enum": { - "name": "PremiumDataDisk", - "modelAsString": true - } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabPropertiesFragment": { - "description": "Properties of a lab.", - "type": "object", - "properties": { - "labStorageType": { - "description": "Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.", - "enum": [ "Standard", "Premium" ], - "type": "string", - "x-ms-enum": { - "name": "StorageType", - "modelAsString": true - } - }, - "premiumDataDisks": { - "description": "The setting to enable usage of premium data disks.\r\nWhen its value is 'Enabled', creation of standard or premium data disks is allowed.\r\nWhen its value is 'Disabled', only creation of standard data disks is allowed.", - "enum": [ "Disabled", "Enabled" ], - "type": "string", - "x-ms-enum": { - "name": "PremiumDataDisk", - "modelAsString": true - } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabResourceCostProperties": { - "description": "The properties of a resource cost item.", - "type": "object", - "properties": { - "resourcename": { - "description": "The name of the resource.", - "type": "string" - }, - "resourceUId": { - "description": "The unique identifier of the resource.", - "type": "string" - }, - "resourceCost": { - "format": "double", - "description": "The cost component of the resource cost item.", - "type": "number" - }, - "resourceType": { - "description": "The logical resource type (ex. virtualmachine, storageaccount)", - "type": "string" - }, - "resourceOwner": { - "description": "The owner of the resource (ex. janedoe@microsoft.com)", - "type": "string" - }, - "resourcePricingTier": { - "description": "The category of the resource (ex. Premium_LRS, Standard_DS1)", - "type": "string" - }, - "resourceStatus": { - "description": "The status of the resource (ex. Active)", - "type": "string" - }, - "resourceId": { - "description": "The ID of the resource", - "type": "string" - }, - "externalResourceId": { - "description": "The ID of the external resource", - "type": "string" - } - } - }, - "LabVhd": { - "description": "Properties of a VHD in the lab.", - "type": "object", - "properties": { - "id": { - "description": "The URI to the VHD.", - "type": "string" - } - } - }, - "LabVirtualMachine": { - "description": "A virtual machine.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/LabVirtualMachineProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabVirtualMachineCreationParameter": { - "description": "Properties for creating a virtual machine.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/LabVirtualMachineCreationParameterProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - }, - "name": { - "description": "The name of the virtual machine or environment", - "type": "string" - }, - "location": { - "description": "The location of the new virtual machine or environment", - "type": "string" - }, - "tags": { - "description": "The tags of the resource.", - "type": "object", - "additionalProperties": { "type": "string" } - } - } - }, - "LabVirtualMachineCreationParameterProperties": { - "description": "Properties for virtual machine creation.", - "type": "object", - "properties": { - "bulkCreationParameters": { - "$ref": "#/definitions/BulkCreationParameters", - "description": "The number of virtual machine instances to create." - }, - "notes": { - "description": "The notes of the virtual machine.", - "type": "string" - }, - "ownerObjectId": { - "description": "The object identifier of the owner of the virtual machine.", - "type": "string" - }, - "ownerUserPrincipalName": { - "description": "The user principal name of the virtual machine owner.", - "type": "string" - }, - "createdByUserId": { - "description": "The object identifier of the creator of the virtual machine.", - "type": "string" - }, - "createdByUser": { - "description": "The email address of creator of the virtual machine.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the virtual machine.", - "type": "string" - }, - "customImageId": { - "description": "The custom image identifier of the virtual machine.", - "type": "string" - }, - "osType": { - "description": "The OS type of the virtual machine.", - "type": "string" - }, - "size": { - "description": "The size of the virtual machine.", - "type": "string" - }, - "userName": { - "description": "The user name of the virtual machine.", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine administrator.", - "type": "string" - }, - "sshKey": { - "description": "The SSH key of the virtual machine administrator.", - "type": "string" - }, - "isAuthenticationWithSshKey": { - "description": "Indicates whether this virtual machine uses an SSH key for authentication.", - "type": "boolean" - }, - "fqdn": { - "description": "The fully-qualified domain name of the virtual machine.", - "type": "string" - }, - "labSubnetName": { - "description": "The lab subnet name of the virtual machine.", - "type": "string" - }, - "labVirtualNetworkId": { - "description": "The lab virtual network identifier of the virtual machine.", - "type": "string" - }, - "disallowPublicIpAddress": { - "description": "Indicates whether the virtual machine is to be created without a public IP address.", - "type": "boolean" - }, - "artifacts": { - "description": "The artifacts to be installed on the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactInstallProperties" } - }, - "artifactDeploymentStatus": { - "$ref": "#/definitions/ArtifactDeploymentStatusProperties", - "description": "The artifact deployment status for the virtual machine." - }, - "galleryImageReference": { - "$ref": "#/definitions/GalleryImageReference", - "description": "The Microsoft Azure Marketplace image reference of the virtual machine." - }, - "computeVm": { - "$ref": "#/definitions/ComputeVmProperties", - "description": "The compute virtual machine properties." - }, - "networkInterface": { - "$ref": "#/definitions/NetworkInterfaceProperties", - "description": "The network interface properties." - }, - "applicableSchedule": { - "$ref": "#/definitions/ApplicableSchedule", - "description": "The applicable schedule for the virtual machine." - }, - "expirationDate": { - "format": "date-time", - "description": "The expiration date for VM.", - "type": "string" - }, - "allowClaim": { - "description": "Indicates whether another user can take ownership of the virtual machine", - "type": "boolean" - }, - "storageType": { - "description": "Storage type to use for virtual machine (i.e. Standard, Premium).", - "type": "string" - }, - "virtualMachineCreationSource": { - "description": "Tells source of creation of lab virtual machine. Output property only.", - "enum": [ "FromCustomImage", "FromGalleryImage" ], - "type": "string", - "x-ms-enum": { - "name": "VirtualMachineCreationSource", - "modelAsString": true - } - }, - "environmentId": { - "description": "The resource ID of the environment that contains this virtual machine, if any.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabVirtualMachineFragment": { - "description": "A virtual machine.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/LabVirtualMachinePropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "LabVirtualMachineProperties": { - "description": "Properties of a virtual machine.", - "type": "object", - "properties": { - "notes": { - "description": "The notes of the virtual machine.", - "type": "string" - }, - "ownerObjectId": { - "description": "The object identifier of the owner of the virtual machine.", - "type": "string" - }, - "ownerUserPrincipalName": { - "description": "The user principal name of the virtual machine owner.", - "type": "string" - }, - "createdByUserId": { - "description": "The object identifier of the creator of the virtual machine.", - "type": "string" - }, - "createdByUser": { - "description": "The email address of creator of the virtual machine.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the virtual machine.", - "type": "string" - }, - "computeId": { - "description": "The resource identifier (Microsoft.Compute) of the virtual machine.", - "type": "string", - "readOnly": true - }, - "customImageId": { - "description": "The custom image identifier of the virtual machine.", - "type": "string" - }, - "osType": { - "description": "The OS type of the virtual machine.", - "type": "string" - }, - "size": { - "description": "The size of the virtual machine.", - "type": "string" - }, - "userName": { - "description": "The user name of the virtual machine.", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine administrator.", - "type": "string" - }, - "sshKey": { - "description": "The SSH key of the virtual machine administrator.", - "type": "string" - }, - "isAuthenticationWithSshKey": { - "description": "Indicates whether this virtual machine uses an SSH key for authentication.", - "type": "boolean" - }, - "fqdn": { - "description": "The fully-qualified domain name of the virtual machine.", - "type": "string" - }, - "labSubnetName": { - "description": "The lab subnet name of the virtual machine.", - "type": "string" - }, - "labVirtualNetworkId": { - "description": "The lab virtual network identifier of the virtual machine.", - "type": "string" - }, - "disallowPublicIpAddress": { - "description": "Indicates whether the virtual machine is to be created without a public IP address.", - "type": "boolean" - }, - "artifacts": { - "description": "The artifacts to be installed on the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactInstallProperties" } - }, - "artifactDeploymentStatus": { - "$ref": "#/definitions/ArtifactDeploymentStatusProperties", - "description": "The artifact deployment status for the virtual machine." - }, - "galleryImageReference": { - "$ref": "#/definitions/GalleryImageReference", - "description": "The Microsoft Azure Marketplace image reference of the virtual machine." - }, - "computeVm": { - "$ref": "#/definitions/ComputeVmProperties", - "description": "The compute virtual machine properties." - }, - "networkInterface": { - "$ref": "#/definitions/NetworkInterfaceProperties", - "description": "The network interface properties." - }, - "applicableSchedule": { - "$ref": "#/definitions/ApplicableSchedule", - "description": "The applicable schedule for the virtual machine." - }, - "expirationDate": { - "format": "date-time", - "description": "The expiration date for VM.", - "type": "string" - }, - "allowClaim": { - "description": "Indicates whether another user can take ownership of the virtual machine", - "type": "boolean" - }, - "storageType": { - "description": "Storage type to use for virtual machine (i.e. Standard, Premium).", - "type": "string" - }, - "virtualMachineCreationSource": { - "description": "Tells source of creation of lab virtual machine. Output property only.", - "enum": [ "FromCustomImage", "FromGalleryImage" ], - "type": "string", - "x-ms-enum": { - "name": "VirtualMachineCreationSource", - "modelAsString": true - } - }, - "environmentId": { - "description": "The resource ID of the environment that contains this virtual machine, if any.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LabVirtualMachinePropertiesFragment": { - "description": "Properties of a virtual machine.", - "type": "object", - "properties": { - "notes": { - "description": "The notes of the virtual machine.", - "type": "string" - }, - "ownerObjectId": { - "description": "The object identifier of the owner of the virtual machine.", - "type": "string" - }, - "ownerUserPrincipalName": { - "description": "The user principal name of the virtual machine owner.", - "type": "string" - }, - "createdByUserId": { - "description": "The object identifier of the creator of the virtual machine.", - "type": "string" - }, - "createdByUser": { - "description": "The email address of creator of the virtual machine.", - "type": "string" - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the virtual machine.", - "type": "string" - }, - "customImageId": { - "description": "The custom image identifier of the virtual machine.", - "type": "string" - }, - "osType": { - "description": "The OS type of the virtual machine.", - "type": "string" - }, - "size": { - "description": "The size of the virtual machine.", - "type": "string" - }, - "userName": { - "description": "The user name of the virtual machine.", - "type": "string" - }, - "password": { - "description": "The password of the virtual machine administrator.", - "type": "string" - }, - "sshKey": { - "description": "The SSH key of the virtual machine administrator.", - "type": "string" - }, - "isAuthenticationWithSshKey": { - "description": "Indicates whether this virtual machine uses an SSH key for authentication.", - "type": "boolean" - }, - "fqdn": { - "description": "The fully-qualified domain name of the virtual machine.", - "type": "string" - }, - "labSubnetName": { - "description": "The lab subnet name of the virtual machine.", - "type": "string" - }, - "labVirtualNetworkId": { - "description": "The lab virtual network identifier of the virtual machine.", - "type": "string" - }, - "disallowPublicIpAddress": { - "description": "Indicates whether the virtual machine is to be created without a public IP address.", - "type": "boolean" - }, - "artifacts": { - "description": "The artifacts to be installed on the virtual machine.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactInstallPropertiesFragment" } - }, - "artifactDeploymentStatus": { - "$ref": "#/definitions/ArtifactDeploymentStatusPropertiesFragment", - "description": "The artifact deployment status for the virtual machine." - }, - "galleryImageReference": { - "$ref": "#/definitions/GalleryImageReferenceFragment", - "description": "The Microsoft Azure Marketplace image reference of the virtual machine." - }, - "computeVm": { - "$ref": "#/definitions/ComputeVmPropertiesFragment", - "description": "The compute virtual machine properties." - }, - "networkInterface": { - "$ref": "#/definitions/NetworkInterfacePropertiesFragment", - "description": "The network interface properties." - }, - "applicableSchedule": { - "$ref": "#/definitions/ApplicableScheduleFragment", - "description": "The applicable schedule for the virtual machine." - }, - "expirationDate": { - "format": "date-time", - "description": "The expiration date for VM.", - "type": "string" - }, - "allowClaim": { - "description": "Indicates whether another user can take ownership of the virtual machine", - "type": "boolean" - }, - "storageType": { - "description": "Storage type to use for virtual machine (i.e. Standard, Premium).", - "type": "string" - }, - "virtualMachineCreationSource": { - "description": "Tells source of creation of lab virtual machine. Output property only.", - "enum": [ "FromCustomImage", "FromGalleryImage" ], - "type": "string", - "x-ms-enum": { - "name": "VirtualMachineCreationSource", - "modelAsString": true - } - }, - "environmentId": { - "description": "The resource ID of the environment that contains this virtual machine, if any.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "LinuxOsInfo": { - "description": "Information about a Linux OS.", - "type": "object", - "properties": { - "linuxOsState": { - "description": "The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied).", - "enum": [ "NonDeprovisioned", "DeprovisionRequested", "DeprovisionApplied" ], - "type": "string", - "x-ms-enum": { - "name": "LinuxOsState", - "modelAsString": true - } - } - } - }, - "NetworkInterfaceProperties": { - "description": "Properties of a network interface.", - "type": "object", - "properties": { - "virtualNetworkId": { - "description": "The resource ID of the virtual network.", - "type": "string" - }, - "subnetId": { - "description": "The resource ID of the sub net.", - "type": "string" - }, - "publicIpAddressId": { - "description": "The resource ID of the public IP address.", - "type": "string" - }, - "publicIpAddress": { - "description": "The public IP address.", - "type": "string" - }, - "privateIpAddress": { - "description": "The private IP address.", - "type": "string" - }, - "dnsName": { - "description": "The DNS name.", - "type": "string" - }, - "rdpAuthority": { - "description": "The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).", - "type": "string" - }, - "sshAuthority": { - "description": "The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.", - "type": "string" - }, - "sharedPublicIpAddressConfiguration": { - "$ref": "#/definitions/SharedPublicIpAddressConfiguration", - "description": "The configuration for sharing a public IP address across multiple virtual machines." - } - } - }, - "NetworkInterfacePropertiesFragment": { - "description": "Properties of a network interface.", - "type": "object", - "properties": { - "virtualNetworkId": { - "description": "The resource ID of the virtual network.", - "type": "string" - }, - "subnetId": { - "description": "The resource ID of the sub net.", - "type": "string" - }, - "publicIpAddressId": { - "description": "The resource ID of the public IP address.", - "type": "string" - }, - "publicIpAddress": { - "description": "The public IP address.", - "type": "string" - }, - "privateIpAddress": { - "description": "The private IP address.", - "type": "string" - }, - "dnsName": { - "description": "The DNS name.", - "type": "string" - }, - "rdpAuthority": { - "description": "The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).", - "type": "string" - }, - "sshAuthority": { - "description": "The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.", - "type": "string" - }, - "sharedPublicIpAddressConfiguration": { - "$ref": "#/definitions/SharedPublicIpAddressConfigurationFragment", - "description": "The configuration for sharing a public IP address across multiple virtual machines." - } - } - }, - "NotificationChannel": { - "description": "A notification.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/NotificationChannelProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "NotificationChannelFragment": { - "description": "A notification.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/NotificationChannelPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "NotificationChannelProperties": { - "description": "Properties of a schedule.", - "type": "object", - "properties": { - "webHookUrl": { - "description": "The webhook URL to send notifications to.", - "type": "string" - }, - "description": { - "description": "Description of notification.", - "type": "string" - }, - "events": { - "description": "The list of event for which this notification is enabled.", - "type": "array", - "items": { "$ref": "#/definitions/Event" } - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the notification channel.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "NotificationChannelPropertiesFragment": { - "description": "Properties of a schedule.", - "type": "object", - "properties": { - "webHookUrl": { - "description": "The webhook URL to send notifications to.", - "type": "string" - }, - "description": { - "description": "Description of notification.", - "type": "string" - }, - "events": { - "description": "The list of event for which this notification is enabled.", - "type": "array", - "items": { "$ref": "#/definitions/EventFragment" } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "NotificationSettings": { - "description": "Notification settings for a schedule.", - "type": "object", - "properties": { - "status": { - "description": "If notifications are enabled for this schedule (i.e. Enabled, Disabled).", - "enum": [ "Disabled", "Enabled" ], - "type": "string", - "x-ms-enum": { - "name": "NotificationStatus", - "modelAsString": true - } - }, - "timeInMinutes": { - "format": "int32", - "description": "Time in minutes before event at which notification will be sent.", - "type": "integer" - }, - "webhookUrl": { - "description": "The webhook URL to which the notification will be sent.", - "type": "string" - } - } - }, - "NotificationSettingsFragment": { - "description": "Notification settings for a schedule.", - "type": "object", - "properties": { - "status": { - "description": "If notifications are enabled for this schedule (i.e. Enabled, Disabled).", - "enum": [ "Disabled", "Enabled" ], - "type": "string", - "x-ms-enum": { - "name": "NotificationStatus", - "modelAsString": true - } - }, - "timeInMinutes": { - "format": "int32", - "description": "Time in minutes before event at which notification will be sent.", - "type": "integer" - }, - "webhookUrl": { - "description": "The webhook URL to which the notification will be sent.", - "type": "string" - } - } - }, - "NotifyParameters": { - "description": "Properties for generating a Notification.", - "type": "object", - "properties": { - "eventName": { - "description": "The type of event (i.e. AutoShutdown, Cost)", - "enum": [ "AutoShutdown", "Cost" ], - "type": "string", - "x-ms-enum": { - "name": "NotificationChannelEventType", - "modelAsString": true - } - }, - "jsonPayload": { - "description": "Properties for the notification in json format.", - "type": "string" - } - } - }, - "ParameterInfo": { - "description": "Information about an artifact's parameter.", - "type": "object", - "properties": { - "name": { - "description": "The name of the artifact parameter.", - "type": "string" - }, - "value": { - "description": "The value of the artifact parameter.", - "type": "string" - } - } - }, - "ParametersValueFileInfo": { - "description": "A file containing a set of parameter values for an ARM template.", - "type": "object", - "properties": { - "fileName": { - "description": "File name.", - "type": "string" - }, - "parametersValueInfo": { - "description": "Contents of the file.", - "type": "object" - } - } - }, - "PercentageCostThresholdProperties": { - "description": "Properties of a percentage cost threshold.", - "type": "object", - "properties": { - "thresholdValue": { - "format": "double", - "description": "The cost threshold value.", - "type": "number" - } - } - }, - "Policy": { - "description": "A Policy.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/PolicyProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "PolicyFragment": { - "description": "A Policy.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/PolicyPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "PolicyProperties": { - "description": "Properties of a Policy.", - "type": "object", - "properties": { - "description": { - "description": "The description of the policy.", - "type": "string" - }, - "status": { - "description": "The status of the policy.", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyStatus", - "modelAsString": true - } - }, - "factName": { - "description": "The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc.", - "enum": [ "UserOwnedLabVmCount", "UserOwnedLabPremiumVmCount", "LabVmCount", "LabPremiumVmCount", "LabVmSize", "GalleryImage", "UserOwnedLabVmCountInSubnet", "LabTargetCost" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyFactName", - "modelAsString": true - } - }, - "factData": { - "description": "The fact data of the policy.", - "type": "string" - }, - "threshold": { - "description": "The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).", - "type": "string" - }, - "evaluatorType": { - "description": "The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).", - "enum": [ "AllowedValuesPolicy", "MaxValuePolicy" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyEvaluatorType", - "modelAsString": true - } - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the policy.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "PolicyPropertiesFragment": { - "description": "Properties of a Policy.", - "type": "object", - "properties": { - "description": { - "description": "The description of the policy.", - "type": "string" - }, - "status": { - "description": "The status of the policy.", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyStatus", - "modelAsString": true - } - }, - "factName": { - "description": "The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc.", - "enum": [ "UserOwnedLabVmCount", "UserOwnedLabPremiumVmCount", "LabVmCount", "LabPremiumVmCount", "LabVmSize", "GalleryImage", "UserOwnedLabVmCountInSubnet", "LabTargetCost" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyFactName", - "modelAsString": true - } - }, - "factData": { - "description": "The fact data of the policy.", - "type": "string" - }, - "threshold": { - "description": "The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).", - "type": "string" - }, - "evaluatorType": { - "description": "The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).", - "enum": [ "AllowedValuesPolicy", "MaxValuePolicy" ], - "type": "string", - "x-ms-enum": { - "name": "PolicyEvaluatorType", - "modelAsString": true - } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "PolicySetResult": { - "description": "Result of a policy set evaluation.", - "type": "object", - "properties": { - "hasError": { - "description": "A value indicating whether this policy set evaluation has discovered violations.", - "type": "boolean" - }, - "policyViolations": { - "description": "The list of policy violations.", - "type": "array", - "items": { "$ref": "#/definitions/PolicyViolation" } - } - } - }, - "PolicyViolation": { - "description": "Policy violation.", - "type": "object", - "properties": { - "code": { - "description": "The code of the policy violation.", - "type": "string" - }, - "message": { - "description": "The message of the policy violation.", - "type": "string" - } - } - }, - "Port": { - "description": "Properties of a network port.", - "type": "object", - "properties": { - "transportProtocol": { - "description": "Protocol type of the port.", - "enum": [ "Tcp", "Udp" ], - "type": "string", - "x-ms-enum": { - "name": "TransportProtocol", - "modelAsString": true - } - }, - "backendPort": { - "format": "int32", - "description": "Backend port of the target virtual machine.", - "type": "integer" - } - } - }, - "PortFragment": { - "description": "Properties of a network port.", - "type": "object", - "properties": { - "transportProtocol": { - "description": "Protocol type of the port.", - "enum": [ "Tcp", "Udp" ], - "type": "string", - "x-ms-enum": { - "name": "TransportProtocol", - "modelAsString": true - } - }, - "backendPort": { - "format": "int32", - "description": "Backend port of the target virtual machine.", - "type": "integer" - } - } - }, - "Resource": { - "description": "An Azure resource.", - "type": "object", - "properties": { - "id": { - "description": "The identifier of the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "The name of the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "The type of the resource.", - "type": "string", - "readOnly": true - }, - "location": { - "description": "The location of the resource.", - "type": "string" - }, - "tags": { - "description": "The tags of the resource.", - "type": "object", - "additionalProperties": { "type": "string" } - } - }, - "x-ms-azure-resource": true - }, - "ResponseWithContinuation[ArmTemplate]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/ArmTemplate" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Artifact]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Artifact" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[ArtifactSource]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/ArtifactSource" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[CustomImage]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/CustomImage" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Disk]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Disk" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[DtlEnvironment]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/DtlEnvironment" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Formula]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Formula" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[GalleryImage]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/GalleryImage" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Lab]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Lab" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[LabVhd]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/LabVhd" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[LabVirtualMachine]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/LabVirtualMachine" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[NotificationChannel]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/NotificationChannel" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Policy]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Policy" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Schedule]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Schedule" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[Secret]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/Secret" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[ServiceRunner]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/ServiceRunner" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[User]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/User" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "ResponseWithContinuation[VirtualNetwork]": { - "description": "The response of a list operation.", - "type": "object", - "properties": { - "value": { - "description": "Results of the list operation.", - "type": "array", - "items": { "$ref": "#/definitions/VirtualNetwork" } - }, - "nextLink": { - "description": "Link for next set of results.", - "type": "string" - } - } - }, - "RetargetScheduleProperties": { - "description": "Properties for retargeting a virtual machine schedule.", - "type": "object", - "properties": { - "currentResourceId": { - "description": "The resource Id of the virtual machine on which the schedule operates", - "type": "string" - }, - "targetResourceId": { - "description": "The resource Id of the virtual machine that the schedule should be retargeted to", - "type": "string" - } - } - }, - "Schedule": { - "description": "A schedule.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/ScheduleProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ScheduleFragment": { - "description": "A schedule.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/SchedulePropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "ScheduleProperties": { - "description": "Properties of a schedule.", - "type": "object", - "properties": { - "status": { - "description": "The status of the schedule (i.e. Enabled, Disabled)", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "EnableStatus", - "modelAsString": true - } - }, - "taskType": { - "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).", - "type": "string" - }, - "weeklyRecurrence": { - "$ref": "#/definitions/WeekDetails", - "description": "If the schedule will occur only some days of the week, specify the weekly recurrence." - }, - "dailyRecurrence": { - "$ref": "#/definitions/DayDetails", - "description": "If the schedule will occur once each day of the week, specify the daily recurrence." - }, - "hourlyRecurrence": { - "$ref": "#/definitions/HourDetails", - "description": "If the schedule will occur multiple times a day, specify the hourly recurrence." - }, - "timeZoneId": { - "description": "The time zone ID (e.g. Pacific Standard time).", - "type": "string" - }, - "notificationSettings": { - "$ref": "#/definitions/NotificationSettings", - "description": "Notification settings." - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the schedule.", - "type": "string", - "readOnly": true - }, - "targetResourceId": { - "description": "The resource ID to which the schedule belongs", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "SchedulePropertiesFragment": { - "description": "Properties of a schedule.", - "type": "object", - "properties": { - "status": { - "description": "The status of the schedule (i.e. Enabled, Disabled)", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "EnableStatus", - "modelAsString": true - } - }, - "taskType": { - "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).", - "type": "string" - }, - "weeklyRecurrence": { - "$ref": "#/definitions/WeekDetailsFragment", - "description": "If the schedule will occur only some days of the week, specify the weekly recurrence." - }, - "dailyRecurrence": { - "$ref": "#/definitions/DayDetailsFragment", - "description": "If the schedule will occur once each day of the week, specify the daily recurrence." - }, - "hourlyRecurrence": { - "$ref": "#/definitions/HourDetailsFragment", - "description": "If the schedule will occur multiple times a day, specify the hourly recurrence." - }, - "timeZoneId": { - "description": "The time zone ID (e.g. Pacific Standard time).", - "type": "string" - }, - "notificationSettings": { - "$ref": "#/definitions/NotificationSettingsFragment", - "description": "Notification settings." - }, - "targetResourceId": { - "description": "The resource ID to which the schedule belongs", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "Secret": { - "description": "A secret.", - "required": [ "properties" ], - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/SecretProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "SecretProperties": { - "description": "Properties of a secret.", - "type": "object", - "properties": { - "value": { - "description": "The value of the secret for secret creation.", - "type": "string" - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "ServiceRunner": { - "description": "A container for a managed identity to execute DevTest lab services.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "identity": { - "$ref": "#/definitions/IdentityProperties", - "description": "The identity of the resource." - } - } - }, - "SharedPublicIpAddressConfiguration": { - "description": "Properties of a virtual machine that determine how it is connected to a load balancer.", - "type": "object", - "properties": { - "inboundNatRules": { - "description": "The incoming NAT rules", - "type": "array", - "items": { "$ref": "#/definitions/InboundNatRule" } - } - } - }, - "SharedPublicIpAddressConfigurationFragment": { - "description": "Properties of a virtual machine that determine how it is connected to a load balancer.", - "type": "object", - "properties": { - "inboundNatRules": { - "description": "The incoming NAT rules", - "type": "array", - "items": { "$ref": "#/definitions/InboundNatRuleFragment" } - } - } - }, - "ShutdownNotificationContent": { - "description": "The contents of a shutdown notification. Webhooks can use this type to deserialize the request body when they get notified of an imminent shutdown.", - "type": "object", - "properties": { - "skipUrl": { - "description": "The URL to skip auto-shutdown.", - "type": "string" - }, - "delayUrl60": { - "description": "The URL to delay shutdown by 60 minutes.", - "type": "string" - }, - "delayUrl120": { - "description": "The URL to delay shutdown by 2 hours.", - "type": "string" - }, - "vmName": { - "description": "The virtual machine to be shut down.", - "type": "string" - }, - "guid": { - "description": "The GUID for the virtual machine to be shut down.", - "type": "string" - }, - "owner": { - "description": "The owner of the virtual machine.", - "type": "string" - }, - "eventType": { - "description": "The event for which a notification will be sent.", - "type": "string" - }, - "text": { - "description": "The text for the notification.", - "type": "string" - }, - "subscriptionId": { - "description": "The subscription ID for the schedule.", - "type": "string" - }, - "resourceGroupName": { - "description": "The resource group name for the schedule.", - "type": "string" - }, - "labName": { - "description": "The lab for the schedule.", - "type": "string" - } - } - }, - "Subnet": { - "description": "Subnet information.", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource ID of the subnet.", - "type": "string" - }, - "labSubnetName": { - "description": "The name of the subnet as seen in the lab.", - "type": "string" - }, - "allowPublicIp": { - "description": "The permission policy of the subnet for allowing public IP addresses (i.e. Allow, Deny)).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - } - } - }, - "SubnetFragment": { - "description": "Subnet information.", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource ID of the subnet.", - "type": "string" - }, - "labSubnetName": { - "description": "The name of the subnet as seen in the lab.", - "type": "string" - }, - "allowPublicIp": { - "description": "The permission policy of the subnet for allowing public IP addresses (i.e. Allow, Deny)).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - } - } - }, - "SubnetOverride": { - "description": "Property overrides on a subnet of a virtual network.", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource ID of the subnet.", - "type": "string" - }, - "labSubnetName": { - "description": "The name given to the subnet within the lab.", - "type": "string" - }, - "useInVmCreationPermission": { - "description": "Indicates whether this subnet can be used during virtual machine creation (i.e. Allow, Deny).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - }, - "usePublicIpAddressPermission": { - "description": "Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - }, - "sharedPublicIpAddressConfiguration": { - "$ref": "#/definitions/SubnetSharedPublicIpAddressConfiguration", - "description": "Properties that virtual machines on this subnet will share." - }, - "virtualNetworkPoolName": { - "description": "The virtual network pool associated with this subnet.", - "type": "string" - } - } - }, - "SubnetOverrideFragment": { - "description": "Property overrides on a subnet of a virtual network.", - "type": "object", - "properties": { - "resourceId": { - "description": "The resource ID of the subnet.", - "type": "string" - }, - "labSubnetName": { - "description": "The name given to the subnet within the lab.", - "type": "string" - }, - "useInVmCreationPermission": { - "description": "Indicates whether this subnet can be used during virtual machine creation (i.e. Allow, Deny).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - }, - "usePublicIpAddressPermission": { - "description": "Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny).", - "enum": [ "Default", "Deny", "Allow" ], - "type": "string", - "x-ms-enum": { - "name": "UsagePermissionType", - "modelAsString": true - } - }, - "sharedPublicIpAddressConfiguration": { - "$ref": "#/definitions/SubnetSharedPublicIpAddressConfigurationFragment", - "description": "Properties that virtual machines on this subnet will share." - }, - "virtualNetworkPoolName": { - "description": "The virtual network pool associated with this subnet.", - "type": "string" - } - } - }, - "SubnetSharedPublicIpAddressConfiguration": { - "description": "Configuration for public IP address sharing.", - "type": "object", - "properties": { - "allowedPorts": { - "description": "Backend ports that virtual machines on this subnet are allowed to expose", - "type": "array", - "items": { "$ref": "#/definitions/Port" } - } - } - }, - "SubnetSharedPublicIpAddressConfigurationFragment": { - "description": "Configuration for public IP address sharing.", - "type": "object", - "properties": { - "allowedPorts": { - "description": "Backend ports that virtual machines on this subnet are allowed to expose", - "type": "array", - "items": { "$ref": "#/definitions/PortFragment" } - } - } - }, - "TargetCostProperties": { - "description": "Properties of a cost target.", - "type": "object", - "properties": { - "status": { - "description": "Target cost status", - "enum": [ "Enabled", "Disabled" ], - "type": "string", - "x-ms-enum": { - "name": "TargetCostStatus", - "modelAsString": true - } - }, - "target": { - "format": "int32", - "description": "Lab target cost", - "type": "integer" - }, - "costThresholds": { - "description": "Cost thresholds.", - "type": "array", - "items": { "$ref": "#/definitions/CostThresholdProperties" } - }, - "cycleStartDateTime": { - "format": "date-time", - "description": "Reporting cycle start date.", - "type": "string" - }, - "cycleEndDateTime": { - "format": "date-time", - "description": "Reporting cycle end date.", - "type": "string" - }, - "cycleType": { - "description": "Reporting cycle type.", - "enum": [ "CalendarMonth", "Custom" ], - "type": "string", - "x-ms-enum": { - "name": "ReportingCycleType", - "modelAsString": true - } - } - } - }, - "User": { - "description": "Profile of a lab user.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/UserProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "UserFragment": { - "description": "Profile of a lab user.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/UserPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "UserIdentity": { - "description": "Identity attributes of a lab user.", - "type": "object", - "properties": { - "principalName": { - "description": "Set to the principal name / UPN of the client JWT making the request.", - "type": "string" - }, - "principalId": { - "description": "Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id.", - "type": "string" - }, - "tenantId": { - "description": "Set to the tenant ID of the client JWT making the request.", - "type": "string" - }, - "objectId": { - "description": "Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available.", - "type": "string" - }, - "appId": { - "description": "Set to the app Id of the client JWT making the request.", - "type": "string" - } - } - }, - "UserIdentityFragment": { - "description": "Identity attributes of a lab user.", - "type": "object", - "properties": { - "principalName": { - "description": "Set to the principal name / UPN of the client JWT making the request.", - "type": "string" - }, - "principalId": { - "description": "Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id.", - "type": "string" - }, - "tenantId": { - "description": "Set to the tenant ID of the client JWT making the request.", - "type": "string" - }, - "objectId": { - "description": "Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available.", - "type": "string" - }, - "appId": { - "description": "Set to the app Id of the client JWT making the request.", - "type": "string" - } - } - }, - "UserProperties": { - "description": "Properties of a lab user profile.", - "type": "object", - "properties": { - "identity": { - "$ref": "#/definitions/UserIdentity", - "description": "The identity of the user." - }, - "secretStore": { - "$ref": "#/definitions/UserSecretStore", - "description": "The secret store of the user." - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the user profile.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "UserPropertiesFragment": { - "description": "Properties of a lab user profile.", - "type": "object", - "properties": { - "identity": { - "$ref": "#/definitions/UserIdentityFragment", - "description": "The identity of the user." - }, - "secretStore": { - "$ref": "#/definitions/UserSecretStoreFragment", - "description": "The secret store of the user." - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "UserSecretStore": { - "description": "Properties of a user's secret store.", - "type": "object", - "properties": { - "keyVaultUri": { - "description": "The URI of the user's Key vault.", - "type": "string" - }, - "keyVaultId": { - "description": "The ID of the user's Key vault.", - "type": "string" - } - } - }, - "UserSecretStoreFragment": { - "description": "Properties of a user's secret store.", - "type": "object", - "properties": { - "keyVaultUri": { - "description": "The URI of the user's Key vault.", - "type": "string" - }, - "keyVaultId": { - "description": "The ID of the user's Key vault.", - "type": "string" - } - } - }, - "VirtualNetwork": { - "description": "A virtual network.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/VirtualNetworkProperties", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "VirtualNetworkFragment": { - "description": "A virtual network.", - "type": "object", - "allOf": [ { "$ref": "#/definitions/Resource" } ], - "properties": { - "properties": { - "$ref": "#/definitions/VirtualNetworkPropertiesFragment", - "description": "The properties of the resource.", - "x-ms-client-flatten": true - } - } - }, - "VirtualNetworkProperties": { - "description": "Properties of a virtual network.", - "type": "object", - "properties": { - "allowedSubnets": { - "description": "The allowed subnets of the virtual network.", - "type": "array", - "items": { "$ref": "#/definitions/Subnet" } - }, - "description": { - "description": "The description of the virtual network.", - "type": "string" - }, - "externalProviderResourceId": { - "description": "The Microsoft.Network resource identifier of the virtual network.", - "type": "string" - }, - "externalSubnets": { - "description": "The external subnet properties.", - "type": "array", - "items": { "$ref": "#/definitions/ExternalSubnet" } - }, - "subnetOverrides": { - "description": "The subnet overrides of the virtual network.", - "type": "array", - "items": { "$ref": "#/definitions/SubnetOverride" } - }, - "createdDate": { - "format": "date-time", - "description": "The creation date of the virtual network.", - "type": "string", - "readOnly": true - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "VirtualNetworkPropertiesFragment": { - "description": "Properties of a virtual network.", - "type": "object", - "properties": { - "allowedSubnets": { - "description": "The allowed subnets of the virtual network.", - "type": "array", - "items": { "$ref": "#/definitions/SubnetFragment" } - }, - "description": { - "description": "The description of the virtual network.", - "type": "string" - }, - "externalProviderResourceId": { - "description": "The Microsoft.Network resource identifier of the virtual network.", - "type": "string" - }, - "externalSubnets": { - "description": "The external subnet properties.", - "type": "array", - "items": { "$ref": "#/definitions/ExternalSubnetFragment" } - }, - "subnetOverrides": { - "description": "The subnet overrides of the virtual network.", - "type": "array", - "items": { "$ref": "#/definitions/SubnetOverrideFragment" } - }, - "provisioningState": { - "description": "The provisioning status of the resource.", - "type": "string" - }, - "uniqueIdentifier": { - "description": "The unique immutable identifier of a resource (Guid).", - "type": "string" - } - } - }, - "WeekDetails": { - "description": "Properties of a weekly schedule.", - "type": "object", - "properties": { - "weekdays": { - "description": "The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).", - "type": "array", - "items": { "type": "string" } - }, - "time": { - "description": "The time of the day the schedule will occur.", - "type": "string" - } - } - }, - "WeekDetailsFragment": { - "description": "Properties of a weekly schedule.", - "type": "object", - "properties": { - "weekdays": { - "description": "The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).", - "type": "array", - "items": { "type": "string" } - }, - "time": { - "description": "The time of the day the schedule will occur.", - "type": "string" - } - } - }, - "WindowsOsInfo": { - "description": "Information about a Windows OS.", - "type": "object", - "properties": { - "windowsOsState": { - "description": "The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied).", - "enum": [ "NonSysprepped", "SysprepRequested", "SysprepApplied" ], - "type": "string", - "x-ms-enum": { - "name": "WindowsOsState", - "modelAsString": true - } - } - } - } - }, - "parameters": { - "api-version": { - "name": "api-version", + "required": true, + "schema": { + "$ref": "#/definitions/ArtifactSourceFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ArtifactSource" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ArtifactSources_Update": { + "$ref": "./examples/ArtifactSources_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/costs/{name}": { + "get": { + "tags": [ + "Costs" + ], + "description": "Get cost.", + "operationId": "Costs_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the cost.", + "required": true, + "type": "string" + }, + { + "name": "$expand", "in": "query", - "description": "Client API version.", + "description": "Specify the $expand query. Example: 'properties($expand=labCostDetails)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabCost" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Costs_Get": { + "$ref": "./examples/Costs_Get.json" + } + } + }, + "put": { + "tags": [ + "Costs" + ], + "description": "Create or replace an existing cost.", + "operationId": "Costs_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", "required": true, - "type": "string", - "default": "2016-05-15" - }, - "resourceGroupName": { - "name": "resourceGroupName", + "type": "string" + }, + { + "name": "name", "in": "path", - "description": "The name of the resource group.", + "description": "The name of the cost.", "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "subscriptionId": { - "name": "subscriptionId", + "type": "string" + }, + { + "name": "labCost", + "in": "body", + "description": "A cost item.", + "required": true, + "schema": { + "$ref": "#/definitions/LabCost" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabCost" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/LabCost" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Costs_CreateOrUpdate": { + "$ref": "./examples/Costs_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages": { + "get": { + "tags": [ + "CustomImages" + ], + "description": "List custom images in a given lab.", + "operationId": "CustomImages_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", "in": "path", - "description": "The subscription ID.", + "description": "The name of the lab.", "required": true, "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=vm)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomImageList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/CustomImage", + "x-ms-examples": { + "CustomImages_List": { + "$ref": "./examples/CustomImages_List.json" + } } + } }, - "securityDefinitions": { - "oauth2": { - "type": "oauth2", - "description": "OAuth2 Implicit Grant", - "flow": "implicit", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "scopes": { "user_impersonation": "Access Microsoft Azure" } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/customimages/{name}": { + "get": { + "tags": [ + "CustomImages" + ], + "description": "Get custom image.", + "operationId": "CustomImages_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the custom image.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=vm)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomImages_Get": { + "$ref": "./examples/CustomImages_Get.json" + } + } + }, + "put": { + "tags": [ + "CustomImages" + ], + "description": "Create or replace an existing custom image. This operation can take a while to complete.", + "operationId": "CustomImages_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the custom image.", + "required": true, + "type": "string" + }, + { + "name": "customImage", + "in": "body", + "description": "A custom image.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomImage" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomImage" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/CustomImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomImages_CreateOrUpdate": { + "$ref": "./examples/CustomImages_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CustomImages" + ], + "description": "Delete custom image. This operation can take a while to complete.", + "operationId": "CustomImages_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the custom image.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomImages_Delete": { + "$ref": "./examples/CustomImages_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "CustomImages" + ], + "description": "Allows modifying tags of custom images. All other properties will be ignored.", + "operationId": "CustomImages_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the custom image.", + "required": true, + "type": "string" + }, + { + "name": "customImage", + "in": "body", + "description": "A custom image.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomImageFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CustomImage" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CustomImages_Update": { + "$ref": "./examples/CustomImages_Update.json" + } } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas": { + "get": { + "tags": [ + "Formulas" + ], + "description": "List formulas in a given lab.", + "operationId": "Formulas_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=description)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FormulaList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Formula", + "x-ms-examples": { + "Formulas_List": { + "$ref": "./examples/Formulas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/formulas/{name}": { + "get": { + "tags": [ + "Formulas" + ], + "description": "Get formula.", + "operationId": "Formulas_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the formula.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=description)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Formula" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Formulas_Get": { + "$ref": "./examples/Formulas_Get.json" + } + } + }, + "put": { + "tags": [ + "Formulas" + ], + "description": "Create or replace an existing formula. This operation can take a while to complete.", + "operationId": "Formulas_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the formula.", + "required": true, + "type": "string" + }, + { + "name": "formula", + "in": "body", + "description": "A formula for creating a VM, specifying an image base and other parameters", + "required": true, + "schema": { + "$ref": "#/definitions/Formula" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Formula" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Formula" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Formulas_CreateOrUpdate": { + "$ref": "./examples/Formulas_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Formulas" + ], + "description": "Delete formula.", + "operationId": "Formulas_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the formula.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Formulas_Delete": { + "$ref": "./examples/Formulas_Delete.json" + } + } + }, + "patch": { + "tags": [ + "Formulas" + ], + "description": "Allows modifying tags of formulas. All other properties will be ignored.", + "operationId": "Formulas_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the formula.", + "required": true, + "type": "string" + }, + { + "name": "formula", + "in": "body", + "description": "A formula for creating a VM, specifying an image base and other parameters", + "required": true, + "schema": { + "$ref": "#/definitions/FormulaFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Formula" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Formulas_Update": { + "$ref": "./examples/Formulas_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/galleryimages": { + "get": { + "tags": [ + "GalleryImages" + ], + "description": "List gallery images in a given lab.", + "operationId": "GalleryImages_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=author)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GalleryImageList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GalleryImage", + "x-ms-examples": { + "GalleryImages_List": { + "$ref": "./examples/GalleryImages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels": { + "get": { + "tags": [ + "NotificationChannels" + ], + "description": "List notification channels in a given lab.", + "operationId": "NotificationChannels_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=webHookUrl)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotificationChannelList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/NotificationChannel", + "x-ms-examples": { + "NotificationChannels_List": { + "$ref": "./examples/NotificationChannels_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}": { + "get": { + "tags": [ + "NotificationChannels" + ], + "description": "Get notification channel.", + "operationId": "NotificationChannels_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the notification channel.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=webHookUrl)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotificationChannel" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NotificationChannels_Get": { + "$ref": "./examples/NotificationChannels_Get.json" + } + } + }, + "put": { + "tags": [ + "NotificationChannels" + ], + "description": "Create or replace an existing notification channel.", + "operationId": "NotificationChannels_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the notification channel.", + "required": true, + "type": "string" + }, + { + "name": "notificationChannel", + "in": "body", + "description": "A notification.", + "required": true, + "schema": { + "$ref": "#/definitions/NotificationChannel" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotificationChannel" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/NotificationChannel" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NotificationChannels_CreateOrUpdate": { + "$ref": "./examples/NotificationChannels_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "NotificationChannels" + ], + "description": "Delete notification channel.", + "operationId": "NotificationChannels_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the notification channel.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NotificationChannels_Delete": { + "$ref": "./examples/NotificationChannels_Delete.json" + } + } + }, + "patch": { + "tags": [ + "NotificationChannels" + ], + "description": "Allows modifying tags of notification channels. All other properties will be ignored.", + "operationId": "NotificationChannels_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the notification channel.", + "required": true, + "type": "string" + }, + { + "name": "notificationChannel", + "in": "body", + "description": "A notification.", + "required": true, + "schema": { + "$ref": "#/definitions/NotificationChannelFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NotificationChannel" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NotificationChannels_Update": { + "$ref": "./examples/NotificationChannels_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/notificationchannels/{name}/notify": { + "post": { + "tags": [ + "NotificationChannels" + ], + "description": "Send notification to provided channel.", + "operationId": "NotificationChannels_Notify", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the notification channel.", + "required": true, + "type": "string" + }, + { + "name": "notifyParameters", + "in": "body", + "description": "Properties for generating a Notification.", + "required": true, + "schema": { + "$ref": "#/definitions/NotifyParameters" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "NotificationChannels_Notify": { + "$ref": "./examples/NotificationChannels_Notify.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{name}/evaluatePolicies": { + "post": { + "tags": [ + "PolicySets" + ], + "description": "Evaluates lab policy.", + "operationId": "PolicySets_EvaluatePolicies", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "evaluatePoliciesRequest", + "in": "body", + "description": "Request body for evaluating a policy set.", + "required": true, + "schema": { + "$ref": "#/definitions/EvaluatePoliciesRequest" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EvaluatePoliciesResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "PolicySets_EvaluatePolicies": { + "$ref": "./examples/PolicySets_EvaluatePolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies": { + "get": { + "tags": [ + "Policies" + ], + "description": "List policies in a given policy set.", + "operationId": "Policies_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "policySetName", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=description)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PolicyList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Policy", + "x-ms-examples": { + "Policies_List": { + "$ref": "./examples/Policies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/policysets/{policySetName}/policies/{name}": { + "get": { + "tags": [ + "Policies" + ], + "description": "Get policy.", + "operationId": "Policies_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "policySetName", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the policy.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=description)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Policies_Get": { + "$ref": "./examples/Policies_Get.json" + } + } + }, + "put": { + "tags": [ + "Policies" + ], + "description": "Create or replace an existing policy.", + "operationId": "Policies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "policySetName", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the policy.", + "required": true, + "type": "string" + }, + { + "name": "policy", + "in": "body", + "description": "A Policy.", + "required": true, + "schema": { + "$ref": "#/definitions/Policy" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Policies_CreateOrUpdate": { + "$ref": "./examples/Policies_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "Policies" + ], + "description": "Delete policy.", + "operationId": "Policies_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "policySetName", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the policy.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Policies_Delete": { + "$ref": "./examples/Policies_Delete.json" + } + } + }, + "patch": { + "tags": [ + "Policies" + ], + "description": "Allows modifying tags of policies. All other properties will be ignored.", + "operationId": "Policies_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "policySetName", + "in": "path", + "description": "The name of the policy set.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the policy.", + "required": true, + "type": "string" + }, + { + "name": "policy", + "in": "body", + "description": "A Policy.", + "required": true, + "schema": { + "$ref": "#/definitions/PolicyFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Policies_Update": { + "$ref": "./examples/Policies_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules": { + "get": { + "tags": [ + "Schedules" + ], + "description": "List schedules in a given lab.", + "operationId": "Schedules_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Schedule", + "x-ms-examples": { + "Schedules_List": { + "$ref": "./examples/Schedules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}": { + "get": { + "tags": [ + "Schedules" + ], + "description": "Get schedule.", + "operationId": "Schedules_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Schedules_Get": { + "$ref": "./examples/Schedules_Get.json" + } + } + }, + "put": { + "tags": [ + "Schedules" + ], + "description": "Create or replace an existing schedule.", + "operationId": "Schedules_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Schedules_CreateOrUpdate": { + "$ref": "./examples/Schedules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "Schedules" + ], + "description": "Delete schedule.", + "operationId": "Schedules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Schedules_Delete": { + "$ref": "./examples/Schedules_Delete.json" + } + } + }, + "patch": { + "tags": [ + "Schedules" + ], + "description": "Allows modifying tags of schedules. All other properties will be ignored.", + "operationId": "Schedules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Schedules_Update": { + "$ref": "./examples/Schedules_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/execute": { + "post": { + "tags": [ + "Schedules" + ], + "description": "Execute a schedule. This operation can take a while to complete.", + "operationId": "Schedules_Execute", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Schedules_Execute": { + "$ref": "./examples/Schedules_Execute.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/schedules/{name}/listApplicable": { + "post": { + "tags": [ + "Schedules" + ], + "description": "Lists all applicable schedules", + "operationId": "Schedules_ListApplicable", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Schedules_ListApplicable": { + "$ref": "./examples/Schedules_ListApplicable.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/servicerunners/{name}": { + "get": { + "tags": [ + "ServiceRunners" + ], + "description": "Get service runner.", + "operationId": "ServiceRunners_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service runner.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceRunner" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceRunners_Get": { + "$ref": "./examples/ServiceRunners_Get.json" + } + } + }, + "put": { + "tags": [ + "ServiceRunners" + ], + "description": "Create or replace an existing service runner.", + "operationId": "ServiceRunners_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service runner.", + "required": true, + "type": "string" + }, + { + "name": "serviceRunner", + "in": "body", + "description": "A container for a managed identity to execute DevTest lab services.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceRunner" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceRunner" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceRunner" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceRunners_CreateOrUpdate": { + "$ref": "./examples/ServiceRunners_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServiceRunners" + ], + "description": "Delete service runner.", + "operationId": "ServiceRunners_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service runner.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceRunners_Delete": { + "$ref": "./examples/ServiceRunners_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users": { + "get": { + "tags": [ + "Users" + ], + "description": "List user profiles in a given lab.", + "operationId": "Users_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=identity)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/User", + "x-ms-examples": { + "Users_List": { + "$ref": "./examples/Users_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{name}": { + "get": { + "tags": [ + "Users" + ], + "description": "Get user profile.", + "operationId": "Users_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=identity)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Users_Get": { + "$ref": "./examples/Users_Get.json" + } + } + }, + "put": { + "tags": [ + "Users" + ], + "description": "Create or replace an existing user profile. This operation can take a while to complete.", + "operationId": "Users_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "Profile of a lab user.", + "required": true, + "schema": { + "$ref": "#/definitions/User" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Users_CreateOrUpdate": { + "$ref": "./examples/Users_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Users" + ], + "description": "Delete user profile. This operation can take a while to complete.", + "operationId": "Users_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Users_Delete": { + "$ref": "./examples/Users_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Users" + ], + "description": "Allows modifying tags of user profiles. All other properties will be ignored.", + "operationId": "Users_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "user", + "in": "body", + "description": "Profile of a lab user.", + "required": true, + "schema": { + "$ref": "#/definitions/UserFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/User" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Users_Update": { + "$ref": "./examples/Users_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks": { + "get": { + "tags": [ + "Disks" + ], + "description": "List disks in a given user profile.", + "operationId": "Disks_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=diskType)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Disk", + "x-ms-examples": { + "Disks_List": { + "$ref": "./examples/Disks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}": { + "get": { + "tags": [ + "Disks" + ], + "description": "Get disk.", + "operationId": "Disks_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=diskType)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_Get": { + "$ref": "./examples/Disks_Get.json" + } + } + }, + "put": { + "tags": [ + "Disks" + ], + "description": "Create or replace an existing disk. This operation can take a while to complete.", + "operationId": "Disks_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "name": "disk", + "in": "body", + "description": "A Disk.", + "required": true, + "schema": { + "$ref": "#/definitions/Disk" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_CreateOrUpdate": { + "$ref": "./examples/Disks_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Disks" + ], + "description": "Delete disk. This operation can take a while to complete.", + "operationId": "Disks_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_Delete": { + "$ref": "./examples/Disks_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Disks" + ], + "description": "Allows modifying tags of disks. All other properties will be ignored.", + "operationId": "Disks_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "name": "disk", + "in": "body", + "description": "A Disk.", + "required": true, + "schema": { + "$ref": "#/definitions/DiskFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_Update": { + "$ref": "./examples/Disks_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/attach": { + "post": { + "tags": [ + "Disks" + ], + "description": "Attach and create the lease of the disk to the virtual machine. This operation can take a while to complete.", + "operationId": "Disks_Attach", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "name": "attachDiskProperties", + "in": "body", + "description": "Properties of the disk to attach.", + "required": true, + "schema": { + "$ref": "#/definitions/AttachDiskProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_Attach": { + "$ref": "./examples/Disks_Attach.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/disks/{name}/detach": { + "post": { + "tags": [ + "Disks" + ], + "description": "Detach and break the lease of the disk attached to the virtual machine. This operation can take a while to complete.", + "operationId": "Disks_Detach", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the disk.", + "required": true, + "type": "string" + }, + { + "name": "detachDiskProperties", + "in": "body", + "description": "Properties of the disk to detach.", + "required": true, + "schema": { + "$ref": "#/definitions/DetachDiskProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disks_Detach": { + "$ref": "./examples/Disks_Detach.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments": { + "get": { + "tags": [ + "Environments" + ], + "description": "List environments in a given user profile.", + "operationId": "Environments_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DtlEnvironmentList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DtlEnvironment", + "x-ms-examples": { + "Environments_List": { + "$ref": "./examples/Environments_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/environments/{name}": { + "get": { + "tags": [ + "Environments" + ], + "description": "Get environment.", + "operationId": "Environments_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=deploymentProperties)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Environments_Get": { + "$ref": "./examples/Environments_Get.json" + } + } + }, + "put": { + "tags": [ + "Environments" + ], + "description": "Create or replace an existing environment. This operation can take a while to complete.", + "operationId": "Environments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "dtlEnvironment", + "in": "body", + "description": "An environment, which is essentially an ARM template deployment.", + "required": true, + "schema": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Environments_CreateOrUpdate": { + "$ref": "./examples/Environments_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Environments" + ], + "description": "Delete environment. This operation can take a while to complete.", + "operationId": "Environments_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Environments_Delete": { + "$ref": "./examples/Environments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Environments" + ], + "description": "Allows modifying tags of environments. All other properties will be ignored.", + "operationId": "Environments_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the environment.", + "required": true, + "type": "string" + }, + { + "name": "dtlEnvironment", + "in": "body", + "description": "An environment, which is essentially an ARM template deployment.", + "required": true, + "schema": { + "$ref": "#/definitions/DtlEnvironmentFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Environments_Update": { + "$ref": "./examples/Environments_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "description": "List secrets in a given user profile.", + "operationId": "Secrets_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=value)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Secret", + "x-ms-examples": { + "Secrets_List": { + "$ref": "./examples/Secrets_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/secrets/{name}": { + "get": { + "tags": [ + "Secrets" + ], + "description": "Get secret.", + "operationId": "Secrets_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the secret.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=value)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Secrets_Get": { + "$ref": "./examples/Secrets_Get.json" + } + } + }, + "put": { + "tags": [ + "Secrets" + ], + "description": "Create or replace an existing secret. This operation can take a while to complete.", + "operationId": "Secrets_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the secret.", + "required": true, + "type": "string" + }, + { + "name": "secret", + "in": "body", + "description": "A secret.", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Secrets_CreateOrUpdate": { + "$ref": "./examples/Secrets_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Secrets" + ], + "description": "Delete secret.", + "operationId": "Secrets_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the secret.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Secrets_Delete": { + "$ref": "./examples/Secrets_Delete.json" + } + } + }, + "patch": { + "tags": [ + "Secrets" + ], + "description": "Allows modifying tags of secrets. All other properties will be ignored.", + "operationId": "Secrets_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the secret.", + "required": true, + "type": "string" + }, + { + "name": "secret", + "in": "body", + "description": "A secret.", + "required": true, + "schema": { + "$ref": "#/definitions/SecretFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Secrets_Update": { + "$ref": "./examples/Secrets_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics": { + "get": { + "tags": [ + "ServiceFabrics" + ], + "description": "List service fabrics in a given user profile.", + "operationId": "ServiceFabrics_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=applicableSchedule)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceFabricList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ServiceFabric", + "x-ms-examples": { + "ServiceFabrics_List": { + "$ref": "./examples/ServiceFabrics_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{name}": { + "get": { + "tags": [ + "ServiceFabrics" + ], + "description": "Get service fabric.", + "operationId": "ServiceFabrics_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=applicableSchedule)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceFabric" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_Get": { + "$ref": "./examples/ServiceFabrics_Get.json" + } + } + }, + "put": { + "tags": [ + "ServiceFabrics" + ], + "description": "Create or replace an existing service fabric. This operation can take a while to complete.", + "operationId": "ServiceFabrics_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabric", + "in": "body", + "description": "A Service Fabric.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceFabric" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceFabric" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ServiceFabric" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_CreateOrUpdate": { + "$ref": "./examples/ServiceFabrics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ServiceFabrics" + ], + "description": "Delete service fabric. This operation can take a while to complete.", + "operationId": "ServiceFabrics_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_Delete": { + "$ref": "./examples/ServiceFabrics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ServiceFabrics" + ], + "description": "Allows modifying tags of service fabrics. All other properties will be ignored.", + "operationId": "ServiceFabrics_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabric", + "in": "body", + "description": "A Service Fabric.", + "required": true, + "schema": { + "$ref": "#/definitions/ServiceFabricFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServiceFabric" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_Update": { + "$ref": "./examples/ServiceFabrics_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{name}/listApplicableSchedules": { + "post": { + "tags": [ + "ServiceFabrics" + ], + "description": "Lists the applicable start/stop schedules, if any.", + "operationId": "ServiceFabrics_ListApplicableSchedules", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicableSchedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_ListApplicableSchedules": { + "$ref": "./examples/ServiceFabrics_ListApplicableSchedules.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{name}/start": { + "post": { + "tags": [ + "ServiceFabrics" + ], + "description": "Start a service fabric. This operation can take a while to complete.", + "operationId": "ServiceFabrics_Start", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_Start": { + "$ref": "./examples/ServiceFabrics_Start.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{name}/stop": { + "post": { + "tags": [ + "ServiceFabrics" + ], + "description": "Stop a service fabric This operation can take a while to complete.", + "operationId": "ServiceFabrics_Stop", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabrics_Stop": { + "$ref": "./examples/ServiceFabrics_Stop.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{serviceFabricName}/schedules": { + "get": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "List schedules in a given service fabric.", + "operationId": "ServiceFabricSchedules_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Schedule", + "x-ms-examples": { + "ServiceFabricSchedules_List": { + "$ref": "./examples/ServiceFabricSchedules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{serviceFabricName}/schedules/{name}": { + "get": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "Get schedule.", + "operationId": "ServiceFabricSchedules_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabricSchedules_Get": { + "$ref": "./examples/ServiceFabricSchedules_Get.json" + } + } + }, + "put": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "Create or replace an existing schedule.", + "operationId": "ServiceFabricSchedules_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabricSchedules_CreateOrUpdate": { + "$ref": "./examples/ServiceFabricSchedules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "Delete schedule.", + "operationId": "ServiceFabricSchedules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabricSchedules_Delete": { + "$ref": "./examples/ServiceFabricSchedules_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "Allows modifying tags of schedules. All other properties will be ignored.", + "operationId": "ServiceFabricSchedules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabricSchedules_Update": { + "$ref": "./examples/ServiceFabricSchedules_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/users/{userName}/servicefabrics/{serviceFabricName}/schedules/{name}/execute": { + "post": { + "tags": [ + "ServiceFabricSchedules" + ], + "description": "Execute a schedule. This operation can take a while to complete.", + "operationId": "ServiceFabricSchedules_Execute", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "userName", + "in": "path", + "description": "The name of the user profile.", + "required": true, + "type": "string" + }, + { + "name": "serviceFabricName", + "in": "path", + "description": "The name of the service fabric.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ServiceFabricSchedules_Execute": { + "$ref": "./examples/ServiceFabricSchedules_Execute.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines": { + "get": { + "tags": [ + "VirtualMachines" + ], + "description": "List virtual machines in a given lab.", + "operationId": "VirtualMachines_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabVirtualMachineList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/LabVirtualMachine", + "x-ms-examples": { + "VirtualMachines_List": { + "$ref": "./examples/VirtualMachines_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}": { + "get": { + "tags": [ + "VirtualMachines" + ], + "description": "Get virtual machine.", + "operationId": "VirtualMachines_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Get": { + "$ref": "./examples/VirtualMachines_Get.json" + } + } + }, + "put": { + "tags": [ + "VirtualMachines" + ], + "description": "Create or replace an existing virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "labVirtualMachine", + "in": "body", + "description": "A virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_CreateOrUpdate": { + "$ref": "./examples/VirtualMachines_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualMachines" + ], + "description": "Delete virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Delete": { + "$ref": "./examples/VirtualMachines_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualMachines" + ], + "description": "Allows modifying tags of virtual machines. All other properties will be ignored.", + "operationId": "VirtualMachines_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "labVirtualMachine", + "in": "body", + "description": "A virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/LabVirtualMachineFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Update": { + "$ref": "./examples/VirtualMachines_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/addDataDisk": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Attach a new or existing data disk to virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_AddDataDisk", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "dataDiskProperties", + "in": "body", + "description": "Request body for adding a new or existing data disk to a virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/DataDiskProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_AddDataDisk": { + "$ref": "./examples/VirtualMachines_AddDataDisk.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/applyArtifacts": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Apply artifacts to virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_ApplyArtifacts", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "applyArtifactsRequest", + "in": "body", + "description": "Request body for applying artifacts to a virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/ApplyArtifactsRequest" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_ApplyArtifacts": { + "$ref": "./examples/VirtualMachines_ApplyArtifacts.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/claim": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Take ownership of an existing virtual machine This operation can take a while to complete.", + "operationId": "VirtualMachines_Claim", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Claim": { + "$ref": "./examples/VirtualMachines_Claim.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/detachDataDisk": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Detach the specified disk from the virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_DetachDataDisk", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "detachDataDiskProperties", + "in": "body", + "description": "Request body for detaching data disk from a virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/DetachDataDiskProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_DetachDataDisk": { + "$ref": "./examples/VirtualMachines_DetachDataDisk.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/getRdpFileContents": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Gets a string that represents the contents of the RDP file for the virtual machine", + "operationId": "VirtualMachines_GetRdpFileContents", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RdpConnection" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_GetRdpFileContents": { + "$ref": "./examples/VirtualMachines_GetRdpFileContents.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/listApplicableSchedules": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Lists the applicable start/stop schedules, if any.", + "operationId": "VirtualMachines_ListApplicableSchedules", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApplicableSchedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_ListApplicableSchedules": { + "$ref": "./examples/VirtualMachines_ListApplicableSchedules.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/redeploy": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Redeploy a virtual machine This operation can take a while to complete.", + "operationId": "VirtualMachines_Redeploy", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Redeploy": { + "$ref": "./examples/VirtualMachines_Redeploy.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/resize": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Resize Virtual Machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_Resize", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "resizeLabVirtualMachineProperties", + "in": "body", + "description": "Request body for resizing a virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/ResizeLabVirtualMachineProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Resize": { + "$ref": "./examples/VirtualMachines_Resize.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/restart": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Restart a virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_Restart", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Restart": { + "$ref": "./examples/VirtualMachines_Restart.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/start": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Start a virtual machine. This operation can take a while to complete.", + "operationId": "VirtualMachines_Start", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Start": { + "$ref": "./examples/VirtualMachines_Start.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/stop": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Stop a virtual machine This operation can take a while to complete.", + "operationId": "VirtualMachines_Stop", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_Stop": { + "$ref": "./examples/VirtualMachines_Stop.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/transferDisks": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Transfers all data disks attached to the virtual machine to be owned by the current user. This operation can take a while to complete.", + "operationId": "VirtualMachines_TransferDisks", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_TransferDisks": { + "$ref": "./examples/VirtualMachines_TransferDisks.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{name}/unClaim": { + "post": { + "tags": [ + "VirtualMachines" + ], + "description": "Release ownership of an existing virtual machine This operation can take a while to complete.", + "operationId": "VirtualMachines_UnClaim", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachines_UnClaim": { + "$ref": "./examples/VirtualMachines_UnClaim.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules": { + "get": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "List schedules in a given virtual machine.", + "operationId": "VirtualMachineSchedules_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Schedule", + "x-ms-examples": { + "VirtualMachineSchedules_List": { + "$ref": "./examples/VirtualMachineSchedules_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}": { + "get": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "Get schedule.", + "operationId": "VirtualMachineSchedules_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachineSchedules_Get": { + "$ref": "./examples/VirtualMachineSchedules_Get.json" + } + } + }, + "put": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "Create or replace an existing schedule.", + "operationId": "VirtualMachineSchedules_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachineSchedules_CreateOrUpdate": { + "$ref": "./examples/VirtualMachineSchedules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "Delete schedule.", + "operationId": "VirtualMachineSchedules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachineSchedules_Delete": { + "$ref": "./examples/VirtualMachineSchedules_Delete.json" + } + } + }, + "patch": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "Allows modifying tags of schedules. All other properties will be ignored.", + "operationId": "VirtualMachineSchedules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachineSchedules_Update": { + "$ref": "./examples/VirtualMachineSchedules_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualmachines/{virtualMachineName}/schedules/{name}/execute": { + "post": { + "tags": [ + "VirtualMachineSchedules" + ], + "description": "Execute a schedule. This operation can take a while to complete.", + "operationId": "VirtualMachineSchedules_Execute", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "virtualMachineName", + "in": "path", + "description": "The name of the virtual machine.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualMachineSchedules_Execute": { + "$ref": "./examples/VirtualMachineSchedules_Execute.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "description": "List virtual networks in a given lab.", + "operationId": "VirtualNetworks_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetworkList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/VirtualNetwork", + "x-ms-examples": { + "VirtualNetworks_List": { + "$ref": "./examples/VirtualNetworks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/virtualnetworks/{name}": { + "get": { + "tags": [ + "VirtualNetworks" + ], + "description": "Get virtual network.", + "operationId": "VirtualNetworks_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual network.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($expand=externalSubnets)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualNetworks_Get": { + "$ref": "./examples/VirtualNetworks_Get.json" + } + } + }, + "put": { + "tags": [ + "VirtualNetworks" + ], + "description": "Create or replace an existing virtual network. This operation can take a while to complete.", + "operationId": "VirtualNetworks_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual network.", + "required": true, + "type": "string" + }, + { + "name": "virtualNetwork", + "in": "body", + "description": "A virtual network.", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualNetworks_CreateOrUpdate": { + "$ref": "./examples/VirtualNetworks_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "VirtualNetworks" + ], + "description": "Delete virtual network. This operation can take a while to complete.", + "operationId": "VirtualNetworks_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual network.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualNetworks_Delete": { + "$ref": "./examples/VirtualNetworks_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "VirtualNetworks" + ], + "description": "Allows modifying tags of virtual networks. All other properties will be ignored.", + "operationId": "VirtualNetworks_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "labName", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "The name of the virtual network.", + "required": true, + "type": "string" + }, + { + "name": "virtualNetwork", + "in": "body", + "description": "A virtual network.", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VirtualNetworks_Update": { + "$ref": "./examples/VirtualNetworks_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}": { + "get": { + "tags": [ + "Labs" + ], + "description": "Get lab.", + "operationId": "Labs_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=defaultStorageAccount)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_Get": { + "$ref": "./examples/Labs_Get.json" + } + } + }, + "put": { + "tags": [ + "Labs" + ], + "description": "Create or replace an existing lab. This operation can take a while to complete.", + "operationId": "Labs_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "lab", + "in": "body", + "description": "A lab.", + "required": true, + "schema": { + "$ref": "#/definitions/Lab" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_CreateOrUpdate": { + "$ref": "./examples/Labs_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Labs" + ], + "description": "Delete lab. This operation can take a while to complete.", + "operationId": "Labs_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_Delete": { + "$ref": "./examples/Labs_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Labs" + ], + "description": "Allows modifying tags of labs. All other properties will be ignored.", + "operationId": "Labs_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "lab", + "in": "body", + "description": "A lab.", + "required": true, + "schema": { + "$ref": "#/definitions/LabFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Lab" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_Update": { + "$ref": "./examples/Labs_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/claimAnyVm": { + "post": { + "tags": [ + "Labs" + ], + "description": "Claim a random claimable virtual machine in the lab. This operation can take a while to complete.", + "operationId": "Labs_ClaimAnyVm", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_ClaimAnyVm": { + "$ref": "./examples/Labs_ClaimAnyVm.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/createEnvironment": { + "post": { + "tags": [ + "Labs" + ], + "description": "Create virtual machines in a lab. This operation can take a while to complete.", + "operationId": "Labs_CreateEnvironment", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "labVirtualMachineCreationParameter", + "in": "body", + "description": "Properties for creating a virtual machine.", + "required": true, + "schema": { + "$ref": "#/definitions/LabVirtualMachineCreationParameter" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_CreateEnvironment": { + "$ref": "./examples/Labs_CreateEnvironment.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/exportResourceUsage": { + "post": { + "tags": [ + "Labs" + ], + "description": "Exports the lab resource usage into a storage account This operation can take a while to complete.", + "operationId": "Labs_ExportResourceUsage", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "exportResourceUsageParameters", + "in": "body", + "description": "The parameters of the export operation.", + "required": true, + "schema": { + "$ref": "#/definitions/ExportResourceUsageParameters" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_ExportResourceUsage": { + "$ref": "./examples/Labs_ExportResourceUsage.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/generateUploadUri": { + "post": { + "tags": [ + "Labs" + ], + "description": "Generate a URI for uploading custom disk images to a Lab.", + "operationId": "Labs_GenerateUploadUri", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "generateUploadUriParameter", + "in": "body", + "description": "Properties for generating an upload URI.", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateUploadUriParameter" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GenerateUploadUriResponse" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_GenerateUploadUri": { + "$ref": "./examples/Labs_GenerateUploadUri.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/importVirtualMachine": { + "post": { + "tags": [ + "Labs" + ], + "description": "Import a virtual machine into a different lab. This operation can take a while to complete.", + "operationId": "Labs_ImportVirtualMachine", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "name": "importLabVirtualMachineRequest", + "in": "body", + "description": "This represents the payload required to import a virtual machine from a different lab into the current one", + "required": true, + "schema": { + "$ref": "#/definitions/ImportLabVirtualMachineRequest" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Labs_ImportVirtualMachine": { + "$ref": "./examples/Labs_ImportVirtualMachine.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{name}/listVhds": { + "post": { + "tags": [ + "Labs" + ], + "description": "List disk images available for custom image creation.", + "operationId": "Labs_ListVhds", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the lab.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LabVhdList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Labs_ListVhds": { + "$ref": "./examples/Labs_ListVhds.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules": { + "get": { + "tags": [ + "GlobalSchedules" + ], + "description": "List schedules in a resource group.", + "operationId": "GlobalSchedules_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName')", + "type": "string" + }, + { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'", + "type": "integer", + "format": "int32" + }, + { + "name": "$orderby", + "in": "query", + "description": "The ordering expression for the results, using OData notation. Example: '$orderby=name desc'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ScheduleList" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/Schedule", + "x-ms-examples": { + "GlobalSchedules_ListByResourceGroup": { + "$ref": "./examples/GlobalSchedules_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}": { + "get": { + "tags": [ + "GlobalSchedules" + ], + "description": "Get schedule.", + "operationId": "GlobalSchedules_Get", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "$expand", + "in": "query", + "description": "Specify the $expand query. Example: 'properties($select=status)'", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_Get": { + "$ref": "./examples/GlobalSchedules_Get.json" + } + } + }, + "put": { + "tags": [ + "GlobalSchedules" + ], + "description": "Create or replace an existing schedule.", + "operationId": "GlobalSchedules_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_CreateOrUpdate": { + "$ref": "./examples/GlobalSchedules_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "GlobalSchedules" + ], + "description": "Delete schedule.", + "operationId": "GlobalSchedules_Delete", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_Delete": { + "$ref": "./examples/GlobalSchedules_Delete.json" + } + } + }, + "patch": { + "tags": [ + "GlobalSchedules" + ], + "description": "Allows modifying tags of schedules. All other properties will be ignored.", + "operationId": "GlobalSchedules_Update", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "schedule", + "in": "body", + "description": "A schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleFragment" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_Update": { + "$ref": "./examples/GlobalSchedules_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/execute": { + "post": { + "tags": [ + "GlobalSchedules" + ], + "description": "Execute a schedule. This operation can take a while to complete.", + "operationId": "GlobalSchedules_Execute", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_Execute": { + "$ref": "./examples/GlobalSchedules_Execute.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/schedules/{name}/retarget": { + "post": { + "tags": [ + "GlobalSchedules" + ], + "description": "Updates a schedule's target resource Id. This operation can take a while to complete.", + "operationId": "GlobalSchedules_Retarget", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "name": "name", + "in": "path", + "description": "The name of the schedule.", + "required": true, + "type": "string" + }, + { + "name": "retargetScheduleProperties", + "in": "body", + "description": "Properties for retargeting a virtual machine schedule.", + "required": true, + "schema": { + "$ref": "#/definitions/RetargetScheduleProperties" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "BadRequest", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GlobalSchedules_Retarget": { + "$ref": "./examples/GlobalSchedules_Retarget.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ApplicableSchedule": { + "description": "Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ApplicableScheduleProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ApplicableScheduleFragment": { + "description": "Schedules applicable to a virtual machine. The schedules may have been defined on a VM or on lab level.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "ApplicableScheduleProperties": { + "description": "Properties of a schedules applicable to a virtual machine.", + "type": "object", + "properties": { + "labVmsShutdown": { + "$ref": "#/definitions/Schedule", + "description": "The auto-shutdown schedule, if one has been set at the lab or lab resource level." + }, + "labVmsStartup": { + "$ref": "#/definitions/Schedule", + "description": "The auto-startup schedule, if one has been set at the lab or lab resource level." + } + } + }, + "ApplicableSchedulePropertiesFragment": { + "description": "Properties of a schedules applicable to a virtual machine.", + "type": "object", + "properties": {} + }, + "ApplyArtifactsRequest": { + "description": "Request body for applying artifacts to a virtual machine.", + "type": "object", + "properties": { + "artifacts": { + "description": "The list of artifacts to apply.", + "type": "array", + "items": { + "$ref": "#/definitions/ArtifactInstallProperties" + } + } + } + }, + "ArmTemplate": { + "description": "An Azure Resource Manager template.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArmTemplateProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ArmTemplateInfo": { + "description": "Information about a generated ARM template.", + "type": "object", + "properties": { + "template": { + "description": "The template's contents.", + "type": "object" + }, + "parameters": { + "description": "The parameters of the ARM template.", + "type": "object" + } + } + }, + "ArmTemplateList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ArmTemplate" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ArmTemplateParameterProperties": { + "description": "Properties of an Azure Resource Manager template parameter.", + "type": "object", + "properties": { + "name": { + "description": "The name of the template parameter.", + "type": "string" + }, + "value": { + "description": "The value of the template parameter.", + "type": "string" + } + } + }, + "ArmTemplateParameterPropertiesFragment": { + "description": "Properties of an Azure Resource Manager template parameter.", + "type": "object", + "properties": {} + }, + "ArmTemplateProperties": { + "description": "Properties of an Azure Resource Manager template.", + "type": "object", + "properties": { + "displayName": { + "description": "The display name of the ARM template.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the ARM template.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The publisher of the ARM template.", + "type": "string", + "readOnly": true + }, + "icon": { + "description": "The URI to the icon of the ARM template.", + "type": "string", + "readOnly": true + }, + "contents": { + "description": "The contents of the ARM template.", + "type": "object", + "readOnly": true + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the armTemplate.", + "type": "string", + "readOnly": true + }, + "parametersValueFilesInfo": { + "description": "File name and parameter values information from all azuredeploy.*.parameters.json for the ARM template.", + "type": "array", + "items": { + "$ref": "#/definitions/ParametersValueFileInfo" + }, + "readOnly": true + }, + "enabled": { + "description": "Whether or not ARM template is enabled for use by lab user.", + "type": "boolean", + "readOnly": true + } + } + }, + "Artifact": { + "description": "An artifact.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArtifactProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ArtifactDeploymentStatusProperties": { + "description": "Properties of an artifact deployment.", + "type": "object", + "properties": { + "deploymentStatus": { + "description": "The deployment status of the artifact.", + "type": "string" + }, + "artifactsApplied": { + "format": "int32", + "description": "The total count of the artifacts that were successfully applied.", + "type": "integer" + }, + "totalArtifacts": { + "format": "int32", + "description": "The total count of the artifacts that were tentatively applied.", + "type": "integer" + } + } + }, + "ArtifactDeploymentStatusPropertiesFragment": { + "description": "Properties of an artifact deployment.", + "type": "object", + "properties": {} + }, + "ArtifactInstallProperties": { + "description": "Properties of an artifact.", + "type": "object", + "properties": { + "artifactId": { + "description": "The artifact's identifier.", + "type": "string" + }, + "artifactTitle": { + "description": "The artifact's title.", + "type": "string" + }, + "parameters": { + "description": "The parameters of the artifact.", + "type": "array", + "items": { + "$ref": "#/definitions/ArtifactParameterProperties" + } + }, + "status": { + "description": "The status of the artifact.", + "type": "string" + }, + "deploymentStatusMessage": { + "description": "The status message from the deployment.", + "type": "string" + }, + "vmExtensionStatusMessage": { + "description": "The status message from the virtual machine extension.", + "type": "string" + }, + "installTime": { + "format": "date-time", + "description": "The time that the artifact starts to install on the virtual machine.", + "type": "string" + } + } + }, + "ArtifactInstallPropertiesFragment": { + "description": "Properties of an artifact.", + "type": "object", + "properties": {} + }, + "ArtifactList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Artifact" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ArtifactParameterProperties": { + "description": "Properties of an artifact parameter.", + "type": "object", + "properties": { + "name": { + "description": "The name of the artifact parameter.", + "type": "string" + }, + "value": { + "description": "The value of the artifact parameter.", + "type": "string" + } + } + }, + "ArtifactParameterPropertiesFragment": { + "description": "Properties of an artifact parameter.", + "type": "object", + "properties": {} + }, + "ArtifactProperties": { + "description": "Properties of an artifact.", + "type": "object", + "properties": { + "title": { + "description": "The artifact's title.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The artifact's description.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The artifact's publisher.", + "type": "string", + "readOnly": true + }, + "filePath": { + "description": "The file path to the artifact.", + "type": "string", + "readOnly": true + }, + "icon": { + "description": "The URI to the artifact icon.", + "type": "string", + "readOnly": true + }, + "targetOsType": { + "description": "The artifact's target OS.", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "The artifact's parameters.", + "type": "object", + "readOnly": true + }, + "createdDate": { + "format": "date-time", + "description": "The artifact's creation date.", + "type": "string", + "readOnly": true + } + } + }, + "ArtifactSource": { + "description": "Properties of an artifact source.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ArtifactSourceProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ArtifactSourceFragment": { + "description": "Properties of an artifact source.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "ArtifactSourceList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ArtifactSource" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ArtifactSourceProperties": { + "description": "Properties of an artifact source.", + "type": "object", + "properties": { + "displayName": { + "description": "The artifact source's display name.", + "type": "string" + }, + "uri": { + "description": "The artifact source's URI.", + "type": "string" + }, + "sourceType": { + "description": "The artifact source's type.", + "enum": [ + "VsoGit", + "GitHub", + "StorageAccount" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceControlType", + "modelAsString": true + } + }, + "folderPath": { + "description": "The folder containing artifacts.", + "type": "string" + }, + "armTemplateFolderPath": { + "description": "The folder containing Azure Resource Manager templates.", + "type": "string" + }, + "branchRef": { + "description": "The artifact source's branch reference.", + "type": "string" + }, + "securityToken": { + "description": "The security token to authenticate to the artifact source.", + "type": "string" + }, + "status": { + "description": "Indicates if the artifact source is enabled (values: Enabled, Disabled).", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "createdDate": { + "format": "date-time", + "description": "The artifact source's creation date.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "ArtifactSourcePropertiesFragment": { + "description": "Properties of an artifact source.", + "type": "object", + "properties": {} + }, + "AttachDiskProperties": { + "description": "Properties of the disk to attach.", + "type": "object", + "properties": { + "leasedByLabVmId": { + "description": "The resource ID of the Lab virtual machine to which the disk is attached.", + "type": "string" + } + } + }, + "AttachNewDataDiskOptions": { + "description": "Properties to attach new disk to the Virtual Machine.", + "type": "object", + "properties": { + "diskSizeGiB": { + "format": "int32", + "description": "Size of the disk to be attached in Gibibytes.", + "type": "integer" + }, + "diskName": { + "description": "The name of the disk to be attached.", + "type": "string" + }, + "diskType": { + "description": "The storage type for the disk (i.e. Standard, Premium).", + "enum": [ + "Standard", + "Premium", + "StandardSSD" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + } + } + }, + "AttachNewDataDiskOptionsFragment": { + "description": "Properties to attach new disk to the Virtual Machine.", + "type": "object", + "properties": {} + }, + "BulkCreationParameters": { + "description": "Parameters for creating multiple virtual machines as a single action.", + "type": "object", + "properties": { + "instanceCount": { + "format": "int32", + "description": "The number of virtual machine instances to create.", + "type": "integer" + } + } + }, + "BulkCreationParametersFragment": { + "description": "Parameters for creating multiple virtual machines as a single action.", + "type": "object", + "properties": {} + }, + "CloudError": { + "description": "Error from a REST request.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody", + "description": "The cloud error that occurred" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "Body of an error from a REST request.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string" + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "target": { + "description": "The error target.", + "type": "string" + }, + "details": { + "description": "Inner errors.", + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + } + } + }, + "x-ms-external": true + }, + "ComputeDataDisk": { + "description": "A data disks attached to a virtual machine.", + "type": "object", + "properties": { + "name": { + "description": "Gets data disk name.", + "type": "string" + }, + "diskUri": { + "description": "When backed by a blob, the URI of underlying blob.", + "type": "string" + }, + "managedDiskId": { + "description": "When backed by managed disk, this is the ID of the compute disk resource.", + "type": "string" + }, + "diskSizeGiB": { + "format": "int32", + "description": "Gets data disk size in GiB.", + "type": "integer" + } + } + }, + "ComputeDataDiskFragment": { + "description": "A data disks attached to a virtual machine.", + "type": "object", + "properties": {} + }, + "ComputeVmInstanceViewStatus": { + "description": "Status information about a virtual machine.", + "type": "object", + "properties": { + "code": { + "description": "Gets the status Code.", + "type": "string" + }, + "displayStatus": { + "description": "Gets the short localizable label for the status.", + "type": "string" + }, + "message": { + "description": "Gets the message associated with the status.", + "type": "string" + } + } + }, + "ComputeVmInstanceViewStatusFragment": { + "description": "Status information about a virtual machine.", + "type": "object", + "properties": {} + }, + "ComputeVmProperties": { + "description": "Properties of a virtual machine returned by the Microsoft.Compute API.", + "type": "object", + "properties": { + "statuses": { + "description": "Gets the statuses of the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeVmInstanceViewStatus" + } + }, + "osType": { + "description": "Gets the OS type of the virtual machine.", + "type": "string" + }, + "vmSize": { + "description": "Gets the size of the virtual machine.", + "type": "string" + }, + "networkInterfaceId": { + "description": "Gets the network interface ID of the virtual machine.", + "type": "string" + }, + "osDiskId": { + "description": "Gets OS disk blob uri for the virtual machine.", + "type": "string" + }, + "dataDiskIds": { + "description": "Gets data disks blob uri for the virtual machine.", + "type": "array", + "items": { + "type": "string" + } + }, + "dataDisks": { + "description": "Gets all data disks attached to the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeDataDisk" + } + } + } + }, + "ComputeVmPropertiesFragment": { + "description": "Properties of a virtual machine returned by the Microsoft.Compute API.", + "type": "object", + "properties": {} + }, + "CostThresholdProperties": { + "description": "Properties of a cost threshold item.", + "type": "object", + "properties": { + "thresholdId": { + "description": "The ID of the cost threshold item.", + "type": "string" + }, + "percentageThreshold": { + "$ref": "#/definitions/PercentageCostThresholdProperties", + "description": "The value of the percentage cost threshold." + }, + "displayOnChart": { + "description": "Indicates whether this threshold will be displayed on cost charts.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CostThresholdStatus", + "modelAsString": true + } + }, + "sendNotificationWhenExceeded": { + "description": "Indicates whether notifications will be sent when this threshold is exceeded.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CostThresholdStatus", + "modelAsString": true + } + }, + "notificationSent": { + "description": "Indicates the datetime when notifications were last sent for this threshold.", + "type": "string" + } + } + }, + "CustomImage": { + "description": "A custom image.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomImageProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "CustomImageFragment": { + "description": "A custom image.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "CustomImageList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomImage" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "CustomImageProperties": { + "description": "Properties of a custom image.", + "type": "object", + "properties": { + "vm": { + "$ref": "#/definitions/CustomImagePropertiesFromVm", + "description": "The virtual machine from which the image is to be created." + }, + "vhd": { + "$ref": "#/definitions/CustomImagePropertiesCustom", + "description": "The VHD from which the image is to be created." + }, + "description": { + "description": "The description of the custom image.", + "type": "string" + }, + "author": { + "description": "The author of the custom image.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the custom image.", + "type": "string", + "readOnly": true + }, + "managedImageId": { + "description": "The Managed Image Id backing the custom image.", + "type": "string" + }, + "managedSnapshotId": { + "description": "The Managed Snapshot Id backing the custom image.", + "type": "string" + }, + "dataDiskStorageInfo": { + "description": "Storage information about the data disks present in the custom image", + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskStorageTypeInfo" + } + }, + "customImagePlan": { + "$ref": "#/definitions/CustomImagePropertiesFromPlan", + "description": "Storage information about the plan related to this custom image" + }, + "isPlanAuthorized": { + "description": "Whether or not the custom images underlying offer/plan has been enabled for programmatic deployment", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "CustomImagePropertiesCustom": { + "description": "Properties for creating a custom image from a VHD.", + "required": [ + "osType" + ], + "type": "object", + "properties": { + "imageName": { + "description": "The image name.", + "type": "string" + }, + "sysPrep": { + "description": "Indicates whether sysprep has been run on the VHD.", + "type": "boolean" + }, + "osType": { + "description": "The OS type of the custom image (i.e. Windows, Linux)", + "enum": [ + "Windows", + "Linux", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomImageOsType", + "modelAsString": true + } + } + } + }, + "CustomImagePropertiesCustomFragment": { + "description": "Properties for creating a custom image from a VHD.", + "type": "object", + "properties": {} + }, + "CustomImagePropertiesFragment": { + "description": "Properties of a custom image.", + "type": "object", + "properties": {} + }, + "CustomImagePropertiesFromPlan": { + "description": "Properties for plan on a custom image.", + "type": "object", + "properties": { + "id": { + "description": "The id of the plan, equivalent to name of the plan", + "type": "string" + }, + "publisher": { + "description": "The publisher for the plan from the marketplace image the custom image is derived from", + "type": "string" + }, + "offer": { + "description": "The offer for the plan from the marketplace image the custom image is derived from", + "type": "string" + } + } + }, + "CustomImagePropertiesFromPlanFragment": { + "description": "Properties for plan on a custom image.", + "type": "object", + "properties": {} + }, + "CustomImagePropertiesFromVm": { + "description": "Properties for creating a custom image from a virtual machine.", + "type": "object", + "properties": { + "sourceVmId": { + "description": "The source vm identifier.", + "type": "string" + }, + "windowsOsInfo": { + "$ref": "#/definitions/WindowsOsInfo", + "description": "The Windows OS information of the VM." + }, + "linuxOsInfo": { + "$ref": "#/definitions/LinuxOsInfo", + "description": "The Linux OS information of the VM." + } + } + }, + "CustomImagePropertiesFromVmFragment": { + "description": "Properties for creating a custom image from a virtual machine.", + "type": "object", + "properties": {} + }, + "DataDiskProperties": { + "description": "Request body for adding a new or existing data disk to a virtual machine.", + "type": "object", + "properties": { + "attachNewDataDiskOptions": { + "$ref": "#/definitions/AttachNewDataDiskOptions", + "description": "Specifies options to attach a new disk to the virtual machine." + }, + "existingLabDiskId": { + "description": "Specifies the existing lab disk id to attach to virtual machine.", + "type": "string" + }, + "hostCaching": { + "description": "Caching option for a data disk (i.e. None, ReadOnly, ReadWrite).", + "enum": [ + "None", + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "HostCachingOptions", + "modelAsString": true + } + } + } + }, + "DataDiskPropertiesFragment": { + "description": "Request body for adding a new or existing data disk to a virtual machine.", + "type": "object", + "properties": {} + }, + "DataDiskStorageTypeInfo": { + "description": "Storage information about the data disks present in the custom image", + "type": "object", + "properties": { + "lun": { + "description": "Disk Lun", + "type": "string" + }, + "storageType": { + "description": "Disk Storage Type", + "enum": [ + "Standard", + "Premium", + "StandardSSD" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + } + } + }, + "DataDiskStorageTypeInfoFragment": { + "description": "Storage information about the data disks present in the custom image", + "type": "object", + "properties": {} + }, + "DayDetails": { + "description": "Properties of a daily schedule.", + "type": "object", + "properties": { + "time": { + "description": "The time of day the schedule will occur.", + "type": "string" + } + } + }, + "DayDetailsFragment": { + "description": "Properties of a daily schedule.", + "type": "object", + "properties": {} + }, + "DetachDataDiskProperties": { + "description": "Request body for detaching data disk from a virtual machine.", + "type": "object", + "properties": { + "existingLabDiskId": { + "description": "Specifies the disk resource ID to detach from virtual machine.", + "type": "string" + } + } + }, + "DetachDiskProperties": { + "description": "Properties of the disk to detach.", + "type": "object", + "properties": { + "leasedByLabVmId": { + "description": "The resource ID of the Lab VM to which the disk is attached.", + "type": "string" + } + } + }, + "Disk": { + "description": "A Disk.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DiskProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "DiskFragment": { + "description": "A Disk.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "DiskList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "DiskProperties": { + "description": "Properties of a disk.", + "type": "object", + "properties": { + "diskType": { + "description": "The storage type for the disk (i.e. Standard, Premium).", + "enum": [ + "Standard", + "Premium", + "StandardSSD" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "diskSizeGiB": { + "format": "int32", + "description": "The size of the disk in Gibibytes.", + "type": "integer" + }, + "leasedByLabVmId": { + "description": "The resource ID of the VM to which this disk is leased.", + "type": "string" + }, + "diskBlobName": { + "description": "When backed by a blob, the name of the VHD blob without extension.", + "type": "string" + }, + "diskUri": { + "description": "When backed by a blob, the URI of underlying blob.", + "type": "string" + }, + "storageAccountId": { + "description": "When backed by a blob, the storage account where the blob is.", + "type": "string" + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the disk.", + "type": "string", + "readOnly": true + }, + "hostCaching": { + "description": "The host caching policy of the disk (i.e. None, ReadOnly, ReadWrite).", + "type": "string" + }, + "managedDiskId": { + "description": "When backed by managed disk, this is the ID of the compute disk resource.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "DiskPropertiesFragment": { + "description": "Properties of a disk.", + "type": "object", + "properties": {} + }, + "DtlEnvironment": { + "description": "An environment, which is essentially an ARM template deployment.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnvironmentProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "DtlEnvironmentFragment": { + "description": "An environment, which is essentially an ARM template deployment.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "DtlEnvironmentList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/DtlEnvironment" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "EnvironmentDeploymentProperties": { + "description": "Properties of an environment deployment.", + "type": "object", + "properties": { + "armTemplateId": { + "description": "The Azure Resource Manager template's identifier.", + "type": "string" + }, + "parameters": { + "description": "The parameters of the Azure Resource Manager template.", + "type": "array", + "items": { + "$ref": "#/definitions/ArmTemplateParameterProperties" + } + } + } + }, + "EnvironmentDeploymentPropertiesFragment": { + "description": "Properties of an environment deployment.", + "type": "object", + "properties": {} + }, + "EnvironmentProperties": { + "description": "Properties of an environment.", + "type": "object", + "properties": { + "deploymentProperties": { + "$ref": "#/definitions/EnvironmentDeploymentProperties", + "description": "The deployment properties of the environment." + }, + "armTemplateDisplayName": { + "description": "The display name of the Azure Resource Manager template that produced the environment.", + "type": "string" + }, + "resourceGroupId": { + "description": "The identifier of the resource group containing the environment's resources.", + "type": "string", + "readOnly": true + }, + "createdByUser": { + "description": "The creator of the environment.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentPropertiesFragment": { + "description": "Properties of an environment.", + "type": "object", + "properties": {} + }, + "EvaluatePoliciesProperties": { + "description": "Properties for evaluating a policy set.", + "type": "object", + "properties": { + "factName": { + "description": "The fact name.", + "type": "string" + }, + "factData": { + "description": "The fact data.", + "type": "string" + }, + "valueOffset": { + "description": "The value offset.", + "type": "string" + }, + "userObjectId": { + "description": "The user for which policies will be evaluated", + "type": "string" + } + } + }, + "EvaluatePoliciesRequest": { + "description": "Request body for evaluating a policy set.", + "type": "object", + "properties": { + "policies": { + "description": "Policies to evaluate.", + "type": "array", + "items": { + "$ref": "#/definitions/EvaluatePoliciesProperties" + } + } + } + }, + "EvaluatePoliciesResponse": { + "description": "Response body for evaluating a policy set.", + "type": "object", + "properties": { + "results": { + "description": "Results of evaluating a policy set.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicySetResult" + } + } + } + }, + "Event": { + "description": "An event to be notified for.", + "type": "object", + "properties": { + "eventName": { + "description": "The event type for which this notification is enabled (i.e. AutoShutdown, Cost)", + "enum": [ + "AutoShutdown", + "Cost" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationChannelEventType", + "modelAsString": true + } + } + } + }, + "EventFragment": { + "description": "An event to be notified for.", + "type": "object", + "properties": {} + }, + "ExportResourceUsageParameters": { + "description": "The parameters of the export operation.", + "type": "object", + "properties": { + "blobStorageAbsoluteSasUri": { + "description": "The blob storage absolute sas uri with write permission to the container which the usage data needs to be uploaded to.", + "type": "string" + }, + "usageStartDate": { + "format": "date-time", + "description": "The start time of the usage. If not provided, usage will be reported since the beginning of data collection.", + "type": "string" + } + } + }, + "ExternalSubnet": { + "description": "Subnet information as returned by the Microsoft.Network API.", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the identifier.", + "type": "string" + }, + "name": { + "description": "Gets or sets the name.", + "type": "string" + } + } + }, + "ExternalSubnetFragment": { + "description": "Subnet information as returned by the Microsoft.Network API.", + "type": "object", + "properties": {} + }, + "Formula": { + "description": "A formula for creating a VM, specifying an image base and other parameters", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FormulaProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "FormulaFragment": { + "description": "A formula for creating a VM, specifying an image base and other parameters", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "FormulaList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Formula" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "FormulaProperties": { + "description": "Properties of a formula.", + "type": "object", + "properties": { + "description": { + "description": "The description of the formula.", + "type": "string" + }, + "author": { + "description": "The author of the formula.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The OS type of the formula.", + "type": "string" + }, + "creationDate": { + "format": "date-time", + "description": "The creation date of the formula.", + "type": "string", + "readOnly": true + }, + "formulaContent": { + "$ref": "#/definitions/LabVirtualMachineCreationParameter", + "description": "The content of the formula." + }, + "vm": { + "$ref": "#/definitions/FormulaPropertiesFromVm", + "description": "Information about a VM from which a formula is to be created." + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "FormulaPropertiesFragment": { + "description": "Properties of a formula.", + "type": "object", + "properties": {} + }, + "FormulaPropertiesFromVm": { + "description": "Information about a VM from which a formula is to be created.", + "type": "object", + "properties": { + "labVmId": { + "description": "The identifier of the VM from which a formula is to be created.", + "type": "string" + } + } + }, + "FormulaPropertiesFromVmFragment": { + "description": "Information about a VM from which a formula is to be created.", + "type": "object", + "properties": {} + }, + "GalleryImage": { + "description": "A gallery image.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/GalleryImageProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "GalleryImageList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/GalleryImage" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "GalleryImageProperties": { + "description": "Properties of a gallery image.", + "type": "object", + "properties": { + "author": { + "description": "The author of the gallery image.", + "type": "string" + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the gallery image.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The description of the gallery image.", + "type": "string" + }, + "imageReference": { + "$ref": "#/definitions/GalleryImageReference", + "description": "The image reference of the gallery image." + }, + "icon": { + "description": "The icon of the gallery image.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether this gallery image is enabled.", + "type": "boolean" + }, + "planId": { + "description": "The third party plan that applies to this image", + "type": "string" + }, + "isPlanAuthorized": { + "description": "Indicates if the plan has been authorized for programmatic deployment.", + "type": "boolean" + } + } + }, + "GalleryImageReference": { + "description": "The reference information for an Azure Marketplace image.", + "type": "object", + "properties": { + "offer": { + "description": "The offer of the gallery image.", + "type": "string" + }, + "publisher": { + "description": "The publisher of the gallery image.", + "type": "string" + }, + "sku": { + "description": "The SKU of the gallery image.", + "type": "string" + }, + "osType": { + "description": "The OS type of the gallery image.", + "type": "string" + }, + "version": { + "description": "The version of the gallery image.", + "type": "string" + } + } + }, + "GalleryImageReferenceFragment": { + "description": "The reference information for an Azure Marketplace image.", + "type": "object", + "properties": {} + }, + "GenerateArmTemplateRequest": { + "description": "Parameters for generating an ARM template for deploying artifacts.", + "type": "object", + "properties": { + "virtualMachineName": { + "description": "The resource name of the virtual machine.", + "type": "string" + }, + "parameters": { + "description": "The parameters of the ARM template.", + "type": "array", + "items": { + "$ref": "#/definitions/ParameterInfo" + } + }, + "location": { + "description": "The location of the virtual machine.", + "type": "string" + }, + "fileUploadOptions": { + "description": "Options for uploading the files for the artifact. UploadFilesAndGenerateSasTokens is the default value.", + "enum": [ + "UploadFilesAndGenerateSasTokens", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "FileUploadOptions", + "modelAsString": true + } + } + } + }, + "GenerateUploadUriParameter": { + "description": "Properties for generating an upload URI.", + "type": "object", + "properties": { + "blobName": { + "description": "The blob name of the upload URI.", + "type": "string" + } + } + }, + "GenerateUploadUriResponse": { + "description": "Response body for generating an upload URI.", + "type": "object", + "properties": { + "uploadUri": { + "description": "The upload URI for the VHD.", + "type": "string" + } + } + }, + "HourDetails": { + "description": "Properties of an hourly schedule.", + "type": "object", + "properties": { + "minute": { + "format": "int32", + "description": "Minutes of the hour the schedule will run.", + "type": "integer" + } + } + }, + "HourDetailsFragment": { + "description": "Properties of an hourly schedule.", + "type": "object", + "properties": {} + }, + "IdentityProperties": { + "description": "Properties of a managed identity", + "type": "object", + "properties": { + "type": { + "description": "Managed identity.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "The principal id of resource identity.", + "type": "string" + }, + "tenantId": { + "description": "The tenant identifier of resource.", + "type": "string" + }, + "clientSecretUrl": { + "description": "The client secret URL of the identity.", + "type": "string" + } + } + }, + "ImportLabVirtualMachineRequest": { + "description": "This represents the payload required to import a virtual machine from a different lab into the current one", + "type": "object", + "properties": { + "sourceVirtualMachineResourceId": { + "description": "The full resource ID of the virtual machine to be imported.", + "type": "string" + }, + "destinationVirtualMachineName": { + "description": "The name of the virtual machine in the destination lab", + "type": "string" + } + } + }, + "InboundNatRule": { + "description": "A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer.", + "type": "object", + "properties": { + "transportProtocol": { + "description": "The transport protocol for the endpoint.", + "enum": [ + "Tcp", + "Udp" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "frontendPort": { + "format": "int32", + "description": "The external endpoint port of the inbound connection. Possible values range between 1 and 65535, inclusive. If unspecified, a value will be allocated automatically.", + "type": "integer" + }, + "backendPort": { + "format": "int32", + "description": "The port to which the external traffic will be redirected.", + "type": "integer" + } + } + }, + "InboundNatRuleFragment": { + "description": "A rule for NAT - exposing a VM's port (backendPort) on the public IP address using a load balancer.", + "type": "object", + "properties": {} + }, + "Lab": { + "description": "A lab.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabAnnouncementProperties": { + "description": "Properties of a lab's announcement banner", + "type": "object", + "properties": { + "title": { + "description": "The plain text title for the lab announcement", + "type": "string" + }, + "markdown": { + "description": "The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown.", + "type": "string" + }, + "enabled": { + "description": "Is the lab announcement active/enabled at this time?", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "expirationDate": { + "format": "date-time", + "description": "The time at which the announcement expires (null for never)", + "type": "string" + }, + "expired": { + "description": "Has this announcement expired?", + "type": "boolean" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "LabAnnouncementPropertiesFragment": { + "description": "Properties of a lab's announcement banner", + "type": "object", + "properties": {} + }, + "LabCost": { + "description": "A cost item.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabCostProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabCostDetailsProperties": { + "description": "The properties of a lab cost item.", + "type": "object", + "properties": { + "date": { + "format": "date-time", + "description": "The date of the cost item.", + "type": "string" + }, + "cost": { + "format": "double", + "description": "The cost component of the cost item.", + "type": "number" + }, + "costType": { + "description": "The type of the cost.", + "enum": [ + "Unavailable", + "Reported", + "Projected" + ], + "type": "string", + "x-ms-enum": { + "name": "CostType", + "modelAsString": true + } + } + } + }, + "LabCostProperties": { + "description": "Properties of a cost item.", + "type": "object", + "properties": { + "targetCost": { + "$ref": "#/definitions/TargetCostProperties", + "description": "The target cost properties" + }, + "labCostSummary": { + "$ref": "#/definitions/LabCostSummaryProperties", + "description": "The lab cost summary component of the cost data.", + "readOnly": true + }, + "labCostDetails": { + "description": "The lab cost details component of the cost data.", + "type": "array", + "items": { + "$ref": "#/definitions/LabCostDetailsProperties" + }, + "readOnly": true + }, + "resourceCosts": { + "description": "The resource cost component of the cost data.", + "type": "array", + "items": { + "$ref": "#/definitions/LabResourceCostProperties" + }, + "readOnly": true + }, + "currencyCode": { + "description": "The currency code of the cost.", + "type": "string" + }, + "startDateTime": { + "format": "date-time", + "description": "The start time of the cost data.", + "type": "string" + }, + "endDateTime": { + "format": "date-time", + "description": "The end time of the cost data.", + "type": "string" + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the cost.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "LabCostSummaryProperties": { + "description": "The properties of the cost summary.", + "type": "object", + "properties": { + "estimatedLabCost": { + "format": "double", + "description": "The cost component of the cost item.", + "type": "number" + } + } + }, + "LabFragment": { + "description": "A lab.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "LabList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Lab" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "LabProperties": { + "description": "Properties of a lab.", + "type": "object", + "properties": { + "defaultStorageAccount": { + "description": "The lab's default storage account.", + "type": "string", + "readOnly": true + }, + "defaultPremiumStorageAccount": { + "description": "The lab's default premium storage account.", + "type": "string", + "readOnly": true + }, + "artifactsStorageAccount": { + "description": "The lab's artifact storage account.", + "type": "string", + "readOnly": true + }, + "premiumDataDiskStorageAccount": { + "description": "The lab's premium data disk storage account.", + "type": "string", + "readOnly": true + }, + "vaultName": { + "description": "The lab's Key vault.", + "type": "string", + "readOnly": true + }, + "labStorageType": { + "description": "Type of storage used by the lab. It can be either Premium or Standard. Default is Premium.", + "default": "Premium", + "enum": [ + "Standard", + "Premium", + "StandardSSD" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "mandatoryArtifactsResourceIdsLinux": { + "description": "The ordered list of artifact resource IDs that should be applied on all Linux VM creations by default, prior to the artifacts specified by the user.", + "type": "array", + "items": { + "type": "string" + } + }, + "mandatoryArtifactsResourceIdsWindows": { + "description": "The ordered list of artifact resource IDs that should be applied on all Windows VM creations by default, prior to the artifacts specified by the user.", + "type": "array", + "items": { + "type": "string" + } + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the lab.", + "type": "string", + "readOnly": true + }, + "premiumDataDisks": { + "description": "The setting to enable usage of premium data disks.\r\nWhen its value is 'Enabled', creation of standard or premium data disks is allowed.\r\nWhen its value is 'Disabled', only creation of standard data disks is allowed.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PremiumDataDisk", + "modelAsString": true + } + }, + "environmentPermission": { + "description": "The access rights to be granted to the user when provisioning an environment", + "enum": [ + "Reader", + "Contributor" + ], + "type": "string", + "x-ms-enum": { + "name": "EnvironmentPermission", + "modelAsString": true + } + }, + "announcement": { + "$ref": "#/definitions/LabAnnouncementProperties", + "description": "The properties of any lab announcement associated with this lab" + }, + "support": { + "$ref": "#/definitions/LabSupportProperties", + "description": "The properties of any lab support message associated with this lab" + }, + "vmCreationResourceGroup": { + "description": "The resource group in which all new lab virtual machines will be created. To let DevTest Labs manage resource group creation, set this value to null.", + "type": "string", + "readOnly": true + }, + "publicIpId": { + "description": "The public IP address for the lab's load balancer.", + "type": "string", + "readOnly": true + }, + "loadBalancerId": { + "description": "The load balancer used to for lab VMs that use shared IP address.", + "type": "string", + "readOnly": true + }, + "networkSecurityGroupId": { + "description": "The Network Security Group attached to the lab VMs Network interfaces to restrict open ports.", + "type": "string", + "readOnly": true + }, + "extendedProperties": { + "description": "Extended properties of the lab used for experimental features", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "LabPropertiesFragment": { + "description": "Properties of a lab.", + "type": "object", + "properties": {} + }, + "LabResourceCostProperties": { + "description": "The properties of a resource cost item.", + "type": "object", + "properties": { + "resourcename": { + "description": "The name of the resource.", + "type": "string" + }, + "resourceUId": { + "description": "The unique identifier of the resource.", + "type": "string" + }, + "resourceCost": { + "format": "double", + "description": "The cost component of the resource cost item.", + "type": "number" + }, + "resourceType": { + "description": "The logical resource type (ex. virtualmachine, storageaccount)", + "type": "string" + }, + "resourceOwner": { + "description": "The owner of the resource (ex. janedoe@microsoft.com)", + "type": "string" + }, + "resourcePricingTier": { + "description": "The category of the resource (ex. Premium_LRS, Standard_DS1)", + "type": "string" + }, + "resourceStatus": { + "description": "The status of the resource (ex. Active)", + "type": "string" + }, + "resourceId": { + "description": "The ID of the resource", + "type": "string" + }, + "externalResourceId": { + "description": "The ID of the external resource", + "type": "string" + } + } + }, + "LabSupportProperties": { + "description": "Properties of a lab's support banner", + "type": "object", + "properties": { + "enabled": { + "description": "Is the lab support banner active/enabled at this time?", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "markdown": { + "description": "The markdown text (if any) that this lab displays in the UI. If left empty/null, nothing will be shown.", + "type": "string" + } + } + }, + "LabSupportPropertiesFragment": { + "description": "Properties of a lab's support banner", + "type": "object", + "properties": {} + }, + "LabVhd": { + "description": "Properties of a VHD in the lab.", + "type": "object", + "properties": { + "id": { + "description": "The URI to the VHD.", + "type": "string" + } + } + }, + "LabVhdList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LabVhd" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "LabVirtualMachine": { + "description": "A virtual machine.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/LabVirtualMachineProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "LabVirtualMachineCreationParameter": { + "description": "Properties for creating a virtual machine.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/LabVirtualMachineCreationParameterProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + }, + "name": { + "description": "The name of the virtual machine or environment", + "type": "string" + }, + "location": { + "description": "The location of the new virtual machine or environment", + "type": "string" + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "LabVirtualMachineCreationParameterFragment": { + "description": "Properties for creating a virtual machine.", + "type": "object", + "properties": {} + }, + "LabVirtualMachineCreationParameterProperties": { + "description": "Properties for virtual machine creation.", + "type": "object", + "properties": { + "bulkCreationParameters": { + "$ref": "#/definitions/BulkCreationParameters", + "description": "The number of virtual machine instances to create." + }, + "notes": { + "description": "The notes of the virtual machine.", + "type": "string" + }, + "ownerObjectId": { + "description": "The object identifier of the owner of the virtual machine.", + "default": "dynamicValue", + "type": "string" + }, + "ownerUserPrincipalName": { + "description": "The user principal name of the virtual machine owner.", + "type": "string" + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the virtual machine.", + "type": "string" + }, + "customImageId": { + "description": "The custom image identifier of the virtual machine.", + "type": "string" + }, + "size": { + "description": "The size of the virtual machine.", + "type": "string" + }, + "userName": { + "description": "The user name of the virtual machine.", + "type": "string" + }, + "password": { + "description": "The password of the virtual machine administrator.", + "type": "string", + "x-ms-secret": true + }, + "sshKey": { + "description": "The SSH key of the virtual machine administrator.", + "type": "string", + "x-ms-secret": true + }, + "isAuthenticationWithSshKey": { + "description": "Indicates whether this virtual machine uses an SSH key for authentication.", + "type": "boolean" + }, + "labSubnetName": { + "description": "The lab subnet name of the virtual machine.", + "type": "string" + }, + "labVirtualNetworkId": { + "description": "The lab virtual network identifier of the virtual machine.", + "type": "string" + }, + "disallowPublicIpAddress": { + "description": "Indicates whether the virtual machine is to be created without a public IP address.", + "default": false, + "type": "boolean" + }, + "artifacts": { + "description": "The artifacts to be installed on the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/ArtifactInstallProperties" + } + }, + "galleryImageReference": { + "$ref": "#/definitions/GalleryImageReference", + "description": "The Microsoft Azure Marketplace image reference of the virtual machine." + }, + "planId": { + "description": "The id of the plan associated with the virtual machine image", + "type": "string" + }, + "networkInterface": { + "$ref": "#/definitions/NetworkInterfaceProperties", + "description": "The network interface properties." + }, + "expirationDate": { + "format": "date-time", + "description": "The expiration date for VM.", + "type": "string" + }, + "allowClaim": { + "description": "Indicates whether another user can take ownership of the virtual machine", + "default": false, + "type": "boolean" + }, + "storageType": { + "description": "Storage type to use for virtual machine (i.e. Standard, Premium).", + "default": "labStorageType", + "type": "string" + }, + "environmentId": { + "description": "The resource ID of the environment that contains this virtual machine, if any.", + "type": "string" + }, + "dataDiskParameters": { + "description": "New or existing data disks to attach to the virtual machine after creation", + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskProperties" + } + }, + "scheduleParameters": { + "description": "Virtual Machine schedules to be created", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleCreationParameter" + } + } + } + }, + "LabVirtualMachineCreationParameterPropertiesFragment": { + "description": "Properties for virtual machine creation.", + "type": "object", + "properties": {} + }, + "LabVirtualMachineFragment": { + "description": "A virtual machine.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "LabVirtualMachineList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LabVirtualMachine" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "LabVirtualMachineProperties": { + "description": "Properties of a virtual machine.", + "type": "object", + "properties": { + "notes": { + "description": "The notes of the virtual machine.", + "type": "string" + }, + "ownerObjectId": { + "description": "The object identifier of the owner of the virtual machine.", + "default": "dynamicValue", + "type": "string" + }, + "ownerUserPrincipalName": { + "description": "The user principal name of the virtual machine owner.", + "type": "string" + }, + "createdByUserId": { + "description": "The object identifier of the creator of the virtual machine.", + "type": "string", + "readOnly": true + }, + "createdByUser": { + "description": "The email address of creator of the virtual machine.", + "type": "string", + "readOnly": true + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the virtual machine.", + "type": "string" + }, + "computeId": { + "description": "The resource identifier (Microsoft.Compute) of the virtual machine.", + "type": "string", + "readOnly": true + }, + "customImageId": { + "description": "The custom image identifier of the virtual machine.", + "type": "string" + }, + "osType": { + "description": "The OS type of the virtual machine.", + "type": "string", + "readOnly": true + }, + "size": { + "description": "The size of the virtual machine.", + "type": "string" + }, + "userName": { + "description": "The user name of the virtual machine.", + "type": "string" + }, + "password": { + "description": "The password of the virtual machine administrator.", + "type": "string", + "x-ms-secret": true + }, + "sshKey": { + "description": "The SSH key of the virtual machine administrator.", + "type": "string", + "x-ms-secret": true + }, + "isAuthenticationWithSshKey": { + "description": "Indicates whether this virtual machine uses an SSH key for authentication.", + "type": "boolean" + }, + "fqdn": { + "description": "The fully-qualified domain name of the virtual machine.", + "type": "string", + "readOnly": true + }, + "labSubnetName": { + "description": "The lab subnet name of the virtual machine.", + "type": "string" + }, + "labVirtualNetworkId": { + "description": "The lab virtual network identifier of the virtual machine.", + "type": "string" + }, + "disallowPublicIpAddress": { + "description": "Indicates whether the virtual machine is to be created without a public IP address.", + "default": false, + "type": "boolean" + }, + "artifacts": { + "description": "The artifacts to be installed on the virtual machine.", + "type": "array", + "items": { + "$ref": "#/definitions/ArtifactInstallProperties" + } + }, + "artifactDeploymentStatus": { + "$ref": "#/definitions/ArtifactDeploymentStatusProperties", + "description": "The artifact deployment status for the virtual machine.", + "readOnly": true + }, + "galleryImageReference": { + "$ref": "#/definitions/GalleryImageReference", + "description": "The Microsoft Azure Marketplace image reference of the virtual machine." + }, + "planId": { + "description": "The id of the plan associated with the virtual machine image", + "type": "string" + }, + "computeVm": { + "$ref": "#/definitions/ComputeVmProperties", + "description": "The compute virtual machine properties.", + "readOnly": true + }, + "networkInterface": { + "$ref": "#/definitions/NetworkInterfaceProperties", + "description": "The network interface properties." + }, + "applicableSchedule": { + "$ref": "#/definitions/ApplicableSchedule", + "description": "The applicable schedule for the virtual machine.", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "The expiration date for VM.", + "type": "string" + }, + "allowClaim": { + "description": "Indicates whether another user can take ownership of the virtual machine", + "default": false, + "type": "boolean" + }, + "storageType": { + "description": "Storage type to use for virtual machine (i.e. Standard, Premium).", + "default": "labStorageType", + "type": "string" + }, + "virtualMachineCreationSource": { + "description": "Tells source of creation of lab virtual machine. Output property only.", + "enum": [ + "FromCustomImage", + "FromGalleryImage", + "FromSharedGalleryImage" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VirtualMachineCreationSource", + "modelAsString": true + } + }, + "environmentId": { + "description": "The resource ID of the environment that contains this virtual machine, if any.", + "type": "string" + }, + "dataDiskParameters": { + "description": "New or existing data disks to attach to the virtual machine after creation", + "type": "array", + "items": { + "$ref": "#/definitions/DataDiskProperties" + } + }, + "scheduleParameters": { + "description": "Virtual Machine schedules to be created", + "type": "array", + "items": { + "$ref": "#/definitions/ScheduleCreationParameter" + } + }, + "lastKnownPowerState": { + "description": "Last known compute power state captured in DTL", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "LabVirtualMachinePropertiesFragment": { + "description": "Properties of a virtual machine.", + "type": "object", + "properties": {} + }, + "LinuxOsInfo": { + "description": "Information about a Linux OS.", + "type": "object", + "properties": { + "linuxOsState": { + "description": "The state of the Linux OS (i.e. NonDeprovisioned, DeprovisionRequested, DeprovisionApplied).", + "enum": [ + "NonDeprovisioned", + "DeprovisionRequested", + "DeprovisionApplied" + ], + "type": "string", + "x-ms-enum": { + "name": "LinuxOsState", + "modelAsString": true + } + } + } + }, + "LinuxOsInfoFragment": { + "description": "Information about a Linux OS.", + "type": "object", + "properties": {} + }, + "NetworkInterfaceProperties": { + "description": "Properties of a network interface.", + "type": "object", + "properties": { + "virtualNetworkId": { + "description": "The resource ID of the virtual network.", + "type": "string" + }, + "subnetId": { + "description": "The resource ID of the sub net.", + "type": "string" + }, + "publicIpAddressId": { + "description": "The resource ID of the public IP address.", + "type": "string" + }, + "publicIpAddress": { + "description": "The public IP address.", + "type": "string" + }, + "privateIpAddress": { + "description": "The private IP address.", + "type": "string" + }, + "dnsName": { + "description": "The DNS name.", + "type": "string" + }, + "rdpAuthority": { + "description": "The RdpAuthority property is a server DNS host name or IP address followed by the service port number for RDP (Remote Desktop Protocol).", + "type": "string" + }, + "sshAuthority": { + "description": "The SshAuthority property is a server DNS host name or IP address followed by the service port number for SSH.", + "type": "string" + }, + "sharedPublicIpAddressConfiguration": { + "$ref": "#/definitions/SharedPublicIpAddressConfiguration", + "description": "The configuration for sharing a public IP address across multiple virtual machines." + } + } + }, + "NetworkInterfacePropertiesFragment": { + "description": "Properties of a network interface.", + "type": "object", + "properties": {} + }, + "NotificationChannel": { + "description": "A notification.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/NotificationChannelProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "NotificationChannelFragment": { + "description": "A notification.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "NotificationChannelList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/NotificationChannel" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "NotificationChannelProperties": { + "description": "Properties of a schedule.", + "type": "object", + "properties": { + "webHookUrl": { + "description": "The webhook URL to send notifications to.", + "type": "string" + }, + "emailRecipient": { + "description": "The email recipient to send notifications to (can be a list of semi-colon separated email addresses).", + "type": "string" + }, + "notificationLocale": { + "description": "The locale to use when sending a notification (fallback for unsupported languages is EN).", + "type": "string" + }, + "description": { + "description": "Description of notification.", + "type": "string" + }, + "events": { + "description": "The list of event for which this notification is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the notification channel.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "NotificationChannelPropertiesFragment": { + "description": "Properties of a schedule.", + "type": "object", + "properties": {} + }, + "NotificationSettings": { + "description": "Notification settings for a schedule.", + "type": "object", + "properties": { + "status": { + "description": "If notifications are enabled for this schedule (i.e. Enabled, Disabled).", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "timeInMinutes": { + "format": "int32", + "description": "Time in minutes before event at which notification will be sent.", + "type": "integer" + }, + "webhookUrl": { + "description": "The webhook URL to which the notification will be sent.", + "type": "string" + }, + "emailRecipient": { + "description": "The email recipient to send notifications to (can be a list of semi-colon separated email addresses).", + "type": "string" + }, + "notificationLocale": { + "description": "The locale to use when sending a notification (fallback for unsupported languages is EN).", + "type": "string" + } + } + }, + "NotificationSettingsFragment": { + "description": "Notification settings for a schedule.", + "type": "object", + "properties": {} + }, + "NotifyParameters": { + "description": "Properties for generating a Notification.", + "type": "object", + "properties": { + "eventName": { + "description": "The type of event (i.e. AutoShutdown, Cost)", + "enum": [ + "AutoShutdown", + "Cost" + ], + "type": "string", + "x-ms-enum": { + "name": "NotificationChannelEventType", + "modelAsString": true + } + }, + "jsonPayload": { + "description": "Properties for the notification in json format.", + "type": "string" + } + } + }, + "OperationError": { + "description": "Error details for the operation in case of a failure.", + "type": "object", + "properties": { + "code": { + "description": "The error code of the operation error.", + "type": "string" + }, + "message": { + "description": "The error message of the operation error.", + "type": "string" + } + } + }, + "OperationMetadata": { + "description": "The REST API operation supported by DevTestLab ResourceProvider.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "$ref": "#/definitions/OperationMetadataDisplay", + "description": "The object that describes the operations" + } + } + }, + "OperationMetadataDisplay": { + "description": "The object that describes the operations", + "type": "object", + "properties": { + "provider": { + "description": "Friendly name of the resource provider", + "type": "string" + }, + "resource": { + "description": "Resource type on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Operation type: read, write, delete, listKeys/action, etc.", + "type": "string" + }, + "description": { + "description": "Friendly name of the operation", + "type": "string" + } + } + }, + "OperationResult": { + "description": "An Operation Result", + "type": "object", + "properties": { + "status": { + "description": "The operation status.", + "type": "string" + }, + "statusCode": { + "description": "The status code for the operation.", + "enum": [ + "Continue", + "SwitchingProtocols", + "OK", + "Created", + "Accepted", + "NonAuthoritativeInformation", + "NoContent", + "ResetContent", + "PartialContent", + "MultipleChoices", + "Ambiguous", + "MovedPermanently", + "Moved", + "Found", + "Redirect", + "SeeOther", + "RedirectMethod", + "NotModified", + "UseProxy", + "Unused", + "TemporaryRedirect", + "RedirectKeepVerb", + "BadRequest", + "Unauthorized", + "PaymentRequired", + "Forbidden", + "NotFound", + "MethodNotAllowed", + "NotAcceptable", + "ProxyAuthenticationRequired", + "RequestTimeout", + "Conflict", + "Gone", + "LengthRequired", + "PreconditionFailed", + "RequestEntityTooLarge", + "RequestUriTooLong", + "UnsupportedMediaType", + "RequestedRangeNotSatisfiable", + "ExpectationFailed", + "UpgradeRequired", + "InternalServerError", + "NotImplemented", + "BadGateway", + "ServiceUnavailable", + "GatewayTimeout", + "HttpVersionNotSupported" + ], + "type": "string", + "x-ms-enum": { + "name": "HttpStatusCode", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/OperationError", + "description": "Error details for the operation in case of a failure." + } + } + }, + "ParameterInfo": { + "description": "Information about an artifact's parameter.", + "type": "object", + "properties": { + "name": { + "description": "The name of the artifact parameter.", + "type": "string" + }, + "value": { + "description": "The value of the artifact parameter.", + "type": "string" + } + } + }, + "ParametersValueFileInfo": { + "description": "A file containing a set of parameter values for an ARM template.", + "type": "object", + "properties": { + "fileName": { + "description": "File name.", + "type": "string" + }, + "parametersValueInfo": { + "description": "Contents of the file.", + "type": "object" + } + } + }, + "PercentageCostThresholdProperties": { + "description": "Properties of a percentage cost threshold.", + "type": "object", + "properties": { + "thresholdValue": { + "format": "double", + "description": "The cost threshold value.", + "type": "number" + } + } + }, + "Policy": { + "description": "A Policy.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PolicyProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "PolicyFragment": { + "description": "A Policy.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "PolicyList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Policy" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "PolicyProperties": { + "description": "Properties of a Policy.", + "type": "object", + "properties": { + "description": { + "description": "The description of the policy.", + "type": "string" + }, + "status": { + "description": "The status of the policy.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyStatus", + "modelAsString": true + } + }, + "factName": { + "description": "The fact name of the policy (e.g. LabVmCount, LabVmSize, MaxVmsAllowedPerLab, etc.", + "enum": [ + "UserOwnedLabVmCount", + "UserOwnedLabPremiumVmCount", + "LabVmCount", + "LabPremiumVmCount", + "LabVmSize", + "GalleryImage", + "UserOwnedLabVmCountInSubnet", + "LabTargetCost", + "EnvironmentTemplate", + "ScheduleEditPermission" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyFactName", + "modelAsString": true + } + }, + "factData": { + "description": "The fact data of the policy.", + "type": "string" + }, + "threshold": { + "description": "The threshold of the policy (i.e. a number for MaxValuePolicy, and a JSON array of values for AllowedValuesPolicy).", + "type": "string" + }, + "evaluatorType": { + "description": "The evaluator type of the policy (i.e. AllowedValuesPolicy, MaxValuePolicy).", + "enum": [ + "AllowedValuesPolicy", + "MaxValuePolicy" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyEvaluatorType", + "modelAsString": true + } + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the policy.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "PolicyPropertiesFragment": { + "description": "Properties of a Policy.", + "type": "object", + "properties": {} + }, + "PolicySetResult": { + "description": "Result of a policy set evaluation.", + "type": "object", + "properties": { + "hasError": { + "description": "A value indicating whether this policy set evaluation has discovered violations.", + "type": "boolean" + }, + "policyViolations": { + "description": "The list of policy violations.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicyViolation" + } + } + } + }, + "PolicyViolation": { + "description": "Policy violation.", + "type": "object", + "properties": { + "code": { + "description": "The code of the policy violation.", + "type": "string" + }, + "message": { + "description": "The message of the policy violation.", + "type": "string" + } + } + }, + "Port": { + "description": "Properties of a network port.", + "type": "object", + "properties": { + "transportProtocol": { + "description": "Protocol type of the port.", + "enum": [ + "Tcp", + "Udp" + ], + "type": "string", + "x-ms-enum": { + "name": "TransportProtocol", + "modelAsString": true + } + }, + "backendPort": { + "format": "int32", + "description": "Backend port of the target virtual machine.", + "type": "integer" + } + } + }, + "PortFragment": { + "description": "Properties of a network port.", + "type": "object", + "properties": {} + }, + "ProviderOperationResult": { + "description": "Result of the request to list REST API operations", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetadata" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "RdpConnection": { + "description": "Represents a .rdp file", + "type": "object", + "properties": { + "contents": { + "description": "The contents of the .rdp file", + "type": "string" + } + } + }, + "ResizeLabVirtualMachineProperties": { + "description": "Request body for resizing a virtual machine.", + "type": "object", + "properties": { + "size": { + "description": "Specifies the size of the virtual machine.", + "type": "string" + } + } + }, + "Resource": { + "description": "An Azure resource.", + "type": "object", + "properties": { + "id": { + "description": "The identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the resource.", + "type": "string" + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "RetargetScheduleProperties": { + "description": "Properties for retargeting a virtual machine schedule.", + "type": "object", + "properties": { + "currentResourceId": { + "description": "The resource Id of the virtual machine on which the schedule operates", + "type": "string" + }, + "targetResourceId": { + "description": "The resource Id of the virtual machine that the schedule should be retargeted to", + "type": "string" + } + } + }, + "Schedule": { + "description": "A schedule.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ScheduleProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ScheduleCreationParameter": { + "description": "Properties for creating a schedule.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ScheduleCreationParameterProperties", + "description": "The properties of the schedule.", + "x-ms-client-flatten": true + }, + "name": { + "description": "The name of the virtual machine or environment", + "type": "string" + }, + "location": { + "description": "The location of the new virtual machine or environment", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ScheduleCreationParameterFragment": { + "description": "Properties for creating a schedule.", + "type": "object", + "properties": {} + }, + "ScheduleCreationParameterProperties": { + "description": "Properties for schedule creation.", + "type": "object", + "properties": { + "status": { + "description": "The status of the schedule (i.e. Enabled, Disabled)", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "taskType": { + "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).", + "type": "string" + }, + "weeklyRecurrence": { + "$ref": "#/definitions/WeekDetails", + "description": "If the schedule will occur only some days of the week, specify the weekly recurrence." + }, + "dailyRecurrence": { + "$ref": "#/definitions/DayDetails", + "description": "If the schedule will occur once each day of the week, specify the daily recurrence." + }, + "hourlyRecurrence": { + "$ref": "#/definitions/HourDetails", + "description": "If the schedule will occur multiple times a day, specify the hourly recurrence." + }, + "timeZoneId": { + "description": "The time zone ID (e.g. Pacific Standard time).", + "type": "string" + }, + "notificationSettings": { + "$ref": "#/definitions/NotificationSettings", + "description": "Notification settings." + }, + "targetResourceId": { + "description": "The resource ID to which the schedule belongs", + "type": "string" + } + } + }, + "ScheduleCreationParameterPropertiesFragment": { + "description": "Properties for schedule creation.", + "type": "object", + "properties": {} + }, + "ScheduleFragment": { + "description": "A schedule.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "ScheduleList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ScheduleProperties": { + "description": "Properties of a schedule.", + "type": "object", + "properties": { + "status": { + "description": "The status of the schedule (i.e. Enabled, Disabled)", + "default": "Disabled", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnableStatus", + "modelAsString": true + } + }, + "taskType": { + "description": "The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).", + "type": "string" + }, + "weeklyRecurrence": { + "$ref": "#/definitions/WeekDetails", + "description": "If the schedule will occur only some days of the week, specify the weekly recurrence." + }, + "dailyRecurrence": { + "$ref": "#/definitions/DayDetails", + "description": "If the schedule will occur once each day of the week, specify the daily recurrence." + }, + "hourlyRecurrence": { + "$ref": "#/definitions/HourDetails", + "description": "If the schedule will occur multiple times a day, specify the hourly recurrence." + }, + "timeZoneId": { + "description": "The time zone ID (e.g. Pacific Standard time).", + "type": "string" + }, + "notificationSettings": { + "$ref": "#/definitions/NotificationSettings", + "description": "Notification settings." + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the schedule.", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "The resource ID to which the schedule belongs", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "SchedulePropertiesFragment": { + "description": "Properties of a schedule.", + "type": "object", + "properties": {} + }, + "Secret": { + "description": "A secret.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "SecretFragment": { + "description": "A secret.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "SecretList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "SecretProperties": { + "description": "Properties of a secret.", + "type": "object", + "properties": { + "value": { + "description": "The value of the secret for secret creation.", + "type": "string" + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "SecretPropertiesFragment": { + "description": "Properties of a secret.", + "type": "object", + "properties": {} + }, + "ServiceFabric": { + "description": "A Service Fabric.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceFabricProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "ServiceFabricFragment": { + "description": "A Service Fabric.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "ServiceFabricList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceFabric" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "ServiceFabricProperties": { + "description": "Properties of a service fabric.", + "type": "object", + "properties": { + "externalServiceFabricId": { + "description": "The backing service fabric resource's id", + "type": "string" + }, + "environmentId": { + "description": "The resource id of the environment under which the service fabric resource is present", + "type": "string" + }, + "applicableSchedule": { + "$ref": "#/definitions/ApplicableSchedule", + "description": "The applicable schedule for the virtual machine.", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "ServiceFabricPropertiesFragment": { + "description": "Properties of a service fabric.", + "type": "object", + "properties": {} + }, + "ServiceRunner": { + "description": "A container for a managed identity to execute DevTest lab services.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityProperties", + "description": "The identity of the resource." + } + } + }, + "ServiceRunnerList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ServiceRunner" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "SharedPublicIpAddressConfiguration": { + "description": "Properties of a virtual machine that determine how it is connected to a load balancer.", + "type": "object", + "properties": { + "inboundNatRules": { + "description": "The incoming NAT rules", + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRule" + } + } + } + }, + "SharedPublicIpAddressConfigurationFragment": { + "description": "Properties of a virtual machine that determine how it is connected to a load balancer.", + "type": "object", + "properties": {} + }, + "ShutdownNotificationContent": { + "description": "The contents of a shutdown notification. Webhooks can use this type to deserialize the request body when they get notified of an imminent shutdown.", + "type": "object", + "properties": { + "skipUrl": { + "description": "The URL to skip auto-shutdown.", + "type": "string" + }, + "delayUrl60": { + "description": "The URL to delay shutdown by 60 minutes.", + "type": "string" + }, + "delayUrl120": { + "description": "The URL to delay shutdown by 2 hours.", + "type": "string" + }, + "vmName": { + "description": "The virtual machine to be shut down.", + "type": "string" + }, + "guid": { + "description": "The GUID for the virtual machine to be shut down.", + "type": "string" + }, + "owner": { + "description": "The owner of the virtual machine.", + "type": "string" + }, + "vmUrl": { + "description": "The URL of the virtual machine.", + "type": "string" + }, + "minutesUntilShutdown": { + "description": "Minutes remaining until shutdown", + "type": "string" + }, + "eventType": { + "description": "The event for which a notification will be sent.", + "type": "string" + }, + "text": { + "description": "The text for the notification.", + "type": "string" + }, + "subscriptionId": { + "description": "The subscription ID for the schedule.", + "type": "string" + }, + "resourceGroupName": { + "description": "The resource group name for the schedule.", + "type": "string" + }, + "labName": { + "description": "The lab for the schedule.", + "type": "string" + } + } + }, + "Subnet": { + "description": "Subnet information.", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource ID of the subnet.", + "type": "string" + }, + "labSubnetName": { + "description": "The name of the subnet as seen in the lab.", + "type": "string" + }, + "allowPublicIp": { + "description": "The permission policy of the subnet for allowing public IP addresses (i.e. Allow, Deny)).", + "enum": [ + "Default", + "Deny", + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagePermissionType", + "modelAsString": true + } + } + } + }, + "SubnetFragment": { + "description": "Subnet information.", + "type": "object", + "properties": {} + }, + "SubnetOverride": { + "description": "Property overrides on a subnet of a virtual network.", + "type": "object", + "properties": { + "resourceId": { + "description": "The resource ID of the subnet.", + "type": "string" + }, + "labSubnetName": { + "description": "The name given to the subnet within the lab.", + "type": "string" + }, + "useInVmCreationPermission": { + "description": "Indicates whether this subnet can be used during virtual machine creation (i.e. Allow, Deny).", + "enum": [ + "Default", + "Deny", + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagePermissionType", + "modelAsString": true + } + }, + "usePublicIpAddressPermission": { + "description": "Indicates whether public IP addresses can be assigned to virtual machines on this subnet (i.e. Allow, Deny).", + "enum": [ + "Default", + "Deny", + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "UsagePermissionType", + "modelAsString": true + } + }, + "sharedPublicIpAddressConfiguration": { + "$ref": "#/definitions/SubnetSharedPublicIpAddressConfiguration", + "description": "Properties that virtual machines on this subnet will share." + }, + "virtualNetworkPoolName": { + "description": "The virtual network pool associated with this subnet.", + "type": "string" + } + } + }, + "SubnetOverrideFragment": { + "description": "Property overrides on a subnet of a virtual network.", + "type": "object", + "properties": {} + }, + "SubnetSharedPublicIpAddressConfiguration": { + "description": "Configuration for public IP address sharing.", + "type": "object", + "properties": { + "allowedPorts": { + "description": "Backend ports that virtual machines on this subnet are allowed to expose", + "type": "array", + "items": { + "$ref": "#/definitions/Port" + } + } + } + }, + "SubnetSharedPublicIpAddressConfigurationFragment": { + "description": "Configuration for public IP address sharing.", + "type": "object", + "properties": {} + }, + "TargetCostProperties": { + "description": "Properties of a cost target.", + "type": "object", + "properties": { + "status": { + "description": "Target cost status", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TargetCostStatus", + "modelAsString": true + } + }, + "target": { + "format": "int32", + "description": "Lab target cost", + "type": "integer" + }, + "costThresholds": { + "description": "Cost thresholds.", + "type": "array", + "items": { + "$ref": "#/definitions/CostThresholdProperties" + } + }, + "cycleStartDateTime": { + "format": "date-time", + "description": "Reporting cycle start date.", + "type": "string" + }, + "cycleEndDateTime": { + "format": "date-time", + "description": "Reporting cycle end date.", + "type": "string" + }, + "cycleType": { + "description": "Reporting cycle type.", + "enum": [ + "CalendarMonth", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ReportingCycleType", + "modelAsString": true + } + } + } + }, + "UpdateResource": { + "description": "Represents an update resource", + "type": "object", + "properties": { + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "User": { + "description": "Profile of a lab user.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/UserProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "UserFragment": { + "description": "Profile of a lab user.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "UserIdentity": { + "description": "Identity attributes of a lab user.", + "type": "object", + "properties": { + "principalName": { + "description": "Set to the principal name / UPN of the client JWT making the request.", + "type": "string" + }, + "principalId": { + "description": "Set to the principal Id of the client JWT making the request. Service principal will not have the principal Id.", + "type": "string" + }, + "tenantId": { + "description": "Set to the tenant ID of the client JWT making the request.", + "type": "string" + }, + "objectId": { + "description": "Set to the object Id of the client JWT making the request. Not all users have object Id. For CSP (reseller) scenarios for example, object Id is not available.", + "type": "string" + }, + "appId": { + "description": "Set to the app Id of the client JWT making the request.", + "type": "string" + } + } + }, + "UserIdentityFragment": { + "description": "Identity attributes of a lab user.", + "type": "object", + "properties": {} + }, + "UserList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/User" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "UserProperties": { + "description": "Properties of a lab user profile.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/UserIdentity", + "description": "The identity of the user." + }, + "secretStore": { + "$ref": "#/definitions/UserSecretStore", + "description": "The secret store of the user." + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the user profile.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "UserPropertiesFragment": { + "description": "Properties of a lab user profile.", + "type": "object", + "properties": {} + }, + "UserSecretStore": { + "description": "Properties of a user's secret store.", + "type": "object", + "properties": { + "keyVaultUri": { + "description": "The URI of the user's Key vault.", + "type": "string" + }, + "keyVaultId": { + "description": "The ID of the user's Key vault.", + "type": "string" + } + } + }, + "UserSecretStoreFragment": { + "description": "Properties of a user's secret store.", + "type": "object", + "properties": {} + }, + "VirtualNetwork": { + "description": "A virtual network.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/VirtualNetworkProperties", + "description": "The properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "VirtualNetworkFragment": { + "description": "A virtual network.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateResource" + } + ], + "properties": {} + }, + "VirtualNetworkList": { + "description": "The response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of the list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetwork" + } + }, + "nextLink": { + "description": "Link for next set of results.", + "type": "string" + } + } + }, + "VirtualNetworkProperties": { + "description": "Properties of a virtual network.", + "type": "object", + "properties": { + "allowedSubnets": { + "description": "The allowed subnets of the virtual network.", + "type": "array", + "items": { + "$ref": "#/definitions/Subnet" + } + }, + "description": { + "description": "The description of the virtual network.", + "type": "string" + }, + "externalProviderResourceId": { + "description": "The Microsoft.Network resource identifier of the virtual network.", + "type": "string" + }, + "externalSubnets": { + "description": "The external subnet properties.", + "type": "array", + "items": { + "$ref": "#/definitions/ExternalSubnet" + }, + "readOnly": true + }, + "subnetOverrides": { + "description": "The subnet overrides of the virtual network.", + "type": "array", + "items": { + "$ref": "#/definitions/SubnetOverride" + } + }, + "createdDate": { + "format": "date-time", + "description": "The creation date of the virtual network.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning status of the resource.", + "type": "string", + "readOnly": true + }, + "uniqueIdentifier": { + "description": "The unique immutable identifier of a resource (Guid).", + "type": "string", + "readOnly": true + } + } + }, + "VirtualNetworkPropertiesFragment": { + "description": "Properties of a virtual network.", + "type": "object", + "properties": {} + }, + "WeekDetails": { + "description": "Properties of a weekly schedule.", + "type": "object", + "properties": { + "weekdays": { + "description": "The days of the week for which the schedule is set (e.g. Sunday, Monday, Tuesday, etc.).", + "type": "array", + "items": { + "type": "string" + } + }, + "time": { + "description": "The time of the day the schedule will occur.", + "type": "string" + } + } + }, + "WeekDetailsFragment": { + "description": "Properties of a weekly schedule.", + "type": "object", + "properties": {} + }, + "WindowsOsInfo": { + "description": "Information about a Windows OS.", + "type": "object", + "properties": { + "windowsOsState": { + "description": "The state of the Windows OS (i.e. NonSysprepped, SysprepRequested, SysprepApplied).", + "enum": [ + "NonSysprepped", + "SysprepRequested", + "SysprepApplied" + ], + "type": "string", + "x-ms-enum": { + "name": "WindowsOsState", + "modelAsString": true + } + } + } + }, + "WindowsOsInfoFragment": { + "description": "Information about a Windows OS.", + "type": "object", + "properties": {} + } + }, + "parameters": { + "api-version": { + "name": "api-version", + "in": "query", + "description": "Client API version.", + "required": true, + "type": "string", + "default": "2018-09-15" + }, + "locationName": { + "name": "locationName", + "in": "path", + "description": "The name of the location.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" }, - "security": [ { "oauth2": [ "user_impersonation" ] } ] -} \ No newline at end of file + "subscriptionId": { + "name": "subscriptionId", + "in": "path", + "description": "The subscription ID.", + "required": true, + "type": "string" + } + }, + "securityDefinitions": { + "azure_auth": { + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "Access Microsoft Azure" + }, + "type": "oauth2", + "description": "OAuth2 Implicit Grant" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Devices/iothub.json b/App_Data/SwaggerSpecs/Microsoft.Devices/iothub.json index 71351722..0b5b2b17 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Devices/iothub.json +++ b/App_Data/SwaggerSpecs/Microsoft.Devices/iothub.json @@ -1,24 +1,91 @@ { "swagger": "2.0", "info": { - "version": "2017-01-19", + "version": "2021-07-01", "title": "iotHubClient", "description": "Use this API to manage the IoT hubs in your Azure subscription.", "x-ms-code-generation-settings": { "header": "MICROSOFT_MIT_NO_VERSION" - } + } }, "host": "management.azure.com", - "schemes": [ "https" ], - "consumes": [ "application/json" ], - "produces": [ "application/json" ], + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, "paths": { + "/providers/Microsoft.Devices/operations": { + "get": { + "tags": [ + "Operations" + ], + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/iothub_operations.json" + } + }, + "operationId": "Operations_List", + "description": "Lists all of the available IoT Hub REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}": { "get": { - "tags": [ "GET" ], - "summary": "Get the non-security related metadata of an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get the non-security related metadata of an IoT hub", "description": "Get the non-security related metadata of an IoT hub.", "operationId": "IotHubResource_Get", + "x-ms-examples": { + "IotHubResource_Get": { + "$ref": "./examples/iothub_get.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -27,18 +94,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -58,10 +117,17 @@ "deprecated": false }, "put": { - "tags": [ "PUT" ], + "tags": [ + "PUT" + ], "summary": "Create or update the metadata of an IoT hub.", - "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub.", + "description": "Create or update the metadata of an Iot hub. The usual pattern to modify a property is to retrieve the IoT hub metadata and security metadata, and then combine them with the modified values in a new body to update the IoT hub. If certain properties are missing in the JSON, updating IoT Hub may cause these values to fallback to default, which may lead to unexpected behavior.", "operationId": "IotHubResource_CreateOrUpdate", + "x-ms-examples": { + "IotHubResource_CreateOrUpdate": { + "$ref": "./examples/iothub_createOrUpdate.json" + } + }, "x-ms-long-running-operation": true, "parameters": [ { @@ -71,18 +137,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group that contains the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub to create or update.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "iotHubDescription", @@ -92,6 +150,13 @@ "schema": { "$ref": "#/definitions/IotHubDescription" } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the IoT Hub. Do not specify for creating a brand new IoT Hub. Required to update an existing IoT Hub." } ], "responses": { @@ -116,32 +181,90 @@ }, "deprecated": false }, - "delete": { - "tags": [ "DELETE" ], - "summary": "Delete an IoT hub.", - "description": "Delete an IoT hub.", - "operationId": "IotHubResource_Delete", + "patch": { + "tags": [ + "PATCH" + ], + "summary": "Update an existing IoT Hubs tags.", + "description": "Update an existing IoT Hub tags. to update other fields use the CreateOrUpdate method", "x-ms-long-running-operation": true, + "operationId": "IotHubResource_Update", + "x-ms-examples": { + "IotHubResource_Update": { + "$ref": "./examples/iothub_patch.json" + } + }, "parameters": [ - { - "$ref": "#/parameters/api-version" - }, { "$ref": "#/parameters/subscriptionId" }, { "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", "in": "path", "required": true, - "type": "string" + "type": "string", + "description": "Resource group identifier." }, { "name": "resourceName", "in": "path", - "description": "The name of the IoT hub to delete.", "required": true, - "type": "string" + "type": "string", + "description": "Name of iot hub to update." + }, + { + "name": "IotHubTags", + "in": "body", + "required": true, + "description": "Updated tag information to set into the iot hub instance.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Iot Hub was successfully updated", + "schema": { + "$ref": "#/definitions/IotHubDescription" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete an IoT hub", + "description": "Delete an IoT hub.", + "operationId": "IotHubResource_Delete", + "x-ms-examples": { + "IotHubResource_Delete": { + "$ref": "./examples/iothub_delete.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -178,10 +301,17 @@ }, "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs": { "get": { - "tags": [ "GET" ], - "summary": "Get all the IoT hubs in a subscription.", + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a subscription", "description": "Get all the IoT hubs in a subscription.", "operationId": "IotHubResource_ListBySubscription", + "x-ms-examples": { + "IotHubResource_ListBySubscription": { + "$ref": "./examples/iothub_listbysubscription.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -212,10 +342,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs": { "get": { - "tags": [ "GET" ], - "summary": "Get all the IoT hubs in a resource group.", + "tags": [ + "GET" + ], + "summary": "Get all the IoT hubs in a resource group", "description": "Get all the IoT hubs in a resource group.", "operationId": "IotHubResource_ListByResourceGroup", + "x-ms-examples": { + "IotHubResource_ListByResourceGroup": { + "$ref": "./examples/iothub_listbyrg.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -224,11 +361,7 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group that contains the IoT hubs.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" } ], "responses": { @@ -253,10 +386,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats": { "get": { - "tags": [ "GET" ], - "summary": "Get the statistics from an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get the statistics from an IoT hub", "description": "Get the statistics from an IoT hub.", "operationId": "IotHubResource_GetStats", + "x-ms-examples": { + "IotHubResource_GetStats": { + "$ref": "./examples/iothub_stats.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -265,18 +405,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -298,10 +430,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus": { "get": { - "tags": [ "GET" ], - "summary": "Get the list of valid SKUs for an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get the list of valid SKUs for an IoT hub", "description": "Get the list of valid SKUs for an IoT hub.", "operationId": "IotHubResource_GetValidSkus", + "x-ms-examples": { + "IotHubResource_GetValidSkus": { + "$ref": "./examples/iothub_getskus.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -310,18 +449,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -346,10 +477,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups": { "get": { - "tags": [ "GET" ], - "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub", "description": "Get a list of the consumer groups in the Event Hub-compatible device-to-cloud endpoint in an IoT hub.", "operationId": "IotHubResource_ListEventHubConsumerGroups", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_listehgroups.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -358,18 +496,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "eventHubEndpointName", @@ -381,7 +511,7 @@ ], "responses": { "200": { - "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the the Event Hub-compatible endpoint in this IoT hub", + "description": "This is a synchronous operation. The body contains a JSON-serialized list of the consumer groups in the Event Hub-compatible endpoint in this IoT hub", "schema": { "$ref": "#/definitions/EventHubConsumerGroupsListResult" } @@ -401,10 +531,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}": { "get": { - "tags": [ "GET" ], - "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub", "description": "Get a consumer group from the Event Hub-compatible device-to-cloud endpoint for an IoT hub.", "operationId": "IotHubResource_GetEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_ListEventHubConsumerGroups": { + "$ref": "./examples/iothub_getconsumergroup.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -413,18 +550,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "eventHubEndpointName", @@ -458,10 +587,17 @@ "deprecated": false }, "put": { - "tags": [ "PUT" ], - "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.", + "tags": [ + "PUT" + ], + "summary": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub", "description": "Add a consumer group to an Event Hub-compatible endpoint in an IoT hub.", "operationId": "IotHubResource_CreateEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_CreateEventHubConsumerGroup": { + "$ref": "./examples/iothub_createconsumergroup.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -470,18 +606,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "eventHubEndpointName", @@ -496,6 +624,15 @@ "description": "The name of the consumer group to add.", "required": true, "type": "string" + }, + { + "name": "consumerGroupBody", + "in": "body", + "description": "The consumer group to add.", + "required": true, + "schema": { + "$ref": "#/definitions/EventHubConsumerGroupBodyDescription" + } } ], "responses": { @@ -515,10 +652,17 @@ "deprecated": false }, "delete": { - "tags": [ "DELETE" ], - "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.", + "tags": [ + "DELETE" + ], + "summary": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub", "description": "Delete a consumer group from an Event Hub-compatible endpoint in an IoT hub.", "operationId": "IotHubResource_DeleteEventHubConsumerGroup", + "x-ms-examples": { + "IotHubResource_DeleteEventHubConsumerGroup": { + "$ref": "./examples/iothub_deleteconsumergroup.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -527,18 +671,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "eventHubEndpointName", @@ -571,10 +707,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs": { "get": { - "tags": [ "GET" ], - "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "tags": [ + "GET" + ], + "summary": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", "description": "Get a list of all the jobs in an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", "operationId": "IotHubResource_ListJobs", + "x-ms-examples": { + "IotHubResource_ListJobs": { + "$ref": "./examples/iothub_listjobs.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -583,18 +726,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -619,10 +754,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}": { "get": { - "tags": [ "GET" ], - "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", + "tags": [ + "GET" + ], + "summary": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry", "description": "Get the details of a job from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry.", "operationId": "IotHubResource_GetJob", + "x-ms-examples": { + "IotHubResource_GetJob": { + "$ref": "./examples/iothub_getjob.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -631,18 +773,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "jobId", @@ -671,10 +805,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics": { "get": { - "tags": [ "GET" ], - "summary": "Get the quota metrics for an IoT hub.", + "tags": [ + "GET" + ], + "summary": "Get the quota metrics for an IoT hub", "description": "Get the quota metrics for an IoT hub.", "operationId": "IotHubResource_GetQuotaMetrics", + "x-ms-examples": { + "IotHubResource_GetQuotaMetrics": { + "$ref": "./examples/iothub_quotametrics.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -683,18 +824,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -717,34 +850,48 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": { - "post": { - "tags": [ "POST" ], - "summary": "Check if an IoT hub name is available.", - "description": "Check if an IoT hub name is available.", - "operationId": "IotHubResource_CheckNameAvailability", + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth": { + "get": { + "tags": [ + "GET" + ], + "operationId": "IotHubResource_GetEndpointHealth", + "summary": "Get the health for routing endpoints", + "description": "Get the health for routing endpoints.", + "x-ms-examples": { + "IotHubResource_GetEndpointHealth": { + "$ref": "./examples/iothub_routingendpointhealth.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], "parameters": [ { - "$ref": "#/parameters/api-version" + "$ref": "#/parameters/subscriptionId" }, { - "$ref": "#/parameters/subscriptionId" + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string" }, { - "name": "operationInputs", - "in": "body", - "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.", + "name": "iotHubName", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/OperationInputs" - } + "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { - "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.", + "description": "OK", "schema": { - "$ref": "#/definitions/IotHubNameAvailabilityInfo" + "$ref": "#/definitions/EndpointHealthDataListResult" } }, "default": { @@ -754,35 +901,260 @@ } } }, - "deprecated": false - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": { + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability": { "post": { - "tags": [ "POST" ], - "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", - "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", - "operationId": "IotHubResource_ListKeys", + "tags": [ + "POST" + ], + "summary": "Check if an IoT hub name is available", + "description": "Check if an IoT hub name is available.", + "operationId": "IotHubResource_CheckNameAvailability", + "x-ms-examples": { + "IotHubResource_CheckNameAvailability": { + "$ref": "./examples/checkNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "operationInputs", + "in": "body", + "description": "Set the name parameter in the OperationInputs structure to the name of the IoT hub to check.", + "required": true, + "schema": { + "$ref": "#/definitions/OperationInputs" + } + } + ], + "responses": { + "200": { + "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoT hub name is available. If the name is not available, the body contains the reason.", + "schema": { + "$ref": "#/definitions/IotHubNameAvailabilityInfo" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the number of iot hubs in the subscription", + "description": "Get the number of free and paid iot hubs in the subscription", + "operationId": "ResourceProviderCommon_GetSubscriptionQuota", + "x-ms-examples": { + "ResourceProviderCommon_GetSubscriptionQuota": { + "$ref": "./examples/iothub_usages.json" + } + }, + "consumes": [], + "produces": [ + "application/json" + ], "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, { "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UserSubscriptionQuotaListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestAllRoutes", + "summary": "Test all routes", + "description": "Test all routes configured in this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestAllRoutes": { + "$ref": "./examples/iothub_testallroutes.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Input for testing all routes", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestAllRoutesInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" }, { "$ref": "#/parameters/subscriptionId" }, { "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", + "description": "resource group which Iot Hub belongs to", "in": "path", "required": true, "type": "string" }, { - "name": "resourceName", + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestAllRoutesResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHubResource_TestRoute", + "summary": "Test the new route", + "description": "Test the new route for this Iot Hub", + "x-ms-examples": { + "IotHubResource_TestRoute": { + "$ref": "./examples/iothub_testnewroute.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "input", + "description": "Route that needs to be tested", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TestRouteInput" + } + }, + { + "name": "iotHubName", + "description": "IotHub to be tested", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "resource group which Iot Hub belongs to", "in": "path", - "description": "The name of the IoT hub.", "required": true, "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TestRouteResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys": { + "post": { + "tags": [ + "POST" + ], + "summary": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", + "description": "Get the security metadata for an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "operationId": "IotHubResource_ListKeys", + "x-ms-examples": { + "IotHubResource_ListKeys": { + "$ref": "./examples/iothub_listkeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" } ], "responses": { @@ -807,10 +1179,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys": { "post": { - "tags": [ "POST" ], - "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", + "tags": [ + "POST" + ], + "summary": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security", "description": "Get a shared access policy by name from an IoT hub. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-security.", "operationId": "IotHubResource_GetKeysForKeyName", + "x-ms-examples": { + "IotHubResource_GetKeysForKeyName": { + "$ref": "./examples/iothub_getkey.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -819,18 +1198,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "keyName", @@ -859,10 +1230,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices": { "post": { - "tags": [ "POST" ], - "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "tags": [ + "POST" + ], + "summary": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", "description": "Exports all the device identities in the IoT hub identity registry to an Azure Storage blob container. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", "operationId": "IotHubResource_ExportDevices", + "x-ms-examples": { + "IotHubResource_ExportDevices": { + "$ref": "./examples/iothub_exportdevices.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -871,18 +1249,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "exportDevicesParameters", @@ -913,10 +1283,17 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices": { "post": { - "tags": [ "POST" ], - "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", + "tags": [ + "POST" + ], + "summary": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities", "description": "Import, update, or delete device identities in the IoT hub identity registry from a blob. For more information, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-identity-registry#import-and-export-device-identities.", "operationId": "IotHubResource_ImportDevices", + "x-ms-examples": { + "IotHubResource_ImportDevices": { + "$ref": "./examples/iothub_importdevices.json" + } + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -925,18 +1302,10 @@ "$ref": "#/parameters/subscriptionId" }, { - "name": "resourceGroupName", - "description": "The name of the resource group that contains the IoT hub.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceGroupName" }, { - "name": "resourceName", - "in": "path", - "description": "The name of the IoT hub.", - "required": true, - "type": "string" + "$ref": "#/parameters/resourceName" }, { "name": "importDevicesParameters", @@ -964,624 +1333,2382 @@ }, "deprecated": false } - } - }, - "definitions": { - "SharedAccessSignatureAuthorizationRule": { - "description": "The properties of an IoT hub shared access policy.", - "type": "object", - "properties": { - "keyName": { - "description": "The name of the shared access policy.", - "type": "string" + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate list.", + "description": "Returns the list of certificates.", + "operationId": "Certificates_ListByIotHub", + "x-ms-examples": { + "Certificates_ListByIotHub": { + "$ref": "./examples/iothub_listcertificates.json" + } }, - "primaryKey": { - "description": "The primary key.", - "type": "string" + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains all the certificate list.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } }, - "secondaryKey": { - "description": "The secondary key.", - "type": "string" + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}": { + "get": { + "tags": [ + "Certificates" + ], + "summary": "Get the certificate.", + "description": "Returns the certificate.", + "operationId": "Certificates_Get", + "x-ms-examples": { + "Certificates_Get": { + "$ref": "./examples/iothub_getcertificate.json" + } }, - "rights": { - "description": "The permissions assigned to the shared access policy.", + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "Certificates" + ], + "summary": "Upload the certificate to the IoT hub.", + "description": "Adds new or replaces existing certificate.", + "operationId": "Certificates_CreateOrUpdate", + "x-ms-examples": { + "Certificates_CreateOrUpdate": { + "$ref": "./examples/iothub_certificatescreateorupdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "description": "ETag of the Certificate. Do not specify for creating a brand new certificate. Required to update an existing certificate." + } + ], + "responses": { + "201": { + "description": "If certificate didn't exist creation was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "200": { + "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "Certificates" + ], + "summary": "Delete an X509 certificate.", + "description": "Deletes an existing X509 certificate or does nothing if it does not exist.", + "operationId": "Certificates_Delete", + "x-ms-examples": { + "Certificates_Delete": { + "$ref": "./examples/iothub_certificatesdelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "Certificate has been deleted." + }, + "204": { + "description": "Certificate does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Generate verification code for proof of possession flow.", + "description": "Generates verification code for proof of possession flow. The verification code will be used to generate a leaf certificate.", + "operationId": "Certificates_GenerateVerificationCode", + "x-ms-examples": { + "Certificates_GenerateVerificationCode": { + "$ref": "./examples/iothub_generateverificationcode.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateWithNonceDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify": { + "post": { + "tags": [ + "Certificates" + ], + "summary": "Verify certificate's private key possession.", + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "operationId": "Certificates_Verify", + "x-ms-examples": { + "Certificates_Verify": { + "$ref": "./examples/iothub_certverify.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/certificateName" + }, + { + "name": "certificateVerificationBody", + "in": "body", + "description": "The name of the certificate", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateVerificationDescription" + } + }, + { + "name": "If-Match", + "in": "header", + "required": true, + "type": "string", + "description": "ETag of the Certificate." + } + ], + "responses": { + "200": { + "description": "The body contains the certificate.", + "schema": { + "$ref": "#/definitions/CertificateDescription" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover": { + "post": { + "tags": [ + "POST" + ], + "operationId": "IotHub_ManualFailover", + "summary": "Manually initiate a failover for the IoT Hub to its secondary region", + "description": "Manually initiate a failover for the IoT Hub to its secondary region. To learn more, see https://aka.ms/manualfailover", + "x-ms-examples": { + "IotHub_ManualFailover": { + "$ref": "./examples/IotHub_ManualFailover.json" + } + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "x-ms-long-running-operation": true, + "parameters": [ + { + "name": "iotHubName", + "description": "Name of the IoT hub to failover", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "description": "Region to failover to. Must be the Azure paired region. Get the value from the secondary location in the locations property. To learn more, see https://aka.ms/manualfailover/region", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FailoverInput" + } + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "Name of the resource group containing the IoT hub resource", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Long running manual failover operation for the IoT hub completed" + }, + "202": { + "description": "Manual failover initiated" + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private link resources", + "description": "List private link resources for the given IotHub", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_listprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private link resources", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get the specified private link resource", + "description": "Get the specified private link resource for the given IotHub", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/iothub_getprivatelinkresources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/groupId" + } + ], + "responses": { + "200": { + "description": "The body contains the specified of private link resource", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "GET" + ], + "summary": "List private endpoint connections", + "description": "List private endpoint connection properties", + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/iothub_listprivateendpointconnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + } + ], + "responses": { + "200": { + "description": "The body contains the list of private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/iotHubs/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "GET" + ], + "summary": "Get private endpoint connection", + "description": "Get private endpoint connection properties", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/iothub_getprivateendpointconnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The body contains the private endpoint connection properties", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "put": { + "tags": [ + "PUT" + ], + "summary": "Update private endpoint connection", + "description": "Update the status of a private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnection_Update": { + "$ref": "./examples/iothub_updateprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "201": { + "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the update operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + }, + "delete": { + "tags": [ + "DELETE" + ], + "summary": "Delete private endpoint connection", + "description": "Delete private endpoint connection with the specified name", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/iothub_deleteprivateendpointconnection.json" + } + }, + "x-ms-long-running-operation": true, + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/resourceName" + }, + { + "$ref": "#/parameters/privateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "200": { + "description": "This is returned as a response to the status polling request for the delete operation.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "PrivateEndpoint does not exist." + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "deprecated": false + } + } + }, + "definitions": { + "CertificateVerificationDescription": { + "description": "The JSON-serialized leaf certificate", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of X509 certificate .cer file or just .pem file content.", + "type": "string" + } + } + }, + "CertificateListDescription": { + "description": "The JSON-serialized array of Certificate objects.", + "type": "object", + "properties": { + "value": { + "description": "The array of Certificate objects.", + "type": "array", + "items": { + "$ref": "#/definitions/CertificateDescription" + } + } + } + }, + "CertificateBodyDescription": { + "description": "The JSON-serialized X509 Certificate.", + "type": "object", + "properties": { + "certificate": { + "description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.", + "type": "string" + }, + "isVerified": { + "description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.", + "type": "boolean" + } + } + }, + "CertificateDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "CertificateWithNonceDescription": { + "description": "The X509 Certificate.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CertificatePropertiesWithNonce" + }, + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "description": "The name of the certificate.", + "type": "string", + "readOnly": true + }, + "etag": { + "description": "The entity tag.", + "type": "string", + "readOnly": true + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "x-ms-azure-resource": true + }, + "SharedAccessSignatureAuthorizationRule": { + "description": "The properties of an IoT hub shared access policy.", + "type": "object", + "properties": { + "keyName": { + "description": "The name of the shared access policy.", + "type": "string" + }, + "primaryKey": { + "description": "The primary key.", + "type": "string" + }, + "secondaryKey": { + "description": "The secondary key.", + "type": "string" + }, + "rights": { + "description": "The permissions assigned to the shared access policy.", + "enum": [ + "RegistryRead", + "RegistryWrite", + "ServiceConnect", + "DeviceConnect", + "RegistryRead, RegistryWrite", + "RegistryRead, ServiceConnect", + "RegistryRead, DeviceConnect", + "RegistryWrite, ServiceConnect", + "RegistryWrite, DeviceConnect", + "ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect", + "RegistryRead, RegistryWrite, DeviceConnect", + "RegistryRead, ServiceConnect, DeviceConnect", + "RegistryWrite, ServiceConnect, DeviceConnect", + "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "CertificateProperties": { + "description": "The description of an X509 CA Certificate.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean" + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string" + } + } + }, + "CertificatePropertiesWithNonce": { + "description": "The description of an X509 CA Certificate including the challenge nonce issued for the Proof-Of-Possession flow.", + "type": "object", + "properties": { + "subject": { + "description": "The certificate's subject name.", + "type": "string", + "readOnly": true + }, + "expiry": { + "description": "The certificate's expiration date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "thumbprint": { + "description": "The certificate's thumbprint.", + "type": "string", + "readOnly": true + }, + "isVerified": { + "description": "Determines whether certificate has been verified.", + "type": "boolean", + "readOnly": true + }, + "created": { + "description": "The certificate's create date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "updated": { + "description": "The certificate's last update date and time.", + "type": "string", + "format": "date-time-rfc1123", + "readOnly": true + }, + "verificationCode": { + "description": "The certificate's verification code that will be used for proof of possession.", + "type": "string", + "readOnly": true + }, + "certificate": { + "description": "The certificate content", + "type": "string", + "readOnly": true + } + } + }, + "IotHubProperties": { + "description": "The properties of an IoT hub.", + "type": "object", + "properties": { + "authorizationPolicies": { + "description": "The shared access policies you can use to secure a connection to the IoT hub.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + } + }, + "disableLocalAuth": { + "description": "If true, SAS tokens with Iot hub scoped SAS keys cannot be used for authentication.", + "type": "boolean" + }, + "disableDeviceSAS": { + "description": "If true, all device(including Edge devices but excluding modules) scoped SAS keys cannot be used for authentication.", + "type": "boolean" + }, + "disableModuleSAS": { + "description": "If true, all module scoped SAS keys cannot be used for authentication.", + "type": "boolean" + }, + "restrictOutboundNetworkAccess": { + "description": "If true, egress from IotHub will be restricted to only the allowed FQDNs that are configured via allowedFqdnList.", + "type": "boolean" + }, + "allowedFqdnList": { + "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Iot Hub.", + "type": "array", + "items": { + "description": "FQDN to be allowed for egress. Example: my-eventhub.servicebus.windows.net", + "type": "string" + } + }, + "publicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "PublicNetworkAccess" + } + }, + "ipFilterRules": { + "description": "The IP filter rules.", + "type": "array", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "networkRuleSets": { + "$ref": "#/definitions/NetworkRuleSetProperties" + }, + "minTlsVersion": { + "type": "string", + "description": "Specifies the minimum TLS version to support for this hub. Can be set to \"1.2\" to have clients that use a TLS version below 1.2 to be rejected." + }, + "privateEndpointConnections": { + "description": "Private endpoint connections created on this IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + }, + "state": { + "description": "The hub state.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "The name of the host.", + "type": "string", + "readOnly": true + }, + "eventHubEndpoints": { + "description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/EventHubProperties" + } + }, + "routing": { + "$ref": "#/definitions/RoutingProperties" + }, + "storageEndpoints": { + "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/StorageEndpointProperties" + } + }, + "messagingEndpoints": { + "description": "The messaging endpoint properties for the file upload notification queue.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/MessagingEndpointProperties" + } + }, + "enableFileUploadNotifications": { + "description": "If True, file upload notifications are enabled.", + "type": "boolean" + }, + "cloudToDevice": { + "$ref": "#/definitions/CloudToDeviceProperties" + }, + "comments": { + "description": "IoT hub comments.", + "type": "string" + }, + "features": { + "description": "The capabilities and features enabled for the IoT hub.", + "enum": [ + "None", + "DeviceManagement" + ], + "type": "string", + "x-ms-enum": { + "name": "Capabilities", + "modelAsString": true + } + }, + "locations": { + "description": "Primary and secondary location for iot hub", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/IotHubLocationDescription" + } + } + } + }, + "IotHubSkuInfo": { + "description": "Information about the SKU of the IoT hub.", + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU.", + "enum": [ + "F1", + "S1", + "S2", + "S3", + "B1", + "B2", + "B3" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubSku", + "modelAsString": true + } + }, + "tier": { + "description": "The billing tier for the IoT hub.", + "enum": [ + "Free", + "Standard", + "Basic" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubSkuTier", + "modelAsString": false + } + }, + "capacity": { + "format": "int64", + "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", + "type": "integer" + } + }, + "required": [ + "name" + ] + }, + "EventHubProperties": { + "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "type": "object", + "properties": { + "retentionTimeInDays": { + "format": "int64", + "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", + "type": "integer" + }, + "partitionCount": { + "format": "int32", + "description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", + "type": "integer" + }, + "partitionIds": { + "description": "The partition ids in the Event Hub-compatible endpoint.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "path": { + "description": "The Event Hub-compatible name.", + "type": "string", + "readOnly": true + }, + "endpoint": { + "description": "The Event Hub-compatible endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "StorageEndpointProperties": { + "description": "The properties of the Azure Storage endpoint for file upload.", + "type": "object", + "properties": { + "sasTtlAsIso8601": { + "description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", + "type": "string", + "format": "duration" + }, + "connectionString": { + "description": "The connection string for the Azure Storage account to which files are uploaded.", + "type": "string" + }, + "containerName": { + "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "identity": { + "description": "Managed identity properties of storage endpoint for file upload.", + "$ref": "#/definitions/ManagedIdentity" + } + }, + "required": [ + "connectionString", + "containerName" + ] + }, + "MessagingEndpointProperties": { + "description": "The properties of the messaging endpoints used by this IoT hub.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "CloudToDeviceProperties": { + "description": "The IoT hub cloud-to-device messaging properties.", + "type": "object", + "properties": { + "maxDeliveryCount": { + "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "defaultTtlAsIso8601": { + "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "feedback": { + "$ref": "#/definitions/FeedbackProperties" + } + } + }, + "IpFilterRule": { + "description": "The IP filter rules for the IoT hub.", + "type": "object", + "properties": { + "filterName": { + "description": "The name of the IP filter rule.", + "type": "string" + }, + "action": { + "description": "The desired action for requests captured by this rule.", "enum": [ - "RegistryRead", - "RegistryWrite", - "ServiceConnect", - "DeviceConnect", - "RegistryRead, RegistryWrite", - "RegistryRead, ServiceConnect", - "RegistryRead, DeviceConnect", - "RegistryWrite, ServiceConnect", - "RegistryWrite, DeviceConnect", - "ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect", - "RegistryRead, RegistryWrite, DeviceConnect", - "RegistryRead, ServiceConnect, DeviceConnect", - "RegistryWrite, ServiceConnect, DeviceConnect", - "RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect" + "Accept", + "Reject" ], "type": "string", "x-ms-enum": { - "name": "AccessRights", + "name": "IpFilterActionType", "modelAsString": false } + }, + "ipMask": { + "description": "A string that contains the IP address range in CIDR notation for the rule.", + "type": "string" + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "NetworkRuleSetProperties": { + "description": "Network Rule Set Properties of IotHub", + "type": "object", + "properties": { + "defaultAction": { + "type": "string", + "description": "Default Action for Network Rule Set", + "enum": [ + "Deny", + "Allow" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": true + }, + "default": "Deny" + }, + "applyToBuiltInEventHubEndpoint": { + "type": "boolean", + "description": "If True, then Network Rule Set is also applied to BuiltIn EventHub EndPoint of IotHub" + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkRuleSetIpRule" + }, + "description": "List of IP Rules" + } + }, + "required": [ + "applyToBuiltInEventHubEndpoint", + "ipRules" + ] + }, + "NetworkRuleSetIpRule": { + "description": "IP Rule to be applied as part of Network Rule Set", + "type": "object", + "properties": { + "filterName": { + "type": "string", + "description": "Name of the IP filter rule." + }, + "action": { + "type": "string", + "description": "IP Filter Action", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "NetworkRuleIPAction", + "modelAsString": true + }, + "default": "Allow" + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + } + }, + "required": [ + "filterName", + "ipMask" + ] + }, + "PrivateLinkResources": { + "description": "The available private link resources for an IotHub", + "type": "object", + "properties": { + "value": { + "description": "The list of available private link resources for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "GroupIdInformation": { + "description": "The group information for creating a private endpoint on an IotHub", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/GroupIdInformationProperties" + } + }, + "required": [ + "properties" + ] + }, + "GroupIdInformationProperties": { + "description": "The properties for a group information object", + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "description": "The required members for a specific group id", + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The required DNS zones for a specific group id", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateEndpointConnectionsList": { + "description": "The list of private endpoint connections for an IotHub", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateEndpointConnection": { + "description": "The private endpoint connection of an IotHub", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + }, + "required": [ + "properties" + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "The properties of a private endpoint connection", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpoint": { + "description": "The private endpoint property of a private endpoint connection", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource identifier." + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The current state of a private endpoint connection", + "type": "object", + "properties": { + "status": { + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "FeedbackProperties": { + "description": "The properties of the feedback queue for cloud-to-device messages.", + "type": "object", + "properties": { + "lockDurationAsIso8601": { + "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "ttlAsIso8601": { + "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "type": "string", + "format": "duration" + }, + "maxDeliveryCount": { + "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "format": "int32", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + } + }, + "RoutingProperties": { + "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging", + "type": "object", + "properties": { + "endpoints": { + "$ref": "#/definitions/RoutingEndpoints" + }, + "routes": { + "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.", + "type": "array", + "items": { + "$ref": "#/definitions/RouteProperties" + } + }, + "fallbackRoute": { + "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.", + "$ref": "#/definitions/FallbackRouteProperties" + }, + "enrichments": { + "description": "The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid", + "type": "array", + "items": { + "$ref": "#/definitions/EnrichmentProperties" + } } - }, - "required": [ - "keyName", - "rights" - ] + } }, - "IotHubProperties": { - "description": "The properties of an IoT hub.", + "RoutingEndpoints": { + "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.", "type": "object", "properties": { - "authorizationPolicies": { - "description": "The shared access policies you can use to secure a connection to the IoT hub.", + "serviceBusQueues": { + "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.", "type": "array", "items": { - "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" } }, - "ipFilterRules": { - "description": "The IP filter rules.", + "serviceBusTopics": { + "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.", "type": "array", "items": { - "$ref": "#/definitions/IpFilterRule" + "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" } }, - "provisioningState": { - "description": "The provisioning state.", + "eventHubs": { + "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingEventHubProperties" + } + }, + "storageContainers": { + "description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.", + "type": "array", + "items": { + "$ref": "#/definitions/RoutingStorageContainerProperties" + } + } + } + }, + "RoutingServiceBusQueueEndpointProperties": { + "description": "The properties related to service bus queue endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus queue endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus queue endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus queue endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus queue endpoint", + "enum": [ + "keyBased", + "identityBased" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true + } }, - "hostName": { - "description": "The name of the host.", + "identity": { + "description": "Managed identity properties of routing service bus queue endpoint.", + "$ref": "#/definitions/ManagedIdentity" + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.", "type": "string", - "readOnly": true + "pattern": "^[A-Za-z0-9-._]{1,64}$" }, - "eventHubEndpoints": { - "description": "The Event Hub-compatible endpoint properties. The possible keys to this dictionary are events and operationsMonitoringEvents. Both of these keys have to be present in the dictionary while making create or update calls for the IoT hub.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/EventHubProperties" + "subscriptionId": { + "description": "The subscription identifier of the service bus queue endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus queue endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingServiceBusTopicEndpointProperties": { + "description": "The properties related to service bus topic endpoint types.", + "type": "object", + "properties": { + "id": { + "description": "Id of the service bus topic endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the service bus topic endpoint.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the service bus topic endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Queue name on the service bus topic", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the service bus topic endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true } }, - "routing": { - "$ref": "#/definitions/RoutingProperties" + "identity": { + "description": "Managed identity properties of routing service bus topic endpoint.", + "$ref": "#/definitions/ManagedIdentity" }, - "storageEndpoints": { - "description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/StorageEndpointProperties" + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the service bus topic endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the service bus topic endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingEventHubProperties": { + "description": "The properties related to an event hub endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the event hub endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the event hub endpoint. ", + "type": "string" + }, + "endpointUri": { + "description": "The url of the event hub endpoint. It must include the protocol sb://", + "type": "string" + }, + "entityPath": { + "description": "Event hub name on the event hub namespace", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the event hub endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true } }, - "messagingEndpoints": { - "description": "The messaging endpoint properties for the file upload notification queue.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/MessagingEndpointProperties" + "identity": { + "description": "Managed identity properties of routing event hub endpoint.", + "$ref": "#/definitions/ManagedIdentity" + }, + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "subscriptionId": { + "description": "The subscription identifier of the event hub endpoint.", + "type": "string" + }, + "resourceGroup": { + "description": "The name of the resource group of the event hub endpoint.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "RoutingStorageContainerProperties": { + "description": "The properties related to a storage container endpoint.", + "type": "object", + "properties": { + "id": { + "description": "Id of the storage container endpoint", + "type": "string" + }, + "connectionString": { + "description": "The connection string of the storage account.", + "type": "string" + }, + "endpointUri": { + "description": "The url of the storage endpoint. It must include the protocol https://", + "type": "string" + }, + "authenticationType": { + "description": "Method used to authenticate against the storage endpoint", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "authenticationType", + "modelAsString": true } }, - "enableFileUploadNotifications": { - "description": "If True, file upload notifications are enabled.", - "type": "boolean" + "identity": { + "description": "Managed identity properties of routing storage endpoint.", + "$ref": "#/definitions/ManagedIdentity" }, - "cloudToDevice": { - "$ref": "#/definitions/CloudToDeviceProperties" + "name": { + "description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" }, - "comments": { - "description": "Comments.", + "subscriptionId": { + "description": "The subscription identifier of the storage account.", "type": "string" }, - "operationsMonitoringProperties": { - "$ref": "#/definitions/OperationsMonitoringProperties" + "resourceGroup": { + "description": "The name of the resource group of the storage account.", + "type": "string" }, - "features": { - "description": "The capabilities and features enabled for the IoT hub.", - "enum": [ "None", "DeviceManagement" ], + "containerName": { + "description": "The name of storage container in the storage account.", + "type": "string" + }, + "fileNameFormat": { + "description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.", + "type": "string" + }, + "batchFrequencyInSeconds": { + "description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.", + "format": "int32", + "type": "integer", + "maximum": 720, + "minimum": 60 + }, + "maxChunkSizeInBytes": { + "description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).", + "format": "int32", + "type": "integer", + "maximum": 524288000, + "minimum": 10485760 + }, + "encoding": { + "description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.", + "type": "string", + "enum": [ + "Avro", + "AvroDeflate", + "JSON" + ] + } + }, + "required": [ + "name", + "containerName" + ] + }, + "RouteProperties": { + "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.", + "type": "object", + "properties": { + "name": { + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$" + }, + "source": { + "description": "The source that the routing rule is to be applied to, such as DeviceMessages.", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DeviceConnectionStateEvents" + ], "type": "string", "x-ms-enum": { - "name": "Capabilities", + "name": "RoutingSource", "modelAsString": true } + }, + "condition": { + "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" + } + }, + "isEnabled": { + "description": "Used to specify whether a route is enabled.", + "type": "boolean" } - } + }, + "required": [ + "name", + "endpointNames", + "source", + "isEnabled" + ] }, - "IotHubSkuInfo": { - "description": "Information about the SKU of the IoT hub.", + "FallbackRouteProperties": { + "description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.", "type": "object", "properties": { "name": { - "description": "The name of the SKU.", - "enum": [ "F1", "S1", "S2", "S3" ], + "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", + "type": "string" + }, + "source": { + "description": "The source to which the routing rule is to be applied to. For example, DeviceMessages", + "enum": [ + "DeviceMessages" + ], "type": "string", "x-ms-enum": { - "name": "IotHubSku", + "name": "RoutingSource", "modelAsString": true } }, - "tier": { - "description": "The billing tier for the IoT hub.", - "enum": [ "Free", "Standard" ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "IotHubSkuTier", - "modelAsString": false + "condition": { + "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", + "type": "string" + }, + "endpointNames": { + "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.", + "minItems": 1, + "maxItems": 1, + "type": "array", + "items": { + "type": "string" } }, - "capacity": { - "format": "int64", - "description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.", - "type": "integer" + "isEnabled": { + "description": "Used to specify whether the fallback route is enabled.", + "type": "boolean" } }, "required": [ - "name", - "capacity" + "endpointNames", + "source", + "isEnabled" ] }, - "EventHubProperties": { - "description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.", + "EnrichmentProperties": { + "description": "The properties of an enrichment that your IoT hub applies to messages delivered to endpoints.", "type": "object", "properties": { - "retentionTimeInDays": { - "format": "int64", - "description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages", - "type": "integer" + "key": { + "description": "The key or name for the enrichment property.", + "type": "string" }, - "partitionCount": { - "format": "int32", - "description": "The number of paritions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.", - "type": "integer" + "value": { + "description": "The value for the enrichment property.", + "type": "string" }, - "partitionIds": { - "description": "The partition ids in the Event Hub-compatible endpoint.", - "readOnly": true, + "endpointNames": { + "description": "The list of endpoints for which the enrichment is applied to the message.", + "minItems": 1, "type": "array", "items": { "type": "string" } - }, - "path": { - "description": "The Event Hub-compatible name.", - "type": "string", - "readOnly": true - }, - "endpoint": { - "description": "The Event Hub-compatible endpoint.", - "type": "string", - "readOnly": true } - } + }, + "required": [ + "key", + "value", + "endpointNames" + ] }, - "StorageEndpointProperties": { - "description": "The properties of the Azure Storage endpoint for file upload.", + "IotHubDescription": { + "description": "The description of the IoT hub.", "type": "object", "properties": { - "sasTtlAsIso8601": { - "description": "The period of time for which the the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.", - "type": "string", - "format": "duration" - }, - "connectionString": { - "description": "The connection string for the Azure Storage account to which files are uploaded.", + "etag": { + "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", "type": "string" }, - "containerName": { - "description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.", - "type": "string" + "properties": { + "description": "IotHub properties", + "$ref": "#/definitions/IotHubProperties" + }, + "sku": { + "description": "IotHub SKU info", + "$ref": "#/definitions/IotHubSkuInfo" + }, + "identity": { + "description": "The managed identities for the IotHub.", + "$ref": "#/definitions/ArmIdentity" } }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "required": [ - "connectionString", - "containerName" + "sku" ] }, - "MessagingEndpointProperties": { - "description": "The properties of the messaging endpoints used by this IoT hub.", - "type": "object", + "Resource": { + "description": "The common properties of an Azure resource.", "properties": { - "lockDurationAsIso8601": { - "description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "id": { + "readOnly": true, "type": "string", - "format": "duration" + "description": "The resource identifier." }, - "ttlAsIso8601": { - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", + "name": { + "readOnly": true, "type": "string", - "format": "duration" + "description": "The resource name.", + "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" }, - "maxDeliveryCount": { - "description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.", - "format": "int32", - "type": "integer", - "minimum": 1, - "maximum": 100 - } - } - }, - "CloudToDeviceProperties": { - "description": "The IoT hub cloud-to-device messaging properties.", - "type": "object", - "properties": { - "maxDeliveryCount": { - "description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", - "format": "int32", - "type": "integer", - "minimum": 1, - "maximum": 100 + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." }, - "defaultTtlAsIso8601": { - "description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "location": { "type": "string", - "format": "duration" + "description": "The resource location." }, - "feedback": { - "$ref": "#/definitions/FeedbackProperties" + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." } - } + }, + "x-ms-azure-resource": true, + "required": [ + "location" + ] }, - "OperationsMonitoringProperties": { - "description": "The operations monitoring properties for the IoT hub. The possible keys to the dictionary are Connections, DeviceTelemetry, C2DCommands, DeviceIdentityOperations, FileUploadOperations, Routes, D2CTwinOperations, C2DTwinOperations, TwinQueries, JobsOperations, DirectMethods.", + "SharedAccessSignatureAuthorizationRuleListResult": { + "description": "The list of shared access policies with a next link.", "type": "object", "properties": { - "events": { - "type": "object", - "additionalProperties": { - "enum": [ "None", "Error", "Information", "Error, Information" ], - "description": "The operations monitoring level.", - "type": "string", - "x-ms-enum": { - "name": "OperationMonitoringLevel", - "modelAsString": true - } + "value": { + "description": "The list of shared access policies.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" } + }, + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true } } }, - "IpFilterRule": { - "description": "The IP filter rules for the IoT hub.", - "type": "object", + "OperationListResult": { + "description": "Result of the request to list IoT Hub operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { - "filterName": { - "description": "The name of the IP filter rule.", - "type": "string" - }, - "action": { - "description": "The desired action for requests captured by this rule.", - "enum": [ "Accept", "Reject" ], - "type": "string", - "x-ms-enum": { - "name": "IpFilterActionType", - "modelAsString": false + "value": { + "description": "List of IoT Hub operations supported by the Microsoft.Devices resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" } }, - "ipMask": { - "description": "A string that contains the IP address range in CIDR notation for the rule.", - "type": "string" + "nextLink": { + "readOnly": true, + "type": "string", + "description": "URL to get the next set of operation list results if there are any." } - }, - "required": [ - "filterName", - "action", - "ipMask" - ] + } }, - "FeedbackProperties": { - "description": "The properties of the feedback queue for cloud-to-device messages.", + "Operation": { + "description": "IoT Hub REST API operation", "type": "object", "properties": { - "lockDurationAsIso8601": { - "description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", - "type": "string", - "format": "duration" - }, - "ttlAsIso8601": { - "description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", + "name": { + "readOnly": true, "type": "string", - "format": "duration" + "description": "Operation name: {provider}/{resource}/{read | write | action | delete}" }, - "maxDeliveryCount": { - "description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.", - "format": "int32", - "type": "integer", - "minimum": 1, - "maximum": 100 + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "readOnly": true, + "type": "string", + "description": "Service provider: Microsoft Devices" + }, + "resource": { + "readOnly": true, + "type": "string", + "description": "Resource Type: IotHubs" + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "Name of the operation" + }, + "description": { + "readOnly": true, + "type": "string", + "description": "Description of the operation" + } + } } } }, - "RoutingProperties": { - "description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging", + "ErrorDetails": { + "description": "Error details.", "type": "object", "properties": { - "endpoints": { - "$ref": "#/definitions/RoutingEndpoints" + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true }, - "routes": { - "description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.", - "type": "array", - "items": { - "$ref": "#/definitions/RouteProperties" - } + "httpStatusCode": { + "description": "The HTTP status code.", + "type": "string", + "readOnly": true }, - "fallbackRoute": { - "description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.", - "$ref": "#/definitions/FallbackRouteProperties" + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "The error details.", + "type": "string", + "readOnly": true } } }, - "RoutingEndpoints": { - "description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.", + "IotHubQuotaMetricInfoListResult": { + "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", "type": "object", "properties": { - "serviceBusQueues": { - "description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.", + "value": { + "description": "The array of quota metrics objects.", "type": "array", "items": { - "$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties" + "$ref": "#/definitions/IotHubQuotaMetricInfo" } }, - "serviceBusTopics": { - "description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.", + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EndpointHealthDataListResult": { + "description": "The JSON-serialized array of EndpointHealthData objects with a next link.", + "type": "object", + "properties": { + "value": { + "description": "JSON-serialized array of Endpoint health data", "type": "array", "items": { - "$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties" + "$ref": "#/definitions/EndpointHealthData" } }, - "eventHubs": { - "description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.", - "type": "array", - "items": { - "$ref": "#/definitions/RoutingEventHubProperties" - } + "nextLink": { + "description": "Link to more results", + "type": "string", + "readOnly": true } } }, - "RoutingServiceBusQueueEndpointProperties": { - "description": "The properties related to service bus queue endpoint types.", + "EndpointHealthData": { + "description": "The health data for an endpoint", "type": "object", "properties": { - "connectionString": { - "description": "The connection string of the service bus queue endpoint.", + "endpointId": { + "description": "Id of the endpoint", "type": "string" }, - "name": { - "description": "The name of the service bus queue endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved; events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.", + "healthStatus": { + "description": "Health statuses have following meanings. The 'healthy' status shows that the endpoint is accepting messages as expected. The 'unhealthy' status shows that the endpoint is not accepting messages as expected and IoT Hub is retrying to send data to this endpoint. The status of an unhealthy endpoint will be updated to healthy when IoT Hub has established an eventually consistent state of health. The 'dead' status shows that the endpoint is not accepting messages, after IoT Hub retried sending messages for the retrial period. See IoT Hub metrics to identify errors and monitor issues with endpoints. The 'unknown' status shows that the IoT Hub has not established a connection with the endpoint. No messages have been delivered to or rejected from this endpoint", + "enum": [ + "unknown", + "healthy", + "degraded", + "unhealthy", + "dead" + ], "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "x-ms-enum": { + "name": "EndpointHealthStatus", + "modelAsString": true + } }, - "subscriptionId": { - "description": "The subscription identifier of the service bus queue endpoint.", + "lastKnownError": { + "description": "Last error obtained when a message failed to be delivered to iot hub", "type": "string" }, - "resourceGroup": { - "description": "The name of the resource group of the service bus queue endpoint.", - "type": "string" + "lastKnownErrorTime": { + "description": "Time at which the last known error occurred", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSuccessfulSendAttemptTime": { + "description": "Last time iot hub successfully sent a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" + }, + "lastSendAttemptTime": { + "description": "Last time iot hub tried to send a message to the endpoint", + "type": "string", + "format": "date-time-rfc1123" } - }, - "required": [ - "name", - "connectionString" - ] + } }, - "RoutingServiceBusTopicEndpointProperties": { - "description": "The properties related to service bus topic endpoint types.", + "RegistryStatistics": { + "description": "Identity registry statistics.", "type": "object", "properties": { - "connectionString": { - "description": "The connection string of the service bus topic endpoint.", - "type": "string" - }, - "name": { - "description": "The name of the service bus topic endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved; events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.", - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" + "totalDeviceCount": { + "format": "int64", + "description": "The total count of devices in the identity registry.", + "type": "integer", + "readOnly": true }, - "subscriptionId": { - "description": "The subscription identifier of the service bus topic endpoint.", - "type": "string" + "enabledDeviceCount": { + "format": "int64", + "description": "The count of enabled devices in the identity registry.", + "type": "integer", + "readOnly": true }, - "resourceGroup": { - "description": "The name of the resource group of the service bus topic endpoint.", - "type": "string" + "disabledDeviceCount": { + "format": "int64", + "description": "The count of disabled devices in the identity registry.", + "type": "integer", + "readOnly": true } - }, - "required": [ - "name", - "connectionString" - ] - }, - "RoutingEventHubProperties": { - "description": "The properties related to an event hub endpoint.", + } + }, + "JobResponseListResult": { + "description": "The JSON-serialized array of JobResponse objects with a next link.", "type": "object", "properties": { - "connectionString": { - "description": "The connection string of the event hub endpoint. ", - "type": "string" + "value": { + "description": "The array of JobResponse objects.", + "type": "array", + "items": { + "$ref": "#/definitions/JobResponse" + } }, - "name": { - "description": "The name of the event hub endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved; events, operationsMonitoringEvents, fileNotifications, $default. Endpoint names must be unique across endpoint types.", + "nextLink": { + "description": "The next link.", "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - "subscriptionId": { - "description": "The subscription identifier of the event hub endpoint.", - "type": "string" - }, - "resourceGroup": { - "description": "The name of the resource group of the event hub endpoint.", - "type": "string" + "readOnly": true } - }, - "required": [ - "name", - "connectionString" - ] - }, - "RouteProperties": { - "description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.", + } + }, + "IotHubSkuDescription": { + "description": "SKU properties.", "type": "object", "properties": { - "name": { - "description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.", - "type": "string", - "pattern": "^[A-Za-z0-9-._]{1,64}$" - }, - "source": { - "description": "The source that the routing rule is to be applied to, such as DeviceMessages.", - "enum": ["DeviceMessages", "TwinChangeEvents", "DeviceLifecycleEvents", "DeviceJobLifecycleEvents"], + "resourceType": { + "description": "The type of the resource.", "type": "string", - "x-ms-enum": { - "name": "RoutingSource", - "modelAsString": true - } - }, - "condition": { - "description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", - "type": "string" + "readOnly": true }, - "endpointNames": { - "description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.", - "minItems": 1, - "maxItems": 1, - "type": "array", - "items": { - "type": "string" - } + "sku": { + "description": "The type of the resource.", + "$ref": "#/definitions/IotHubSkuInfo" }, - "isEnabled": { - "description": "Used to specify whether a route is enabled.", - "type": "boolean" + "capacity": { + "description": "IotHub capacity", + "$ref": "#/definitions/IotHubCapacity" } }, "required": [ - "name", - "endpointNames", - "source", - "isEnabled" + "sku", + "capacity" ] }, - "FallbackRouteProperties": { - "description": "The properties related to the fallback route based on which the IoT hub routes messages to the fallback endpoint.", + "TagsResource": { + "properties": { + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on an IoT Hub instance." + }, + "IotHubCapacity": { + "description": "IoT Hub capacity information.", "type": "object", "properties": { - "source": { - "description": "The source to which the routing rule is to be applied to. e.g. DeviceMessages", - "enum": ["DeviceMessages"], + "minimum": { + "format": "int64", + "description": "The minimum number of units.", + "type": "integer", + "minimum": 1, + "maximum": 1, + "readOnly": true + }, + "maximum": { + "format": "int64", + "description": "The maximum number of units.", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int64", + "description": "The default number of units.", + "type": "integer", + "readOnly": true + }, + "scaleType": { + "description": "The type of the scaling enabled.", + "enum": [ + "Automatic", + "Manual", + "None" + ], + "readOnly": true, "type": "string", "x-ms-enum": { - "name": "RoutingSource", - "modelAsString": true + "name": "IotHubScaleType", + "modelAsString": false } - }, - "condition": { - "description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language", - "type": "string" - }, - "endpointNames": { - "description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.", - "minItems": 1, - "maxItems": 1, + } + } + }, + "EventHubConsumerGroupsListResult": { + "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.", + "type": "object", + "properties": { + "value": { + "description": "List of consumer groups objects", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/EventHubConsumerGroupInfo" } }, - "isEnabled": { - "description": "Used to specify whether the fallback route is enabled or not.", - "type": "boolean" + "nextLink": { + "description": "The next link.", + "type": "string", + "readOnly": true + } + } + }, + "EventHubConsumerGroupBodyDescription": { + "description": "The EventHub consumer group.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EventHubConsumerGroupName" } }, "required": [ - "endpointNames", - "source", - "isEnabled" + "properties" ] - }, - "IotHubDescription": { - "description": "The description of the IoT hub.", + }, + "EventHubConsumerGroupName": { + "description": "The EventHub consumer group name.", "type": "object", "properties": { - "subscriptionid": { - "description": "The subscription identifier.", - "type": "string" - }, - "resourcegroup": { - "description": "The name of the resource group that contains the IoT hub. A resource group name uniquely identifies the resource group within the subscription.", - "type": "string" - }, - "etag": { - "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.", + "name": { + "description": "EventHub consumer group name", "type": "string" - }, - "properties": { - "$ref": "#/definitions/IotHubProperties" - }, - "sku": { - "$ref": "#/definitions/IotHubSkuInfo" - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" } - ], + }, "required": [ - "subscriptionid", - "resourcegroup", - "sku" + "name" ] }, - "Resource": { - "description": "The common properties of an Azure resource.", + "EventHubConsumerGroupInfo": { + "description": "The properties of the EventHubConsumerGroupInfo object.", + "x-ms-azure-resource": true, + "type": "object", "properties": { + "properties": { + "description": "The tags.", + "type": "object", + "additionalProperties": {} + }, "id": { - "readOnly": true, + "description": "The Event Hub-compatible consumer group identifier.", "type": "string", - "description": "The resource identifier." + "readOnly": true }, "name": { - "readOnly": true, + "description": "The Event Hub-compatible consumer group name.", "type": "string", - "description": "The resource name.", - "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$" + "readOnly": true }, "type": { - "readOnly": true, + "description": "the resource type.", "type": "string", - "description": "The resource type." + "readOnly": true }, - "location": { + "etag": { + "description": "The etag.", "type": "string", - "description": "The resource location." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The resource tags." + "readOnly": true } - }, - "x-ms-azure-resource": true, - "required": [ - "location" - ] + } }, - "SharedAccessSignatureAuthorizationRuleListResult": { - "description": "The list of shared access policies with a next link.", + "IotHubSkuDescriptionListResult": { + "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", "type": "object", "properties": { "value": { - "description": "The list of shared access policies.", + "description": "The array of IotHubSkuDescription.", "type": "array", "items": { - "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule" + "$ref": "#/definitions/IotHubSkuDescription" } }, "nextLink": { @@ -1591,41 +3718,91 @@ } } }, - "ErrorDetails": { - "description": "Error details.", + "JobResponse": { + "description": "The properties of the Job Response object.", "type": "object", "properties": { - "Code": { - "description": "The error code.", + "jobId": { + "description": "The job identifier.", "type": "string", "readOnly": true }, - "HttpStatusCode": { - "description": "The HTTP status code.", + "startTimeUtc": { + "format": "date-time-rfc1123", + "description": "The start time of the job.", "type": "string", "readOnly": true }, - "Message": { - "description": "The error message.", + "endTimeUtc": { + "format": "date-time-rfc1123", + "description": "The time the job stopped processing.", "type": "string", "readOnly": true }, - "Details": { - "description": "The error details.", + "type": { + "description": "The type of the job.", + "enum": [ + "unknown", + "export", + "import", + "backup", + "readDeviceProperties", + "writeDeviceProperties", + "updateDeviceConfiguration", + "rebootDevice", + "factoryResetDevice", + "firmwareUpdate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, + "status": { + "description": "The status of the job.", + "enum": [ + "unknown", + "enqueued", + "running", + "completed", + "failed", + "cancelled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JobStatus", + "modelAsString": false + } + }, + "failureReason": { + "description": "If status == failed, this string containing the reason for the failure.", + "type": "string", + "readOnly": true + }, + "statusMessage": { + "description": "The status message for the job.", + "type": "string", + "readOnly": true + }, + "parentJobId": { + "description": "The job identifier of the parent job, if any.", "type": "string", "readOnly": true } } }, - "IotHubQuotaMetricInfoListResult": { - "description": "The JSON-serialized array of IotHubQuotaMetricInfo objects with a next link.", + "IotHubDescriptionListResult": { + "description": "The JSON-serialized array of IotHubDescription objects with a next link.", "type": "object", "properties": { "value": { - "description": "The array of quota metrics objects.", + "description": "The array of IotHubDescription objects.", "type": "array", "items": { - "$ref": "#/definitions/IotHubQuotaMetricInfo" + "$ref": "#/definitions/IotHubDescription" } }, "nextLink": { @@ -1635,296 +3812,341 @@ } } }, - "RegistryStatistics": { - "description": "Identity registry statistics.", + "IotHubQuotaMetricInfo": { + "description": "Quota metrics properties.", "type": "object", "properties": { - "totalDeviceCount": { - "format": "int64", - "description": "The total count of devices in the identity registry.", - "type": "integer", + "name": { + "description": "The name of the quota metric.", + "type": "string", "readOnly": true }, - "enabledDeviceCount": { + "currentValue": { "format": "int64", - "description": "The count of enabled devices in the identity registry.", + "description": "The current value for the quota metric.", "type": "integer", "readOnly": true }, - "disabledDeviceCount": { + "maxValue": { "format": "int64", - "description": "The count of disabled devices in the identity registry.", + "description": "The maximum value of the quota metric.", "type": "integer", "readOnly": true } } }, - "JobResponseListResult": { - "description": "The JSON-serialized array of JobResponse objects with a next link.", + "OperationInputs": { + "description": "Input values.", + "type": "object", + "properties": { + "name": { + "description": "The name of the IoT hub to check.", + "type": "string" + } + }, + "required": [ + "name" + ] + }, + "IotHubNameAvailabilityInfo": { + "description": "The properties indicating whether a given IoT hub name is available.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "The value which indicates whether the provided name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { + "description": "The reason for unavailability.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "IotHubNameUnavailabilityReason", + "modelAsString": false + } + }, + "message": { + "description": "The detailed reason message.", + "type": "string" + } + } + }, + "UserSubscriptionQuotaListResult": { "type": "object", + "description": "Json-serialized array of User subscription quota response", "properties": { "value": { - "description": "The array of JobResponse objects.", "type": "array", "items": { - "$ref": "#/definitions/JobResponse" + "$ref": "#/definitions/UserSubscriptionQuota" } }, "nextLink": { - "description": "The next link.", "type": "string", "readOnly": true } } }, - "IotHubSkuDescription": { - "description": "SKU properties.", + "UserSubscriptionQuota": { + "description": "User subscription quota response", "type": "object", "properties": { - "resourceType": { - "description": "The type of the resource.", - "type": "string", - "readOnly": true + "id": { + "description": "IotHub type id", + "type": "string" }, - "sku": { - "$ref": "#/definitions/IotHubSkuInfo" + "type": { + "description": "Response type", + "type": "string" }, - "capacity": { - "$ref": "#/definitions/IotHubCapacity" + "unit": { + "description": "Unit of IotHub type", + "type": "string" + }, + "currentValue": { + "description": "Current number of IotHub type", + "format": "int32", + "type": "integer" + }, + "limit": { + "description": "Numerical limit on IotHub type", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "IotHub type", + "$ref": "#/definitions/Name" } - }, - "required": [ - "sku", - "capacity" - ] + } }, - "IotHubCapacity": { - "description": "IoT Hub capacity information.", + "Name": { + "description": "Name of Iot Hub type", "type": "object", "properties": { - "minimum": { - "format": "int64", - "description": "The minimum number of units.", - "type": "integer", - "minimum": 1, - "maximum": 1, - "readOnly": true - }, - "maximum": { - "format": "int64", - "description": "The maximum number of units.", - "type": "integer", - "readOnly": true - }, - "default": { - "format": "int64", - "description": "The default number of units.", - "type": "integer", - "readOnly": true + "value": { + "description": "IotHub type", + "type": "string" }, - "scaleType": { - "description": "The type of the scaling enabled.", - "enum": [ "Automatic", "Manual", "None" ], - "readOnly": true, + "localizedValue": { + "description": "Localized value of name", + "type": "string" + } + } + }, + "TestAllRoutesInput": { + "description": "Input for testing all routes", + "type": "object", + "properties": { + "routingSource": { + "description": "Routing source", + "enum": [ + "Invalid", + "DeviceMessages", + "TwinChangeEvents", + "DeviceLifecycleEvents", + "DeviceJobLifecycleEvents", + "DeviceConnectionStateEvents" + ], "type": "string", "x-ms-enum": { - "name": "IotHubScaleType", - "modelAsString": false + "name": "RoutingSource", + "modelAsString": true } + }, + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" + }, + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" } } }, - "EventHubConsumerGroupsListResult": { - "description": "The JSON-serialized array of Event Hub-compatible consumer group names with a next link.", + "RoutingTwin": { + "description": "Twin reference input parameter. This is an optional parameter", "type": "object", "properties": { - "value": { - "description": "The array of Event Hub-compatible consumer group names.", - "type": "array", - "items": { - "type": "string" - } + "tags": { + "description": "Twin Tags", + "type": "object" }, - "nextLink": { - "description": "The next link.", - "type": "string", - "readOnly": true + "properties": { + "properties": { + "desired": { + "description": "Twin desired properties", + "type": "object" + }, + "reported": { + "description": "Twin desired properties", + "type": "object" + } + } } } - }, - "EventHubConsumerGroupInfo": { - "description": "The properties of the EventHubConsumerGroupInfo object.", + }, + "RoutingMessage": { + "description": "Routing message", "type": "object", "properties": { - "tags": { - "description": "The tags.", + "body": { + "description": "Body of routing message", + "type": "string" + }, + "appProperties": { + "description": "App properties", "type": "object", "additionalProperties": { "type": "string" } }, - "id": { - "description": "The Event Hub-compatible consumer group identifier.", - "type": "string" - }, - "name": { - "description": "The Event Hub-compatible consumer group name.", - "type": "string" + "systemProperties": { + "description": "System properties", + "type": "object", + "additionalProperties": { + "type": "string" + } } } }, - "IotHubSkuDescriptionListResult": { - "description": "The JSON-serialized array of IotHubSkuDescription objects with a next link.", + "TestAllRoutesResult": { + "description": "Result of testing all routes", "type": "object", "properties": { - "value": { - "description": "The array of IotHubSkuDescription.", + "routes": { + "description": "JSON-serialized array of matched routes", "type": "array", "items": { - "$ref": "#/definitions/IotHubSkuDescription" + "$ref": "#/definitions/MatchedRoute" } - }, - "nextLink": { - "description": "The next link.", - "type": "string", - "readOnly": true } } }, - "JobResponse": { - "description": "The properties of the Job Response object.", + "MatchedRoute": { + "description": "Routes that matched", "type": "object", "properties": { - "jobId": { - "description": "The job identifier.", - "type": "string", - "readOnly": true - }, - "startTimeUtc": { - "format": "date-time-rfc1123", - "description": "The start time of the job.", - "type": "string", - "readOnly": true + "properties": { + "description": "Properties of routes that matched", + "$ref": "#/definitions/RouteProperties" + } + } + }, + "TestRouteInput": { + "required": [ + "route" + ], + "description": "Input for testing route", + "type": "object", + "properties": { + "message": { + "description": "Routing message", + "$ref": "#/definitions/RoutingMessage" }, - "endTimeUtc": { - "format": "date-time-rfc1123", - "description": "The time the job stopped processing.", - "type": "string", - "readOnly": true + "route": { + "description": "Route properties", + "$ref": "#/definitions/RouteProperties" }, - "type": { - "description": "The type of the job.", - "enum": [ "unknown", "export", "import", "backup", "readDeviceProperties", "writeDeviceProperties", "updateDeviceConfiguration", "rebootDevice", "factoryResetDevice", "firmwareUpdate" ], + "twin": { + "description": "Routing Twin Reference", + "$ref": "#/definitions/RoutingTwin" + } + } + }, + "TestRouteResult": { + "description": "Result of testing one route", + "type": "object", + "properties": { + "result": { + "description": "Result of testing route", + "enum": [ + "undefined", + "false", + "true" + ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "JobType", + "name": "TestResultStatus", "modelAsString": true } }, - "status": { - "description": "The status of the job.", - "enum": [ "unknown", "enqueued", "running", "completed", "failed", "cancelled" ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "JobStatus", - "modelAsString": false - } - }, - "failureReason": { - "description": "If status == failed, this string containing the reason for the failure.", - "type": "string", - "readOnly": true - }, - "statusMessage": { - "description": "The status message for the job.", - "type": "string", - "readOnly": true - }, - "parentJobId": { - "description": "The job identifier of the parent job, if any.", - "type": "string", - "readOnly": true + "details": { + "description": "Detailed result of testing route", + "$ref": "#/definitions/TestRouteResultDetails" } } }, - "IotHubDescriptionListResult": { - "description": "The JSON-serialized array of IotHubDescription objects with a next link.", + "TestRouteResultDetails": { + "description": "Detailed result of testing a route", "type": "object", "properties": { - "value": { - "description": "The array of IotHubDescription objects.", + "compilationErrors": { + "description": "JSON-serialized list of route compilation errors", "type": "array", "items": { - "$ref": "#/definitions/IotHubDescription" + "$ref": "#/definitions/RouteCompilationError" } - }, - "nextLink": { - "description": "The next link.", - "type": "string", - "readOnly": true } } }, - "IotHubQuotaMetricInfo": { - "description": "Quota metrics properties.", + "RouteCompilationError": { + "description": "Compilation error when evaluating route", "type": "object", "properties": { - "Name": { - "description": "The name of the quota metric.", - "type": "string", - "readOnly": true + "message": { + "description": "Route error message", + "type": "string" }, - "CurrentValue": { - "format": "int64", - "description": "The current value for the quota metric.", - "type": "integer", - "readOnly": true + "severity": { + "description": "Severity of the route error", + "enum": [ + "error", + "warning" + ], + "type": "string", + "x-ms-enum": { + "name": "RouteErrorSeverity", + "modelAsString": true + } }, - "MaxValue": { - "format": "int64", - "description": "The maximum value of the quota metric.", - "type": "integer", - "readOnly": true + "location": { + "description": "Location where the route error happened", + "$ref": "#/definitions/RouteErrorRange" } } }, - "OperationInputs": { - "description": "Input values.", + "RouteErrorRange": { + "description": "Range of route errors", "type": "object", "properties": { - "Name": { - "description": "The name of the IoT hub to check.", - "type": "string" + "start": { + "description": "Start where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" + }, + "end": { + "description": "End where the route error happened", + "$ref": "#/definitions/RouteErrorPosition" } - }, - "required": [ - "Name" - ] + } }, - "IotHubNameAvailabilityInfo": { - "description": "The properties indicating whether a given IoT hub name is available.", + "RouteErrorPosition": { + "description": "Position where the route error happened", "type": "object", "properties": { - "nameAvailable": { - "description": "The value which indicates whether the provided name is available.", - "type": "boolean", - "readOnly": true - }, - "reason": { - "description": "The reason for unavailability.", - "enum": [ "Invalid", "AlreadyExists" ], - "type": "string", - "readOnly": true, - "x-ms-enum": { - "name": "IotHubNameUnavailabilityReason", - "modelAsString": false - } + "line": { + "description": "Line where the route error happened", + "format": "int32", + "type": "integer" }, - "message": { - "description": "The detailed reason message.", - "type": "string" + "column": { + "description": "Column where the route error happened", + "format": "int32", + "type": "integer" } } }, @@ -1932,37 +4154,190 @@ "description": "Use to provide parameters when requesting an export of all devices in the IoT hub.", "type": "object", "properties": { - "ExportBlobContainerUri": { + "exportBlobContainerUri": { "description": "The export blob container URI.", "type": "string" }, - "ExcludeKeys": { + "excludeKeys": { "description": "The value indicating whether keys should be excluded during export.", "type": "boolean" + }, + "exportBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported device registry information for the IoT Hub.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "identity": { + "description": "Managed identity properties of storage endpoint for export devices.", + "$ref": "#/definitions/ManagedIdentity" + }, + "includeConfigurations": { + "description": "The value indicating whether configurations should be exported.", + "type": "boolean" + }, + "configurationsBlobName": { + "description": "The name of the blob that will be created in the provided output blob container. This blob will contain the exported configurations for the Iot Hub.", + "type": "string" } }, "required": [ - "ExportBlobContainerUri", - "ExcludeKeys" + "exportBlobContainerUri", + "excludeKeys" ] }, "ImportDevicesRequest": { "description": "Use to provide parameters when requesting an import of all devices in the hub.", "type": "object", "properties": { - "InputBlobContainerUri": { + "inputBlobContainerUri": { "description": "The input blob container URI.", "type": "string" }, - "OutputBlobContainerUri": { + "outputBlobContainerUri": { "description": "The output blob container URI.", "type": "string" + }, + "inputBlobName": { + "description": "The blob name to be used when importing from the provided input blob container.", + "type": "string" + }, + "outputBlobName": { + "description": "The blob name to use for storing the status of the import job.", + "type": "string" + }, + "authenticationType": { + "description": "Specifies authentication type being used for connecting to the storage account.", + "enum": [ + "keyBased", + "identityBased" + ], + "type": "string", + "x-ms-enum": { + "name": "AuthenticationType", + "modelAsString": true + } + }, + "identity": { + "description": "Managed identity properties of storage endpoint for import devices.", + "$ref": "#/definitions/ManagedIdentity" + }, + "includeConfigurations": { + "description": "The value indicating whether configurations should be imported.", + "type": "boolean" + }, + "configurationsBlobName": { + "description": "The blob name to be used when importing configurations from the provided input blob container.", + "type": "string" + } + }, + "required": [ + "inputBlobContainerUri", + "outputBlobContainerUri" + ] + }, + "FailoverInput": { + "description": "Use to provide failover region when requesting manual Failover for a hub.", + "type": "object", + "properties": { + "failoverRegion": { + "description": "Region the hub will be failed over to", + "type": "string" } }, "required": [ - "InputBlobContainerUri", - "OutputBlobContainerUri" + "failoverRegion" ] + }, + "IotHubLocationDescription": { + "description": "Public representation of one of the locations where a resource is provisioned.", + "type": "object", + "properties": { + "location": { + "description": "The name of the Azure region", + "type": "string" + }, + "role": { + "description": "The role of the region, can be either primary or secondary. The primary region is where the IoT hub is currently provisioned. The secondary region is the Azure disaster recovery (DR) paired region and also the region where the IoT hub can failover to.", + "enum": [ + "primary", + "secondary" + ], + "type": "string", + "x-ms-enum": { + "name": "IotHubReplicaRoleType", + "modelAsString": true + } + } + } + }, + "ArmIdentity": { + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant Id", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of identity used for the resource. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the service.", + "type": "string", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ArmUserIdentity" + } + } + } + }, + "ArmUserIdentity": { + "type": "object", + "properties": { + "principalId": { + "type": "string", + "readOnly": true + }, + "clientId": { + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentity": { + "description": "The properties of the Managed identity.", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity." + } + } } }, "parameters": { @@ -1979,7 +4354,47 @@ "description": "The version of the API.", "required": true, "type": "string" + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "The name of the resource group that contains the IoT hub.", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "resourceName": { + "name": "resourceName", + "in": "path", + "description": "The name of the IoT hub.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "certificateName": { + "name": "certificateName", + "in": "path", + "description": "The name of the certificate", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9-._]{1,64}$", + "x-ms-parameter-location": "method" + }, + "groupId": { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "privateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" } - }, - "security": [ ] -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.EventGrid/EventGrid.json b/App_Data/SwaggerSpecs/Microsoft.EventGrid/EventGrid.json index 6ad50467..4b725dd9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.EventGrid/EventGrid.json +++ b/App_Data/SwaggerSpecs/Microsoft.EventGrid/EventGrid.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2019-06-01", + "version": "2021-12-01", "title": "EventGridManagementClient", "description": "Azure EventGrid Management Client" }, @@ -163,6 +163,9 @@ } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" }, @@ -225,6 +228,9 @@ } ], "responses": { + "200": { + "description": "OK" + }, "201": { "description": "Domain update request accepted.", "schema": { @@ -616,6 +622,9 @@ } ], "responses": { + "200": { + "description": "OK" + }, "202": { "description": "Accepted" }, @@ -962,31 +971,40 @@ "x-ms-long-running-operation": true } }, - "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}": { + "get": { "tags": [ "EventSubscriptions" ], - "summary": "Get full URL of an event subscription.", - "description": "Get the full endpoint URL for an event subscription.", - "operationId": "EventSubscriptions_GetFullUrl", + "summary": "Get an event subscription of a system topic.", + "description": "Get an event subscription.", + "operationId": "SystemTopicEventSubscriptions_Get", "consumes": [], "produces": [ "application/json" ], "parameters": [ { - "name": "scope", + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", "in": "path", - "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "description": "The name of the resource group within the user's subscription.", "required": true, - "type": "string", - "x-ms-skip-url-encoding": true + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" }, { "name": "eventSubscriptionName", "in": "path", - "description": "Name of the event subscription.", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", "required": true, "type": "string" }, @@ -998,7 +1016,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventSubscriptionFullUrl" + "$ref": "#/definitions/EventSubscription" } }, "default": { @@ -1006,30 +1024,21 @@ } }, "x-ms-examples": { - "EventSubscriptions_GetFullUrlForSubscription": { - "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json" - }, - "EventSubscriptions_GetFullUrlForResourceGroup": { - "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json" - }, - "EventSubscriptions_GetFullUrlForResource": { - "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json" - }, - "EventSubscriptions_GetFullUrlForCustomTopic": { - "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json" + "SystemTopicEventSubscriptions_Get": { + "$ref": "./examples/SystemTopicEventSubscriptions_Get.json" } } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": { - "get": { + }, + "put": { "tags": [ "EventSubscriptions" ], - "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.", - "description": "List all aggregated global event subscriptions under a specific Azure subscription.", - "operationId": "EventSubscriptions_ListGlobalBySubscription", - "consumes": [], + "summary": "Create or update an event subscription for a system topic.", + "description": "Asynchronously creates or updates an event subscription with the specified parameters. Existing event subscriptions will be updated with this API.", + "operationId": "SystemTopicEventSubscriptions_CreateOrUpdate", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1038,44 +1047,64 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/FilterParameter" + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/TopParameter" + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" + }, + { + "name": "eventSubscriptionInfo", + "in": "body", + "description": "Event subscription properties containing the destination and filter information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscription" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/EventSubscriptionsListResult" + "$ref": "#/definitions/EventSubscription" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListGlobalBySubscription": { - "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json" + "SystemTopicEventSubscriptions_CreateOrUpdate": { + "$ref": "./examples/SystemTopicEventSubscriptions_CreateOrUpdate.json" } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { - "get": { + }, + "x-ms-long-running-operation": true + }, + "delete": { "tags": [ "EventSubscriptions" ], - "summary": "List all global event subscriptions for a topic type.", - "description": "List all global event subscriptions under an Azure subscription for a topic type.", - "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType", + "summary": "Delete an event subscription of a system topic.", + "description": "Delete an event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_Delete", "consumes": [], "produces": [ "application/json" @@ -1085,52 +1114,61 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "topicTypeName", + "name": "resourceGroupName", "in": "path", - "description": "Name of the topic type.", + "description": "The name of the resource group within the user's subscription.", "required": true, "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/FilterParameter" + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/TopParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/EventSubscriptionsListResult" - } + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" }, "default": { - "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListGlobalBySubscriptionForTopicType": { - "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json" + "SystemTopicEventSubscriptions_Delete": { + "$ref": "./examples/SystemTopicEventSubscriptions_Delete.json" } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": { - "get": { + }, + "x-ms-long-running-operation": true + }, + "patch": { "tags": [ "EventSubscriptions" ], - "summary": "List all global event subscriptions under an Azure subscription and resource group.", - "description": "List all global event subscriptions under a specific Azure subscription and resource group.", - "operationId": "EventSubscriptions_ListGlobalByResourceGroup", - "consumes": [], + "summary": "Update event subscription of a system topic.", + "description": "Update event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_Update", + "consumes": [ + "application/json" + ], "produces": [ "application/json" ], @@ -1146,44 +1184,59 @@ "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/FilterParameter" + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/TopParameter" + "name": "eventSubscriptionUpdateParameters", + "in": "body", + "description": "Updated event subscription information.", + "required": true, + "schema": { + "$ref": "#/definitions/EventSubscriptionUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "200": { - "description": "OK", + "201": { + "description": "Created", "schema": { - "$ref": "#/definitions/EventSubscriptionsListResult" + "$ref": "#/definitions/EventSubscription" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListGlobalByResourceGroup": { - "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json" + "SystemTopicEventSubscriptions_Update": { + "$ref": "./examples/SystemTopicEventSubscriptions_Update.json" } - } + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { "tags": [ "EventSubscriptions" ], - "summary": "List all global event subscriptions under a resource group for a topic type.", - "description": "List all global event subscriptions under a resource group for a specific topic type.", - "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType", + "summary": "Get full URL of an event subscription of a system topic", + "description": "Get the full endpoint URL for an event subscription of a system topic.", + "operationId": "SystemTopicEventSubscriptions_GetFullUrl", "consumes": [], "produces": [ "application/json" @@ -1200,105 +1253,108 @@ "type": "string" }, { - "name": "topicTypeName", + "name": "systemTopicName", "in": "path", - "description": "Name of the topic type.", + "description": "Name of the system topic.", "required": true, "type": "string" }, { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/FilterParameter" + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/TopParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventSubscriptionsListResult" + "$ref": "#/definitions/EventSubscriptionFullUrl" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListGlobalByResourceGroupForTopicType": { - "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json" + "SystemTopicEventSubscriptions_GetFullUrl": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetFullUrl.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { - "get": { + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getFullUrl": { + "post": { "tags": [ "EventSubscriptions" ], - "summary": "List all regional event subscriptions under an Azure subscription.", - "description": "List all event subscriptions from the given location under a specific Azure subscription.", - "operationId": "EventSubscriptions_ListRegionalBySubscription", + "summary": "Get full URL of an event subscription.", + "description": "Get the full endpoint URL for an event subscription.", + "operationId": "EventSubscriptions_GetFullUrl", "consumes": [], "produces": [ "application/json" ], "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "scope", + "in": "path", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", + "required": true, + "type": "string", + "x-ms-skip-url-encoding": true }, { - "name": "location", + "name": "eventSubscriptionName", "in": "path", - "description": "Name of the location.", + "description": "Name of the event subscription.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/FilterParameter" - }, - { - "$ref": "#/parameters/TopParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventSubscriptionsListResult" + "$ref": "#/definitions/EventSubscriptionFullUrl" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListRegionalBySubscription": { - "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { - "get": { - "tags": [ + "EventSubscriptions_GetFullUrlForSubscription": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForSubscription.json" + }, + "EventSubscriptions_GetFullUrlForResourceGroup": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResourceGroup.json" + }, + "EventSubscriptions_GetFullUrlForResource": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForResource.json" + }, + "EventSubscriptions_GetFullUrlForCustomTopic": { + "$ref": "./examples/EventSubscriptions_GetFullUrlForCustomTopic.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions": { + "get": { + "tags": [ "EventSubscriptions" ], - "summary": "List all regional event subscriptions under an Azure subscription and resource group.", - "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.", - "operationId": "EventSubscriptions_ListRegionalByResourceGroup", + "summary": "List event subscriptions of a system topic.", + "description": "List event subscriptions that belong to a specific system topic.", + "operationId": "SystemTopicEventSubscriptions_ListBySystemTopic", "consumes": [], "produces": [ "application/json" @@ -1315,9 +1371,9 @@ "type": "string" }, { - "name": "location", + "name": "systemTopicName", "in": "path", - "description": "Name of the location.", + "description": "Name of the system topic.", "required": true, "type": "string" }, @@ -1342,24 +1398,24 @@ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "EventSubscriptions_ListRegionalByResourceGroup": { - "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json" + "SystemTopicEventSubscriptions_ListBySystemTopic": { + "$ref": "./examples/SystemTopicEventSubscriptions_ListBySystemTopic.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/eventSubscriptions": { "get": { "tags": [ "EventSubscriptions" ], - "summary": "List all regional event subscriptions under an Azure subscription for a topic type.", - "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.", - "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType", + "summary": "Get an aggregated list of all global event subscriptions under an Azure subscription.", + "description": "List all aggregated global event subscriptions under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListGlobalBySubscription", "consumes": [], "produces": [ "application/json" @@ -1368,20 +1424,6 @@ { "$ref": "#/parameters/SubscriptionIdParameter" }, - { - "name": "location", - "in": "path", - "description": "Name of the location.", - "required": true, - "type": "string" - }, - { - "name": "topicTypeName", - "in": "path", - "description": "Name of the topic type.", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1407,20 +1449,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "EventSubscriptions_ListRegionalBySubscriptionForTopicType": { - "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json" + "EventSubscriptions_ListGlobalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscription.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { "get": { "tags": [ "EventSubscriptions" ], - "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.", - "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.", - "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType", + "summary": "List all global event subscriptions for a topic type.", + "description": "List all global event subscriptions under an Azure subscription for a topic type.", + "operationId": "EventSubscriptions_ListGlobalBySubscriptionForTopicType", "consumes": [], "produces": [ "application/json" @@ -1429,20 +1471,6 @@ { "$ref": "#/parameters/SubscriptionIdParameter" }, - { - "name": "resourceGroupName", - "in": "path", - "description": "The name of the resource group within the user's subscription.", - "required": true, - "type": "string" - }, - { - "name": "location", - "in": "path", - "description": "Name of the location.", - "required": true, - "type": "string" - }, { "name": "topicTypeName", "in": "path", @@ -1475,20 +1503,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "EventSubscriptions_ListRegionalByResourceGroupForTopicType": { - "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json" + "EventSubscriptions_ListGlobalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalBySubscriptionForTopicType.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/eventSubscriptions": { "get": { "tags": [ "EventSubscriptions" ], - "summary": "List all event subscriptions for a specific topic.", - "description": "List all event subscriptions that have been created for a specific topic.", - "operationId": "EventSubscriptions_ListByResource", + "summary": "List all global event subscriptions under an Azure subscription and resource group.", + "description": "List all global event subscriptions under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroup", "consumes": [], "produces": [ "application/json" @@ -1504,27 +1532,6 @@ "required": true, "type": "string" }, - { - "name": "providerNamespace", - "in": "path", - "description": "Namespace of the provider of the topic.", - "required": true, - "type": "string" - }, - { - "name": "resourceTypeName", - "in": "path", - "description": "Name of the resource type.", - "required": true, - "type": "string" - }, - { - "name": "resourceName", - "in": "path", - "description": "Name of the resource.", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1546,24 +1553,24 @@ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-examples": { - "EventSubscriptions_ListByResource": { - "$ref": "./examples/EventSubscriptions_ListByResource.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroup.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topicTypes/{topicTypeName}/eventSubscriptions": { "get": { "tags": [ "EventSubscriptions" ], - "summary": "List all event subscriptions for a specific domain topic.", - "description": "List all event subscriptions that have been created for a specific domain topic.", - "operationId": "EventSubscriptions_ListByDomainTopic", + "summary": "List all global event subscriptions under a resource group for a topic type.", + "description": "List all global event subscriptions under a resource group for a specific topic type.", + "operationId": "EventSubscriptions_ListGlobalByResourceGroupForTopicType", "consumes": [], "produces": [ "application/json" @@ -1580,16 +1587,9 @@ "type": "string" }, { - "name": "domainName", - "in": "path", - "description": "Name of the top level domain.", - "required": true, - "type": "string" - }, - { - "name": "topicName", + "name": "topicTypeName", "in": "path", - "description": "Name of the domain topic.", + "description": "Name of the topic type.", "required": true, "type": "string" }, @@ -1614,38 +1614,54 @@ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-examples": { - "EventSubscriptions_ListByDomainTopic": { - "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "EventSubscriptions_ListGlobalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListGlobalByResourceGroupForTopicType.json" + } } } }, - "/providers/Microsoft.EventGrid/operations": { + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { "get": { "tags": [ - "Operations" + "EventSubscriptions" ], - "summary": "List available operations.", - "description": "List the available operations supported by the Microsoft.EventGrid resource provider.", - "operationId": "Operations_List", + "summary": "List all regional event subscriptions under an Azure subscription.", + "description": "List all event subscriptions from the given location under a specific Azure subscription.", + "operationId": "EventSubscriptions_ListRegionalBySubscription", "consumes": [], "produces": [ "application/json" ], "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "description": "Name of the location.", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/OperationsListResult" + "$ref": "#/definitions/EventSubscriptionsListResult" } }, "default": { @@ -1653,23 +1669,23 @@ } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" }, "x-ms-examples": { - "Operations_List": { - "$ref": "./examples/Operations_List.json" + "EventSubscriptions_ListRegionalBySubscription": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscription.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/eventSubscriptions": { "get": { "tags": [ - "Topics" + "EventSubscriptions" ], - "summary": "Get a topic.", - "description": "Get properties of a topic.", - "operationId": "Topics_Get", + "summary": "List all regional event subscriptions under an Azure subscription and resource group.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroup", "consumes": [], "produces": [ "application/json" @@ -1686,43 +1702,52 @@ "type": "string" }, { - "name": "topicName", + "name": "location", "in": "path", - "description": "Name of the topic.", + "description": "Name of the location.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Topic" + "$ref": "#/definitions/EventSubscriptionsListResult" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Topics_Get": { - "$ref": "./examples/Topics_Get.json" + "EventSubscriptions_ListRegionalByResourceGroup": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroup.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { "tags": [ - "Topics" - ], - "summary": "Create a topic.", - "description": "Asynchronously creates a new topic with the specified parameters.", - "operationId": "Topics_CreateOrUpdate", - "consumes": [ - "application/json" + "EventSubscriptions" ], + "summary": "List all regional event subscriptions under an Azure subscription for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and topic type.", + "operationId": "EventSubscriptions_ListRegionalBySubscriptionForTopicType", + "consumes": [], "produces": [ "application/json" ], @@ -1731,57 +1756,58 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "resourceGroupName", + "name": "location", "in": "path", - "description": "The name of the resource group within the user's subscription.", + "description": "Name of the location.", "required": true, "type": "string" }, { - "name": "topicName", + "name": "topicTypeName", "in": "path", - "description": "Name of the topic.", + "description": "Name of the topic type.", "required": true, "type": "string" }, { - "name": "topicInfo", - "in": "body", - "description": "Topic information.", - "required": true, - "schema": { - "$ref": "#/definitions/Topic" - } + "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" } ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "schema": { - "$ref": "#/definitions/Topic" + "$ref": "#/definitions/EventSubscriptionsListResult" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Topics_CreateOrUpdate": { - "$ref": "./examples/Topics_CreateOrUpdate.json" + "EventSubscriptions_ListRegionalBySubscriptionForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalBySubscriptionForTopicType.json" } - }, - "x-ms-long-running-operation": true - }, - "delete": { + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/locations/{location}/topicTypes/{topicTypeName}/eventSubscriptions": { + "get": { "tags": [ - "Topics" + "EventSubscriptions" ], - "summary": "Delete a topic.", - "description": "Delete existing topic.", - "operationId": "Topics_Delete", + "summary": "List all regional event subscriptions under an Azure subscription and resource group for a topic type.", + "description": "List all event subscriptions from the given location under a specific Azure subscription and resource group and topic type.", + "operationId": "EventSubscriptions_ListRegionalByResourceGroupForTopicType", "consumes": [], "produces": [ "application/json" @@ -1798,44 +1824,59 @@ "type": "string" }, { - "name": "topicName", + "name": "location", "in": "path", - "description": "Name of the topic.", + "description": "Name of the location.", + "required": true, + "type": "string" + }, + { + "name": "topicTypeName", + "in": "path", + "description": "Name of the topic type.", "required": true, "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EventSubscriptionsListResult" + } }, "default": { - "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Topics_Delete": { - "$ref": "./examples/Topics_Delete.json" + "EventSubscriptions_ListRegionalByResourceGroupForTopicType": { + "$ref": "./examples/EventSubscriptions_ListRegionalByResourceGroupForTopicType.json" } - }, - "x-ms-long-running-operation": true - }, - "patch": { + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventSubscriptions": { + "get": { "tags": [ - "Topics" - ], - "summary": "Update a topic.", - "description": "Asynchronously updates a topic with the specified parameters.", - "operationId": "Topics_Update", - "consumes": [ - "application/json" + "EventSubscriptions" ], + "summary": "List all event subscriptions for a specific topic.", + "description": "List all event subscriptions that have been created for a specific topic.", + "operationId": "EventSubscriptions_ListByResource", + "consumes": [], "produces": [ "application/json" ], @@ -1851,59 +1892,25 @@ "type": "string" }, { - "name": "topicName", + "name": "providerNamespace", "in": "path", - "description": "Name of the topic.", + "description": "Namespace of the provider of the topic.", "required": true, "type": "string" }, { - "name": "topicUpdateParameters", - "in": "body", - "description": "Topic update information.", + "name": "resourceTypeName", + "in": "path", + "description": "Name of the resource type.", "required": true, - "schema": { - "$ref": "#/definitions/TopicUpdateParameters" - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Topic update request accepted.", - "schema": { - "$ref": "#/definitions/Topic" - } + "type": "string" }, - "default": { - "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." - } - }, - "x-ms-examples": { - "Topics_Update": { - "$ref": "./examples/Topics_Update.json" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": { - "get": { - "tags": [ - "Topics" - ], - "summary": "List topics under an Azure subscription.", - "description": "List all the topics under an Azure subscription.", - "operationId": "Topics_ListBySubscription", - "consumes": [], - "produces": [ - "application/json" - ], - "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "resourceName", + "in": "path", + "description": "Name of the resource.", + "required": true, + "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1919,31 +1926,31 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TopicsListResult" + "$ref": "#/definitions/EventSubscriptionsListResult" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Topics_ListBySubscription": { - "$ref": "./examples/Topics_ListBySubscription.json" + "EventSubscriptions_ListByResource": { + "$ref": "./examples/EventSubscriptions_ListByResource.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/domains/{domainName}/topics/{topicName}/providers/Microsoft.EventGrid/eventSubscriptions": { "get": { "tags": [ - "Topics" + "EventSubscriptions" ], - "summary": "List topics under a resource group.", - "description": "List all the topics under a resource group.", - "operationId": "Topics_ListByResourceGroup", + "summary": "List all event subscriptions for a specific domain topic.", + "description": "List all event subscriptions that have been created for a specific domain topic.", + "operationId": "EventSubscriptions_ListByDomainTopic", "consumes": [], "produces": [ "application/json" @@ -1959,6 +1966,20 @@ "required": true, "type": "string" }, + { + "name": "domainName", + "in": "path", + "description": "Name of the top level domain.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the domain topic.", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1973,50 +1994,48 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TopicsListResult" + "$ref": "#/definitions/EventSubscriptionsListResult" } }, "default": { "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Topics_ListByResourceGroup": { - "$ref": "./examples/Topics_ListByResourceGroup.json" + "EventSubscriptions_ListByDomainTopic": { + "$ref": "./examples/EventSubscriptions_ListByDomainTopic.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": { + "/{scope}/providers/Microsoft.EventGrid/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { "post": { "tags": [ - "Topics" + "EventSubscriptions" ], - "summary": "List keys for a topic.", - "description": "List the two keys used to publish to a topic.", - "operationId": "Topics_ListSharedAccessKeys", + "summary": "Get delivery attributes for an event subscription.", + "description": "Get all delivery attributes for an event subscription.", + "operationId": "EventSubscriptions_GetDeliveryAttributes", "consumes": [], "produces": [ "application/json" ], "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "resourceGroupName", + "name": "scope", "in": "path", - "description": "The name of the resource group within the user's subscription.", + "description": "The scope of the event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.", "required": true, - "type": "string" + "type": "string", + "x-ms-skip-url-encoding": true }, { - "name": "topicName", + "name": "eventSubscriptionName", "in": "path", - "description": "Name of the topic.", + "description": "Name of the event subscription.", "required": true, "type": "string" }, @@ -2028,7 +2047,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TopicSharedAccessKeys" + "$ref": "#/definitions/DeliveryAttributeListResult" } }, "default": { @@ -2036,23 +2055,21 @@ } }, "x-ms-examples": { - "Topics_ListSharedAccessKeys": { - "$ref": "./examples/Topics_ListSharedAccessKeys.json" + "EventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/EventSubscriptions_GetDeliveryAttributes.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}/eventSubscriptions/{eventSubscriptionName}/getDeliveryAttributes": { "post": { "tags": [ - "Topics" - ], - "summary": "Regenerate key for a topic.", - "description": "Regenerate a shared access key for a topic.", - "operationId": "Topics_RegenerateKey", - "consumes": [ - "application/json" + "EventSubscriptions" ], + "summary": "Get delivery attributes for an event subscription.", + "description": "Get all delivery attributes for an event subscription.", + "operationId": "SystemTopicEventSubscriptions_GetDeliveryAttributes", + "consumes": [], "produces": [ "application/json" ], @@ -2068,20 +2085,18 @@ "type": "string" }, { - "name": "topicName", + "name": "systemTopicName", "in": "path", - "description": "Name of the topic.", + "description": "Name of the system topic.", "required": true, "type": "string" }, { - "name": "regenerateKeyRequest", - "in": "body", - "description": "Request body to regenerate key.", + "name": "eventSubscriptionName", + "in": "path", + "description": "Name of the event subscription to be created. Event subscription names must be between 3 and 100 characters in length and use alphanumeric letters only.", "required": true, - "schema": { - "$ref": "#/definitions/TopicRegenerateKeyRequest" - } + "type": "string" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2091,7 +2106,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/TopicSharedAccessKeys" + "$ref": "#/definitions/DeliveryAttributeListResult" } }, "default": { @@ -2099,30 +2114,1289 @@ } }, "x-ms-examples": { - "Topics_RegenerateKey": { - "$ref": "./examples/Topics_RegenerateKey.json" + "SystemTopicEventSubscriptions_GetDeliveryAttributes": { + "$ref": "./examples/SystemTopicEventSubscriptions_GetDeliveryAttributes.json" } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": { + "/providers/Microsoft.EventGrid/operations": { "get": { "tags": [ - "Topics" + "Operations" ], - "summary": "List topic event types.", - "description": "List event types for a topic.", - "operationId": "Topics_ListEventTypes", + "summary": "List available operations.", + "description": "List the available operations supported by the Microsoft.EventGrid resource provider.", + "operationId": "Operations_List", "consumes": [], "produces": [ "application/json" ], "parameters": [ { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } }, - { - "name": "resourceGroupName", + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}": { + "get": { + "tags": [ + "Topics" + ], + "summary": "Get a topic.", + "description": "Get properties of a topic.", + "operationId": "Topics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Get": { + "$ref": "./examples/Topics_Get.json" + } + } + }, + "put": { + "tags": [ + "Topics" + ], + "summary": "Create a topic.", + "description": "Asynchronously creates a new topic with the specified parameters.", + "operationId": "Topics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicInfo", + "in": "body", + "description": "Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/Topic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_CreateOrUpdate": { + "$ref": "./examples/Topics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Topics" + ], + "summary": "Delete a topic.", + "description": "Delete existing topic.", + "operationId": "Topics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Delete": { + "$ref": "./examples/Topics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Topics" + ], + "summary": "Update a topic.", + "description": "Asynchronously updates a topic with the specified parameters.", + "operationId": "Topics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "topicUpdateParameters", + "in": "body", + "description": "Topic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "201": { + "description": "Topic update request accepted.", + "schema": { + "$ref": "#/definitions/Topic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_Update": { + "$ref": "./examples/Topics_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under an Azure subscription.", + "description": "List all the topics under an Azure subscription.", + "operationId": "Topics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Topics_ListBySubscription": { + "$ref": "./examples/Topics_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topics under a resource group.", + "description": "List all the topics under a resource group.", + "operationId": "Topics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Topics_ListByResourceGroup": { + "$ref": "./examples/Topics_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/listKeys": { + "post": { + "tags": [ + "Topics" + ], + "summary": "List keys for a topic.", + "description": "List the two keys used to publish to a topic.", + "operationId": "Topics_ListSharedAccessKeys", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_ListSharedAccessKeys": { + "$ref": "./examples/Topics_ListSharedAccessKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}/regenerateKey": { + "post": { + "tags": [ + "Topics" + ], + "summary": "Regenerate key for a topic.", + "description": "Regenerate a shared access key for a topic.", + "operationId": "Topics_RegenerateKey", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "topicName", + "in": "path", + "description": "Name of the topic.", + "required": true, + "type": "string" + }, + { + "name": "regenerateKeyRequest", + "in": "body", + "description": "Request body to regenerate key.", + "required": true, + "schema": { + "$ref": "#/definitions/TopicRegenerateKeyRequest" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/TopicSharedAccessKeys" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "Topics_RegenerateKey": { + "$ref": "./examples/Topics_RegenerateKey.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Get a specific private endpoint connection.", + "description": "Get a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Update a specific private endpoint connection.", + "description": "Update a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection object to update.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Update": { + "$ref": "./examples/PrivateEndpointConnections_Update.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Delete a specific private endpoint connection.", + "description": "Delete a specific private endpoint connection under a topic or domain.", + "operationId": "PrivateEndpointConnections_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "summary": "Lists all private endpoint connections under a resource.", + "description": "Get all private endpoint connections under a topic or domain.", + "operationId": "PrivateEndpointConnections_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string", + "enum": [ + "topics", + "domains" + ] + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_ListByResource": { + "$ref": "./examples/PrivateEndpointConnections_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "Get a private link resource.", + "description": "Get properties of a private link resource.", + "operationId": "PrivateLinkResources_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "description": "The name of private link resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_Get": { + "$ref": "./examples/PrivateLinkResources_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/{parentType}/{parentName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "summary": "List private link resources under specific topic or domain.", + "description": "List all the private link resources under a topic or domain.", + "operationId": "PrivateLinkResources_ListByResource", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "parentType", + "in": "path", + "description": "The type of the parent resource. This can be either \\'topics\\' or \\'domains\\'.", + "required": true, + "type": "string" + }, + { + "name": "parentName", + "in": "path", + "description": "The name of the parent resource (namely, either, the topic name or domain name).", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "PrivateLinkResources_ListByResource": { + "$ref": "./examples/PrivateLinkResources_ListByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics/{systemTopicName}": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "Get a system topic.", + "description": "Get properties of a system topic.", + "operationId": "SystemTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Get": { + "$ref": "./examples/SystemTopics_Get.json" + } + } + }, + "put": { + "tags": [ + "SystemTopics" + ], + "summary": "Create a system topic.", + "description": "Asynchronously creates a new system topic with the specified parameters.", + "operationId": "SystemTopics_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicInfo", + "in": "body", + "description": "System Topic information.", + "required": true, + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_CreateOrUpdate": { + "$ref": "./examples/SystemTopics_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "SystemTopics" + ], + "summary": "Delete a system topic.", + "description": "Delete existing system topic.", + "operationId": "SystemTopics_Delete", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 404 Not Found.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Delete": { + "$ref": "./examples/SystemTopics_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "SystemTopics" + ], + "summary": "Update a system topic.", + "description": "Asynchronously updates a system topic with the specified parameters.", + "operationId": "SystemTopics_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicName", + "in": "path", + "description": "Name of the system topic.", + "required": true, + "type": "string" + }, + { + "name": "systemTopicUpdateParameters", + "in": "body", + "description": "SystemTopic update information.", + "required": true, + "schema": { + "$ref": "#/definitions/SystemTopicUpdateParameters" + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "System Topic update request accepted.", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "201": { + "description": "System Topic update request accepted.", + "schema": { + "$ref": "#/definitions/SystemTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_Update": { + "$ref": "./examples/SystemTopics_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.EventGrid/systemTopics": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "List system topics under an Azure subscription.", + "description": "List all the system topics under an Azure subscription.", + "operationId": "SystemTopics_ListBySubscription", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_ListBySubscription": { + "$ref": "./examples/SystemTopics_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/systemTopics": { + "get": { + "tags": [ + "SystemTopics" + ], + "summary": "List system topics under a resource group.", + "description": "List all the system topics under a resource group.", + "operationId": "SystemTopics_ListByResourceGroup", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "description": "The name of the resource group within the user's subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/TopParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SystemTopicsListResult" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } + }, + "x-ms-examples": { + "SystemTopics_ListByResourceGroup": { + "$ref": "./examples/SystemTopics_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{providerNamespace}/{resourceTypeName}/{resourceName}/providers/Microsoft.EventGrid/eventTypes": { + "get": { + "tags": [ + "Topics" + ], + "summary": "List topic event types.", + "description": "List event types for a topic.", + "operationId": "Topics_ListEventTypes", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", "in": "path", "description": "The name of the resource group within the user's subscription.", "required": true, @@ -2164,12 +3438,54 @@ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." } }, + "x-ms-examples": { + "Topics_ListEventTypes": { + "$ref": "./examples/Topics_ListEventTypes.json" + } + }, "x-ms-pageable": { "nextLinkName": null + } + } + }, + "/{scope}/providers/Microsoft.EventGrid/extensionTopics/default": { + "get": { + "tags": [ + "Topics" + ], + "summary": "Get properties of an extension topic.", + "description": "Get the properties of an extension topic.", + "operationId": "ExtensionTopics_Get", + "consumes": [], + "produces": [ + "application/json" + ], + "parameters": [ + { + "name": "scope", + "in": "path", + "description": "The identifier of the resource to which extension topic is queried. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for Azure resource.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ExtensionTopic" + } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error." + } }, "x-ms-examples": { - "Topics_ListEventTypes": { - "$ref": "./examples/Topics_ListEventTypes.json" + "ExtensionTopics_Get": { + "$ref": "./examples/ExtensionTopics_Get.json" } } } @@ -2302,54 +3618,371 @@ }, "definitions": { "DomainProperties": { - "description": "Properties of the Domain.", + "description": "Properties of the Event Grid Domain Resource.", + "type": "object", + "properties": { + "privateEndpointConnections": { + "description": "List of private endpoint connections.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the Event Grid Domain Resource.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DomainProvisioningState", + "modelAsString": true + } + }, + "endpoint": { + "description": "Endpoint for the domain.", + "type": "string", + "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the domain.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "Information about the InputSchemaMapping which specified the info about mapping event payload." + }, + "metricResourceId": { + "description": "Metric resource id for the domain.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.", + "default": false, + "type": "boolean" + }, + "autoCreateTopicWithFirstSubscription": { + "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.", + "default": true, + "type": "boolean" + }, + "autoDeleteTopicWithLastSubscription": { + "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.", + "default": true, + "type": "boolean" + } + } + }, + "IdentityInfo": { + "description": "The identity information for the resource.", + "type": "object", + "properties": { + "type": { + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "principalId": { + "description": "The principal ID of resource identity.", + "type": "string" + }, + "tenantId": { + "description": "The tenant ID of resource.", + "type": "string" + }, + "userAssignedIdentities": { + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\r\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\r\nThis property is currently not used and reserved for future usage.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentityProperties" + } + } + } + }, + "InboundIpRule": { + "type": "object", + "properties": { + "ipMask": { + "description": "IP Address in CIDR notation e.g., 10.0.0.0/8.", + "type": "string" + }, + "action": { + "description": "Action to perform based on the match or no match of the IpMask.", + "enum": [ + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "IpActionType", + "modelAsString": true + } + } + } + }, + "UserIdentityProperties": { + "description": "The information about the user identity.", + "type": "object", + "properties": { + "principalId": { + "description": "The principal id of user assigned identity.", + "type": "string" + }, + "clientId": { + "description": "The client id of user assigned identity.", + "type": "string" + } + } + }, + "Resource": { + "description": "Definition of a Resource.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the resource.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of the private endpoint connection resource.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The Private Endpoint resource for this Connection." + }, + "groupIds": { + "description": "GroupIds from the private link service resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/ConnectionState", + "description": "Details about the state of the connection." + }, + "provisioningState": { + "description": "Provisioning state of the Private Endpoint Connection.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true + } + } + } + }, + "PrivateEndpoint": { + "description": "PrivateEndpoint information.", + "type": "object", + "properties": { + "id": { + "description": "The ARM identifier for Private Endpoint.", + "type": "string" + } + } + }, + "ConnectionState": { + "description": "ConnectionState information.", + "type": "object", + "properties": { + "status": { + "description": "Status of the connection.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PersistedConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Description of the connection state.", + "type": "string" + }, + "actionsRequired": { + "description": "Actions required (if any).", + "type": "string" + } + } + }, + "JsonInputSchemaMappingProperties": { + "description": "This can be used to map properties of a source schema (or default values, for certain supported properties) to properties of the EventGridEvent schema.", + "type": "object", + "properties": { + "id": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Id property of the Event Grid Event." + }, + "topic": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the Topic property of the Event Grid Event." + }, + "eventTime": { + "$ref": "#/definitions/JsonField", + "description": "The mapping information for the EventTime property of the Event Grid Event." + }, + "eventType": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the EventType property of the Event Grid Event." + }, + "subject": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the Subject property of the Event Grid Event." + }, + "dataVersion": { + "$ref": "#/definitions/JsonFieldWithDefault", + "description": "The mapping information for the DataVersion property of the Event Grid Event." + } + } + }, + "JsonField": { + "description": "This is used to express the source of an input schema mapping for a single target field in the Event Grid Event schema. This is currently used in the mappings for the 'id', 'topic' and 'eventtime' properties. This represents a field in the input event schema.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + } + } + }, + "JsonFieldWithDefault": { + "description": "This is used to express the source of an input schema mapping for a single target field\r\nin the Event Grid Event schema. This is currently used in the mappings for the 'subject',\r\n'eventtype' and 'dataversion' properties. This represents a field in the input event schema\r\nalong with a default value to be used, and at least one of these two properties should be provided.", + "type": "object", + "properties": { + "sourceField": { + "description": "Name of a field in the input event schema that's to be used as the source of a mapping.", + "type": "string" + }, + "defaultValue": { + "description": "The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload.", + "type": "string" + } + } + }, + "JsonInputSchemaMapping": { + "description": "This enables publishing to Event Grid using a custom input schema. This can be used to map properties from a custom input JSON schema to the Event Grid event schema.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/InputSchemaMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/JsonInputSchemaMappingProperties", + "description": "JSON Properties of the input schema mapping", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Json" + }, + "InputSchemaMapping": { + "description": "By default, Event Grid expects events to be in the Event Grid event schema. Specifying an input schema mapping enables publishing to Event Grid using a custom input schema. Currently, the only supported type of InputSchemaMapping is 'JsonInputSchemaMapping'.", + "required": [ + "inputSchemaMappingType" + ], "type": "object", "properties": { - "provisioningState": { - "description": "Provisioning state of the domain.", + "inputSchemaMappingType": { + "description": "Type of the custom mapping", "enum": [ - "Creating", - "Updating", - "Deleting", - "Succeeded", - "Canceled", - "Failed" + "Json" ], "type": "string", - "readOnly": true, "x-ms-enum": { - "name": "DomainProvisioningState", + "name": "InputSchemaMappingType", "modelAsString": true } - }, - "endpoint": { - "description": "Endpoint for the domain.", - "type": "string", - "readOnly": true } - } + }, + "discriminator": "inputSchemaMappingType" }, - "Resource": { - "description": "Definition of a Resource.", + "PrivateEndpointConnection": { "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "id": { - "description": "Fully qualified identifier of the resource.", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Name of the resource.", - "type": "string", - "readOnly": true - }, - "type": { - "description": "Type of the resource.", - "type": "string", - "readOnly": true + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Properties of the PrivateEndpointConnection.", + "x-ms-client-flatten": true } - }, - "x-ms-azure-resource": true + } }, "TrackedResource": { "description": "Definition of a Tracked Resource.", @@ -2391,8 +4024,18 @@ "properties": { "properties": { "$ref": "#/definitions/DomainProperties", - "description": "Properties of the domain.", + "description": "Properties of the Event Grid Domain resource.", "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Domain resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the Event Grid Domain resource." } } }, @@ -2406,6 +4049,53 @@ "additionalProperties": { "type": "string" } + }, + "properties": { + "$ref": "#/definitions/DomainUpdateParameterProperties", + "description": "Properties of the resource.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + } + } + }, + "DomainUpdateParameterProperties": { + "description": "Information of domain update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the domain.", + "type": "boolean" + }, + "autoCreateTopicWithFirstSubscription": { + "description": "This Boolean is used to specify the creation mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, creation of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is null or set to true, Event Grid is responsible of automatically creating the domain topic when the first event subscription is\r\ncreated at the scope of the domain topic. If this property is set to false, then creating the first event subscription will require creating a domain topic\r\nby the user. The self-management mode can be used if the user wants full control of when the domain topic is created, while auto-managed mode provides the\r\nflexibility to perform less operations and manage fewer resources by the user. Also, note that in auto-managed creation mode, user is allowed to create the\r\ndomain topic on demand if needed.", + "type": "boolean" + }, + "autoDeleteTopicWithLastSubscription": { + "description": "This Boolean is used to specify the deletion mechanism for 'all' the Event Grid Domain Topics associated with this Event Grid Domain resource.\r\nIn this context, deletion of domain topic can be auto-managed (when true) or self-managed (when false). The default value for this property is true.\r\nWhen this property is set to true, Event Grid is responsible of automatically deleting the domain topic when the last event subscription at the scope\r\nof the domain topic is deleted. If this property is set to false, then the user needs to manually delete the domain topic when it is no longer needed\r\n(e.g., when last event subscription is deleted and the resource needs to be cleaned up). The self-management mode can be used if the user wants full\r\ncontrol of when the domain topic needs to be deleted, while auto-managed mode provides the flexibility to perform less operations and manage fewer\r\nresources by the user.", + "type": "boolean" } } }, @@ -2456,6 +4146,7 @@ "DomainTopicProperties": { "description": "Properties of the Domain Topic.", "type": "object", + "readOnly": true, "properties": { "provisioningState": { "description": "Provisioning state of the domain topic.", @@ -2468,6 +4159,7 @@ "Failed" ], "type": "string", + "readOnly": true, "x-ms-enum": { "name": "DomainTopicProvisioningState", "modelAsString": true @@ -2487,7 +4179,14 @@ "properties": { "$ref": "#/definitions/DomainTopicProperties", "description": "Properties of the Domain Topic.", + "readOnly": true, "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Domain Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" } } }, @@ -2509,7 +4208,7 @@ } }, "EventSubscriptionProperties": { - "description": "Properties of the Event Subscription", + "description": "Properties of the Event Subscription.", "type": "object", "properties": { "topic": { @@ -2539,6 +4238,10 @@ "$ref": "#/definitions/EventSubscriptionDestination", "description": "Information about the destination where events have to be delivered for the event subscription." }, + "deliveryWithResourceIdentity": { + "$ref": "#/definitions/DeliveryWithResourceIdentity", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." + }, "filter": { "$ref": "#/definitions/EventSubscriptionFilter", "description": "Information about the filter for the event subscription." @@ -2555,6 +4258,20 @@ "description": "Expiration time of the event subscription.", "type": "string" }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "default": "EventGridSchema", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, "retryPolicy": { "$ref": "#/definitions/RetryPolicy", "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." @@ -2562,6 +4279,10 @@ "deadLetterDestination": { "$ref": "#/definitions/DeadLetterDestination", "description": "The DeadLetter destination of the event subscription." + }, + "deadLetterWithResourceIdentity": { + "$ref": "#/definitions/DeadLetterWithResourceIdentity", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." } } }, @@ -2570,7 +4291,7 @@ "type": "object", "properties": { "subjectBeginsWith": { - "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events. \r\nWildcard characters are not supported in this path.", + "description": "An optional string to filter events for an event subscription based on a resource path prefix.\r\nThe format of this depends on the publisher of the events.\r\nWildcard characters are not supported in this path.", "type": "string" }, "subjectEndsWith": { @@ -2585,10 +4306,14 @@ } }, "isSubjectCaseSensitive": { - "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter \r\nshould be compared in a case sensitive manner.", + "description": "Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter\r\nshould be compared in a case sensitive manner.", "default": false, "type": "boolean" }, + "enableAdvancedFilteringOnArrays": { + "description": "Allows advanced filters to be evaluated against an array of values instead of expecting a singular value.", + "type": "boolean" + }, "advancedFilters": { "description": "An array of advanced filters that are used for filtering event subscriptions.", "type": "array", @@ -2605,11 +4330,13 @@ "maxDeliveryAttempts": { "format": "int32", "description": "Maximum number of delivery retry attempts for events.", + "default": 30, "type": "integer" }, "eventTimeToLiveInMinutes": { "format": "int32", "description": "Time To Live (in minutes) for events.", + "default": 1440, "type": "integer" } } @@ -2620,15 +4347,128 @@ "properties": { "endpointUrl": { "description": "The URL that represents the endpoint of the destination of an event subscription.", - "type": "string" + "type": "string", + "x-ms-secret": true }, "endpointBaseUrl": { "description": "The base URL that represents the endpoint of the destination of an event subscription.", "type": "string", "readOnly": true + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "default": 1, + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "default": 64, + "type": "integer" + }, + "azureActiveDirectoryTenantId": { + "description": "The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "azureActiveDirectoryApplicationIdOrUri": { + "description": "The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "StaticDeliveryAttributeMappingProperties": { + "description": "Properties of static delivery attribute mapping.", + "type": "object", + "properties": { + "value": { + "description": "Value of the delivery attribute.", + "type": "string" + }, + "isSecret": { + "description": "Boolean flag to tell if the attribute contains sensitive information .", + "type": "boolean", + "default": false + } + } + }, + "StaticDeliveryAttributeMapping": { + "description": "Static delivery attribute mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/StaticDeliveryAttributeMappingProperties", + "description": "Properties of static delivery attribute mapping.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Static" + }, + "DynamicDeliveryAttributeMappingProperties": { + "description": "Properties of dynamic delivery attribute mapping.", + "type": "object", + "properties": { + "sourceField": { + "description": "JSON path in the event which contains attribute value.", + "type": "string" } } }, + "DynamicDeliveryAttributeMapping": { + "description": "Dynamic delivery attribute mapping details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DynamicDeliveryAttributeMappingProperties", + "description": "Properties of dynamic delivery attribute mapping.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "Dynamic" + }, + "DeliveryAttributeMapping": { + "description": "Delivery attribute mapping details.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "name": { + "description": "Name of the delivery attribute or header.", + "type": "string" + }, + "type": { + "description": "Type of the delivery attribute or header name.", + "enum": [ + "Static", + "Dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "DeliveryAttributeMappingType", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, "StorageBlobDeadLetterDestinationProperties": { "description": "Properties of the storage blob based dead letter destination.", "type": "object", @@ -2915,8 +4755,58 @@ }, "discriminator": "operatorType" }, + "DeliveryWithResourceIdentity": { + "description": "Information about the delivery for an event subscription with resource identity.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/EventSubscriptionIdentity", + "description": "The identity to use when delivering events." + }, + "destination": { + "$ref": "#/definitions/EventSubscriptionDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses Azure Event Grid's identity to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "DeadLetterWithResourceIdentity": { + "description": "Information about the deadletter destination with resource identity.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/EventSubscriptionIdentity", + "description": "The identity to use when dead-lettering events." + }, + "deadLetterDestination": { + "$ref": "#/definitions/DeadLetterDestination", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering." + } + } + }, + "EventSubscriptionIdentity": { + "description": "The identity information with the event subscription.", + "type": "object", + "properties": { + "type": { + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "EventSubscriptionIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentity": { + "description": "The user identity associated with the resource.", + "type": "string" + } + } + }, "WebHookEventSubscriptionDestination": { - "description": "Information about the webhook destination for an event subscription", + "description": "Information about the webhook destination for an event subscription.", "type": "object", "allOf": [ { @@ -2926,7 +4816,7 @@ "properties": { "properties": { "$ref": "#/definitions/WebHookEventSubscriptionDestinationProperties", - "description": "WebHook Properties of the event subscription destination", + "description": "WebHook Properties of the event subscription destination.", "x-ms-client-flatten": true } }, @@ -2960,11 +4850,18 @@ "resourceId": { "description": "The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription.", "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } } } }, "EventHubEventSubscriptionDestination": { - "description": "Information about the event hub destination for an event subscription", + "description": "Information about the event hub destination for an event subscription.", "type": "object", "allOf": [ { @@ -2974,7 +4871,7 @@ "properties": { "properties": { "$ref": "#/definitions/EventHubEventSubscriptionDestinationProperties", - "description": "Event Hub Properties of the event subscription destination", + "description": "Event Hub Properties of the event subscription destination.", "x-ms-client-flatten": true } }, @@ -2991,6 +4888,11 @@ "queueName": { "description": "The name of the Storage queue under a storage account that is the destination of an event subscription.", "type": "string" + }, + "queueMessageTimeToLiveInSeconds": { + "format": "int64", + "description": "Storage queue message time to live in seconds.", + "type": "integer" } } }, @@ -3005,7 +4907,7 @@ "properties": { "properties": { "$ref": "#/definitions/StorageQueueEventSubscriptionDestinationProperties", - "description": "Storage Queue Properties of the event subscription destination", + "description": "Storage Queue Properties of the event subscription destination.", "x-ms-client-flatten": true } }, @@ -3018,6 +4920,13 @@ "resourceId": { "description": "The Azure Resource ID of an hybrid connection that is the destination of an event subscription.", "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } } } }, @@ -3031,25 +4940,112 @@ ], "properties": { "properties": { - "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties", - "description": "Hybrid connection Properties of the event subscription destination", + "$ref": "#/definitions/HybridConnectionEventSubscriptionDestinationProperties", + "description": "Hybrid connection Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "HybridConnection" + }, + "ServiceBusQueueEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "ServiceBusQueueEventSubscriptionDestination": { + "description": "Information about the service bus destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties", + "description": "Service Bus Properties of the event subscription destination.", + "x-ms-client-flatten": true + } + }, + "x-ms-discriminator-value": "ServiceBusQueue" + }, + "ServiceBusTopicEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Service Bus Topic destination of an event subscription.", + "type": "object", + "properties": { + "resourceId": { + "description": "The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription.", + "type": "string" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, + "ServiceBusTopicEventSubscriptionDestination": { + "description": "Information about the service bus topic destination for an event subscription.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventSubscriptionDestination" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ServiceBusTopicEventSubscriptionDestinationProperties", + "description": "Service Bus Topic Properties of the event subscription destination.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "HybridConnection" + "x-ms-discriminator-value": "ServiceBusTopic" }, - "ServiceBusQueueEventSubscriptionDestinationProperties": { - "description": "The properties that represent the Service Bus destination of an event subscription.", + "AzureFunctionEventSubscriptionDestinationProperties": { + "description": "The properties that represent the Azure Function destination of an event subscription.", "type": "object", "properties": { "resourceId": { - "description": "The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription.", + "description": "The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription.", "type": "string" + }, + "maxEventsPerBatch": { + "format": "int32", + "description": "Maximum number of events per batch.", + "default": 1, + "type": "integer" + }, + "preferredBatchSizeInKilobytes": { + "format": "int32", + "description": "Preferred batch size in Kilobytes.", + "default": 64, + "type": "integer" + }, + "deliveryAttributeMappings": { + "description": "Delivery attribute details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } } } }, - "ServiceBusQueueEventSubscriptionDestination": { - "description": "Information about the service bus destination for an event subscription", + "AzureFunctionEventSubscriptionDestination": { + "description": "Information about the azure function destination for an event subscription.", "type": "object", "allOf": [ { @@ -3058,28 +5054,30 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ServiceBusQueueEventSubscriptionDestinationProperties", - "description": "Service Bus Properties of the event subscription destination", + "$ref": "#/definitions/AzureFunctionEventSubscriptionDestinationProperties", + "description": "Azure Function Properties of the event subscription destination.", "x-ms-client-flatten": true } }, - "x-ms-discriminator-value": "ServiceBusQueue" + "x-ms-discriminator-value": "AzureFunction" }, "EventSubscriptionDestination": { - "description": "Information about the destination for an event subscription", - "type": "object", + "description": "Information about the destination for an event subscription.", "required": [ "endpointType" ], + "type": "object", "properties": { "endpointType": { - "description": "Type of the endpoint for the event subscription destination", + "description": "Type of the endpoint for the event subscription destination.", "enum": [ "WebHook", "EventHub", "StorageQueue", "HybridConnection", - "ServiceBusQueue" + "ServiceBusQueue", + "ServiceBusTopic", + "AzureFunction" ], "type": "string", "x-ms-enum": { @@ -3101,19 +5099,29 @@ "properties": { "properties": { "$ref": "#/definitions/EventSubscriptionProperties", - "description": "Properties of the event subscription", + "description": "Properties of the event subscription.", "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to Event Subscription resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" } } }, "EventSubscriptionUpdateParameters": { - "description": "Properties of the Event Subscription update", + "description": "Properties of the Event Subscription update.", "type": "object", "properties": { "destination": { "$ref": "#/definitions/EventSubscriptionDestination", "description": "Information about the destination where events have to be delivered for the event subscription." }, + "deliveryWithResourceIdentity": { + "$ref": "#/definitions/DeliveryWithResourceIdentity", + "description": "Information about the destination where events have to be delivered for the event subscription.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering." + }, "filter": { "$ref": "#/definitions/EventSubscriptionFilter", "description": "Information about the filter for the event subscription." @@ -3130,6 +5138,19 @@ "description": "Information about the expiration time for the event subscription.", "type": "string" }, + "eventDeliverySchema": { + "description": "The event delivery schema for the event subscription.", + "enum": [ + "EventGridSchema", + "CustomInputSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "EventDeliverySchema", + "modelAsString": true + } + }, "retryPolicy": { "$ref": "#/definitions/RetryPolicy", "description": "The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events." @@ -3137,6 +5158,10 @@ "deadLetterDestination": { "$ref": "#/definitions/DeadLetterDestination", "description": "The DeadLetter destination of the event subscription." + }, + "deadLetterWithResourceIdentity": { + "$ref": "#/definitions/DeadLetterWithResourceIdentity", + "description": "The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.\r\nUses the managed identity setup on the parent resource (topic / domain) to acquire the authentication tokens being used during delivery / dead-lettering." } } }, @@ -3167,6 +5192,19 @@ } } }, + "DeliveryAttributeListResult": { + "description": "Result of the Get delivery attributes operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of DeliveryAttributeMapping", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryAttributeMapping" + } + } + } + }, "OperationsListResult": { "description": "Result of the List Operations operation", "type": "object", @@ -3225,10 +5263,193 @@ } } }, + "PrivateEndpointConnectionListResult": { + "description": "Result of the list of all private endpoint connections operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of private endpoint connection resources.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "nextLink": { + "description": "A link for the next page of private endpoint connection resources.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Properties of the private link resource.", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string" + }, + "name": { + "description": "Name of the resource.", + "type": "string" + }, + "type": { + "description": "Type of the resource.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string" + }, + "displayName": { + "type": "string" + }, + "requiredMembers": { + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PrivateLinkResourcesListResult": { + "description": "Result of the List private link resources operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "A link for the next page of private link resources.", + "type": "string" + } + } + }, + "SystemTopicProperties": { + "description": "Properties of the System Topic.", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the system topic.", + "enum": [ + "Creating", + "Updating", + "Deleting", + "Succeeded", + "Canceled", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true + } + }, + "source": { + "description": "Source for the system topic.", + "type": "string" + }, + "topicType": { + "description": "TopicType for the system topic.", + "type": "string" + }, + "metricResourceId": { + "description": "Metric resource id for the system topic.", + "type": "string", + "readOnly": true + } + } + }, + "SystemTopic": { + "description": "EventGrid System Topic.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SystemTopicProperties", + "description": "Properties of the system topic.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + }, + "systemData": { + "description": "The system metadata relating to System Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, + "SystemTopicUpdateParameters": { + "description": "Properties of the System Topic update.", + "type": "object", + "properties": { + "tags": { + "description": "Tags of the system topic.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Resource identity information." + } + } + }, + "SystemTopicsListResult": { + "description": "Result of the List System topics operation.", + "type": "object", + "properties": { + "value": { + "description": "A collection of system Topics.", + "type": "array", + "items": { + "$ref": "#/definitions/SystemTopic" + } + }, + "nextLink": { + "description": "A link for the next page of topics.", + "type": "string" + } + } + }, "TopicProperties": { "description": "Properties of the Topic", "type": "object", "properties": { + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, "provisioningState": { "description": "Provisioning state of the topic.", "enum": [ @@ -3250,6 +5471,54 @@ "description": "Endpoint for the topic.", "type": "string", "readOnly": true + }, + "inputSchema": { + "description": "This determines the format that Event Grid should expect for incoming events published to the topic.", + "enum": [ + "EventGridSchema", + "CustomEventSchema", + "CloudEventSchemaV1_0" + ], + "type": "string", + "x-ms-enum": { + "name": "InputSchema", + "modelAsString": true + }, + "default": "EventGridSchema" + }, + "inputSchemaMapping": { + "$ref": "#/definitions/InputSchemaMapping", + "description": "This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema." + }, + "metricResourceId": { + "description": "Metric resource id for the topic.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.", + "default": false, + "type": "boolean" } } }, @@ -3264,8 +5533,18 @@ "properties": { "properties": { "$ref": "#/definitions/TopicProperties", - "description": "Properties of the topic", + "description": "Properties of the topic.", "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Identity information for the resource." + }, + "systemData": { + "description": "The system metadata relating to Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" } } }, @@ -3274,11 +5553,50 @@ "type": "object", "properties": { "tags": { - "description": "Tags of the resource", + "description": "Tags of the resource.", "type": "object", "additionalProperties": { "type": "string" } + }, + "identity": { + "$ref": "#/definitions/IdentityInfo", + "description": "Topic resource identity information." + }, + "properties": { + "$ref": "#/definitions/TopicUpdateParameterProperties", + "description": "Properties of the resource.", + "x-ms-client-flatten": true + } + } + }, + "TopicUpdateParameterProperties": { + "description": "Information of topic update parameter properties.", + "type": "object", + "properties": { + "publicNetworkAccess": { + "description": "This determines if traffic is allowed over public network. By default it is enabled. \r\nYou can further restrict to specific IPs by configuring ", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "inboundIpRules": { + "description": "This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled.", + "type": "array", + "items": { + "$ref": "#/definitions/InboundIpRule" + } + }, + "disableLocalAuth": { + "description": "This boolean is used to enable or disable local auth. Default value is false. When the property is set to true, only AAD token will be used to authenticate if user is allowed to publish to the topic.", + "type": "boolean" } } }, @@ -3326,6 +5644,42 @@ } } }, + "ExtensionTopicProperties": { + "description": "Properties of the Extension Topic", + "type": "object", + "properties": { + "description": { + "description": "Description of the extension topic.", + "type": "string" + }, + "systemTopic": { + "description": "System topic resource id which is mapped to the source.", + "type": "string" + } + } + }, + "ExtensionTopic": { + "description": "Event grid Extension Topic. This is used for getting Event Grid related metrics for Azure resources.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ExtensionTopicProperties", + "description": "Properties of the extension topic", + "x-ms-client-flatten": true + }, + "systemData": { + "description": "The system metadata relating to the Extension Topic resource.", + "type": "object", + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + } + }, "EventTypesListResult": { "description": "Result of the List Event Types operation", "type": "object", @@ -3440,6 +5794,22 @@ "items": { "type": "string" } + }, + "sourceResourceFormat": { + "description": "Source resource format.", + "type": "string" + }, + "supportedScopesForSource": { + "description": "Supported source scopes.", + "type": "array", + "items": { + "enum": [ + "Resource", + "ResourceGroup", + "AzureSubscription" + ], + "type": "string" + } } } }, @@ -3489,6 +5859,7 @@ "description": "The number of results to return per page for the list operation. Valid range for top parameter is 1 to 100. If not specified, the default number of results to be returned is 20 items per page.", "required": false, "type": "integer", + "format": "int32", "x-ms-parameter-location": "method" } }, diff --git a/App_Data/SwaggerSpecs/Microsoft.Features/features.json b/App_Data/SwaggerSpecs/Microsoft.Features/features.json index 5e5b8f0a..64550d6d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Features/features.json +++ b/App_Data/SwaggerSpecs/Microsoft.Features/features.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "FeatureClient", - "version": "2015-12-01", + "version": "2021-07-01", "description": "Azure Feature Exposure Control (AFEC) provides a mechanism for the resource providers to control feature exposure to users. Resource providers typically use this mechanism to provide public/private preview for new features prior to making them generally available. Users need to explicitly register for AFEC features to get access to such functionality." }, "host": "management.azure.com", @@ -29,13 +29,49 @@ "type": "oauth2", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", + "description": "Azure Active Directory OAuth2 Flow.", "scopes": { "user_impersonation": "impersonate your user account" } } }, "paths": { + "/providers/Microsoft.Features/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "ListOperations", + "description": "Lists all of the available Microsoft.Features REST API operations.", + "x-ms-examples": { + "List Features operations": { + "$ref": "./examples/listFeaturesOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Features/features": { "get": { "tags": [ @@ -43,6 +79,11 @@ ], "operationId": "Features_ListAll", "description": "Gets all the preview features that are available through AFEC for the subscription.", + "x-ms-examples": { + "List subscription Features": { + "$ref": "./examples/listSubscriptionFeatures.json" + } + }, "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -57,6 +98,12 @@ "schema": { "$ref": "#/definitions/FeatureOperationsListResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -71,6 +118,11 @@ ], "operationId": "Features_List", "description": "Gets all the preview features in a provider namespace that are available through AFEC for the subscription.", + "x-ms-examples": { + "List provider Features": { + "$ref": "./examples/listProviderFeatures.json" + } + }, "parameters": [ { "name": "resourceProviderNamespace", @@ -92,6 +144,12 @@ "schema": { "$ref": "#/definitions/FeatureOperationsListResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -106,6 +164,11 @@ ], "operationId": "Features_Get", "description": "Gets the preview feature with the specified name.", + "x-ms-examples": { + "Get feature": { + "$ref": "./examples/getFeature.json" + } + }, "parameters": [ { "name": "resourceProviderNamespace", @@ -134,6 +197,12 @@ "schema": { "$ref": "#/definitions/FeatureResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -145,6 +214,11 @@ ], "operationId": "Features_Register", "description": "Registers the preview feature for the subscription.", + "x-ms-examples": { + "Register feature": { + "$ref": "./examples/registerFeature.json" + } + }, "parameters": [ { "name": "resourceProviderNamespace", @@ -169,10 +243,66 @@ ], "responses": { "200": { - "description": "OK - Returns metadata about the registerd feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "description": "OK - Returns metadata about the registered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", "schema": { "$ref": "#/definitions/FeatureResult" } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Features/providers/{resourceProviderNamespace}/features/{featureName}/unregister": { + "post": { + "tags": [ + "Features" + ], + "operationId": "Features_Unregister", + "description": "Unregisters the preview feature for the subscription.", + "x-ms-examples": { + "Register feature": { + "$ref": "./examples/unregisterFeature.json" + } + }, + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "name": "featureName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the feature to unregister." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns metadata about the unregistered feature. The metadata includes the name of the feature, the registration state, the resource ID, and resource type.", + "schema": { + "$ref": "#/definitions/FeatureResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -180,6 +310,7 @@ }, "definitions": { "FeatureProperties": { + "type": "object", "properties": { "state": { "type": "string", @@ -189,6 +320,7 @@ "description": "Information about feature." }, "FeatureResult": { + "type": "object", "properties": { "name": { "type": "string", @@ -210,6 +342,7 @@ "description": "Previewed feature information." }, "FeatureOperationsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -224,6 +357,84 @@ } }, "description": "List of previewed features." + }, + "Operation": { + "description": "Microsoft.Features operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "type": "object", + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Features", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "type": "object", + "description": "Result of the request to list Microsoft.Features operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Features operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "ErrorResponse": { + "type": "object", + "description": "Error response indicates that the service is not able to process the incoming request.", + "properties": { + "error": { + "$ref": "#/definitions/ErrorDefinition", + "description": "The error details." + } + } + }, + "ErrorDefinition": { + "description": "Error definition.", + "type": "object", + "properties": { + "code": { + "description": "Service specific error code which serves as the substatus for the HTTP error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "Description of the error.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Internal error details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDefinition" + } + } + } } }, "parameters": { @@ -232,7 +443,7 @@ "in": "path", "required": true, "type": "string", - "description": "The ID of the target subscription." + "description": "The Azure subscription ID." }, "ApiVersionParameter": { "name": "api-version", @@ -242,4 +453,4 @@ "description": "The API version to use for this operation." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.GuestConfiguration/guestconfiguration.json b/App_Data/SwaggerSpecs/Microsoft.GuestConfiguration/guestconfiguration.json index 0a4a579b..825d621f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.GuestConfiguration/guestconfiguration.json +++ b/App_Data/SwaggerSpecs/Microsoft.GuestConfiguration/guestconfiguration.json @@ -1,1285 +1,1744 @@ { - "swagger": "2.0", - "info": { - "version": "2020-06-25", - "title": "GuestConfiguration" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } + "swagger": "2.0", + "info": { + "version": "2021-01-25", + "title": "GuestConfiguration" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { - "put": { - "tags": [ - "GuestConfigurationAssignments" - ], - "operationId": "GuestConfigurationAssignments_CreateOrUpdate", - "description": "Creates an association between a VM and guest configuration", - "x-ms-examples": { - "Create or update guest configuration assignment": { - "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json" - } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { + "put": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_CreateOrUpdate", + "description": "Creates an association between a VM and guest configuration", + "x-ms-examples": { + "Create or update guest configuration assignment": { + "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment." }, - "parameters": [ - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the guest configuration assignment." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - }, - "description": "Parameters supplied to the create or update guest configuration assignment." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Created. The guest configuration assignment for the VM was created successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } - }, - "200": { - "description": "OK. The guest configuration assignment for the VM was updated successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + "description": "Parameters supplied to the create or update guest configuration assignment." }, - "x-ms-long-running-operation": true, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - }, - "get": { - "tags": [ - "GuestConfigurationAssignments" - ], - "operationId": "GuestConfigurationAssignments_Get", - "description": "Get information about a guest configuration assignment", - "x-ms-examples": { - "Get a guest configuration assignment": { - "$ref": "./examples/getGuestConfigurationAssignment.json" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The guest configuration assignment was returned successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - }, - "delete": { - "tags": [ - "GuestConfigurationAssignments" - ], - "operationId": "GuestConfigurationAssignments_Delete", - "description": "Delete a guest configuration assignment", - "x-ms-examples": { - "Delete an guest configuration assignment": { - "$ref": "./examples/deleteGuestConfigurationAssignment.json" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the guest configuration assignment" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The guest configuration assignment for the VM was created successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" } }, - "x-ms-long-running-operation": true, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { - "get": { - "tags": [ - "GuestConfigurationAssignments" - ], - "operationId": "GuestConfigurationAssignments_List", - "description": "List all guest configuration assignments for a virtual machine.", - "x-ms-examples": { - "List all guest configuration assignments for a virtual machine": { - "$ref": "./examples/listGuestConfigurationAssignments.json" + "200": { + "description": "OK. The guest configuration assignment for the VM was updated successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" } }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_Get", + "description": "Get information about a guest configuration assignment", + "x-ms-examples": { + "Get a guest configuration assignment": { + "$ref": "./examples/getGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "x-ms-pageable": { - "nextLinkName": null + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "The guest configuration assignment name." }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { - "get": { - "tags": [ - "GuestConfigurationAssignmentReports" - ], - "operationId": "GuestConfigurationAssignmentReports_List", - "description": "List all reports for the guest configuration assignment, latest report first.", - "x-ms-examples": { - "List all guest configuration assignments for a virtual machine": { - "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentReportList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { - "get": { - "tags": [ - "GuestConfigurationAssignmentReports" - ], - "operationId": "GuestConfigurationAssignmentReports_Get", - "description": "Get a report for the guest configuration assignment, by reportId.", - "x-ms-examples": { - "Get a guest configuration assignment report by Id for a virtual machine": { - "$ref": "./examples/getGuestConfigurationAssignmentReportById.json" + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The guest configuration assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" } }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "name": "reportId", - "in": "path", - "required": true, - "type": "string", - "description": "The GUID for the guest configuration assignment report." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/VmNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentReport" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } - }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { - "put": { - "tags": [ - "GuestConfigurationHCRPAssignments" - ], - "operationId": "GuestConfigurationHCRPAssignments_CreateOrUpdate", - "description": "Creates an association between a ARC machine and guest configuration", - "x-ms-examples": { - "Create or update guest configuration assignment": { - "$ref": "./examples/createOrUpdateGuestConfigurationHCRPAssignment.json" - } + "delete": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_Delete", + "description": "Delete a guest configuration assignment", + "x-ms-examples": { + "Delete an guest configuration assignment": { + "$ref": "./examples/deleteGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "parameters": [ - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the guest configuration assignment." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - }, - "description": "Parameters supplied to the create or update guest configuration assignment." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Created. The guest configuration assignment for the ARC machine was created successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } - }, - "200": { - "description": "OK. The guest configuration assignment for the ARC machine was updated successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the guest configuration assignment" }, - "x-ms-long-running-operation": true, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - }, - "get": { - "tags": [ - "GuestConfigurationHCRPAssignments" - ], - "operationId": "GuestConfigurationHCRPAssignments_Get", - "description": "Get information about a guest configuration assignment", - "x-ms-examples": { - "Get a guest configuration assignment": { - "$ref": "./examples/getGuestConfigurationHCRPAssignment.json" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. The guest configuration assignment was returned successfully.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignment" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - }, - "delete": { - "tags": [ - "GuestConfigurationHCRPAssignments" - ], - "operationId": "GuestConfigurationHCRPAssignments_Delete", - "description": "Delete a guest configuration assignment", - "x-ms-examples": { - "Delete an guest configuration assignment": { - "$ref": "./examples/deleteGuestConfigurationHCRPAssignment.json" + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_SubscriptionList", + "description": "List all guest configuration assignments for a subscription.", + "x-ms-examples": { + "List all guest configuration assignments for a subscription": { + "$ref": "./examples/listSubGuestConfigurationAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "Name of the guest configuration assignment" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK" - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" } }, - "x-ms-long-running-operation": true, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { - "get": { - "tags": [ - "GuestConfigurationHCRPAssignments" - ], - "operationId": "GuestConfigurationHCRPAssignments_List", - "description": "List all guest configuration assignments for an ARC machine.", - "x-ms-examples": { - "List all guest configuration assignments for a virtual machine": { - "$ref": "./examples/listGuestConfigurationHCRPAssignments.json" - } + "204": { + "description": "No Content" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_RGList", + "description": "List all guest configuration assignments for a resource group.", + "x-ms-examples": { + "List all guest configuration assignments for a resource group": { + "$ref": "./examples/listRGGuestConfigurationAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "x-ms-pageable": { - "nextLinkName": null + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { - "get": { - "tags": [ - "GuestConfigurationAssignmentHCRPReports" - ], - "operationId": "GuestConfigurationHCRPAssignmentReports_List", - "description": "List all reports for the guest configuration assignment, latest report first.", - "x-ms-examples": { - "List all guest configuration assignments for a virtual machine": { - "$ref": "./examples/listAllGuestConfigurationHCRPAssignmentReports.json" + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" } }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no reports returned.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentReportList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + "204": { + "description": "No Content" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { - "get": { - "tags": [ - "GuestConfigurationAssignmentHCRPReports" - ], - "operationId": "GuestConfigurationHCRPAssignmentReports_Get", - "description": "Get a report for the guest configuration assignment, by reportId.", - "x-ms-examples": { - "Get a guest configuration assignment report by Id for a virtual machine": { - "$ref": "./examples/getGuestConfigurationHCRPAssignmentReportById.json" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignments_List", + "description": "List all guest configuration assignments for a virtual machine.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listGuestConfigurationAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" - }, - { - "name": "guestConfigurationAssignmentName", - "in": "path", - "required": true, - "type": "string", - "description": "The guest configuration assignment name." - }, - { - "name": "reportId", - "in": "path", - "required": true, - "type": "string", - "description": "The GUID for the guest configuration assignment report." - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "./definitions.json#/parameters/MachineNameParameter" - }, - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no report was returned.", - "schema": { - "$ref": "#/definitions/GuestConfigurationAssignmentReport" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } - } + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - }, - "/providers/Microsoft.GuestConfiguration/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Lists all of the available GuestConfiguration REST API operations.", - "x-ms-examples": { - "Lists all of the available GuestConfiguration REST API operations": { - "$ref": "./examples/listOperations.json" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" }, - "operationId": "Operations_List", - "parameters": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./definitions.json#/definitions/OperationList" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" - } + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" } }, - "x-ms-pageable": { - "nextLinkName": null - }, - "produces": [ - "application/json" - ], - "consumes": [ - "application/json" - ] - } - } - }, - "definitions": { - "GuestConfigurationAssignmentList": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/GuestConfigurationAssignment" - }, - "description": "Result of the list guest configuration assignment operation." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "The response of the list guest configuration assignment operation." - }, - "GuestConfigurationAssignment": { - "properties": { - "properties": { - "x-ms-client-flatten": false, - "$ref": "#/definitions/GuestConfigurationAssignmentProperties", - "description": "Properties of the Guest configuration assignment." + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReports_List", + "description": "List all reports for the guest configuration assignment, latest report first.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json" } }, - "allOf": [ + "parameters": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" - } - ], - "description": "Guest configuration assignment is an association between a machine and guest configuration." - }, - "GuestConfigurationNavigation": { - "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.", - "properties": { - "kind": { - "type": "string", - "description": "Kind of the guest configuration. For example:DSC", - "x-ms-enum": { - "name": "kind", - "modelAsString": true - }, - "enum": [ - "DSC" - ] - }, - "name": { - "type": "string", - "description": "Name of the guest configuration." - }, - "version": { - "type": "string", - "description": "Version of the guest configuration." + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "contentUri": { - "readOnly": true, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "description": "Uri of the storage where guest configuration package is uploaded." + "description": "The guest configuration assignment name." }, - "contentHash": { - "readOnly": true, - "type": "string", - "description": "Combined hash of the guest configuration package and configuration parameters." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "configurationParameter": { - "type": "array", - "items": { - "$ref": "#/definitions/ConfigurationParameter" - }, - "description": "The configuration parameters for the guest configuration." + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" }, - "configurationSetting": { - "$ref": "#/definitions/ConfigurationSetting", - "description": "The configuration setting for the guest configuration." + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } - } - }, - "ConfigurationParameter": { - "properties": { - "name": { - "type": "string", - "readOnly": false, - "description": "Name of the configuration parameter." + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportList" + } }, - "value": { - "type": "string", - "readOnly": false, - "description": "Value of the configuration parameter." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Represents a configuration parameter." - }, - "ConfigurationSetting": { - "properties": { - "configurationMode": { - "type": "string", - "readOnly": false, - "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.", - "x-ms-enum": { - "name": "configurationMode", - "modelAsString": true - }, - "enum": [ - "ApplyOnly", - "ApplyAndMonitor", - "ApplyAndAutoCorrect" - ] + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReports_Get", + "description": "Get a report for the guest configuration assignment, by reportId.", + "x-ms-examples": { + "Get a guest configuration assignment report by Id for a virtual machine": { + "$ref": "./examples/getGuestConfigurationAssignmentReportById.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "allowModuleOverwrite": { + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false", - "x-ms-enum": { - "name": "allowModuleOverwrite", - "modelAsString": true - }, - "enum": [ - "True", - "False" - ] + "description": "The guest configuration assignment name." }, - "actionAfterReboot": { + { + "name": "reportId", + "in": "path", + "required": true, "type": "string", - "readOnly": false, - "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration", - "x-ms-enum": { - "name": "actionAfterReboot", - "modelAsString": true - }, - "enum": [ - "ContinueConfiguration", - "StopConfiguration" - ] - }, - "refreshFrequencyMins": { - "type": "number", - "readOnly": false, - "default": 30, - "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30." - }, - "rebootIfNeeded": { + "description": "The GUID for the guest configuration assignment report." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": { + "put": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_CreateOrUpdate", + "description": "Creates an association between a ARC machine and guest configuration", + "x-ms-examples": { + "Create or update guest configuration assignment": { + "$ref": "./examples/createOrUpdateGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "readOnly": false, - "default": "False", - "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.", - "x-ms-enum": { - "name": "rebootIfNeeded", - "modelAsString": true + "description": "Name of the guest configuration assignment." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" }, - "enum": [ - "True", - "False" - ] - }, - "configurationModeFrequencyMins": { - "type": "number", - "readOnly": false, - "default": 15, - "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15." + "description": "Parameters supplied to the create or update guest configuration assignment." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "201": { + "description": "Created. The guest configuration assignment for the ARC machine was created successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "200": { + "description": "OK. The guest configuration assignment for the ARC machine was updated successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Configuration setting of LCM (Local Configuration Manager)." + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] }, - "AssignmentReport": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "ARM resource id of the report for the guest configuration assignment." + "get": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_Get", + "description": "Get information about a guest configuration assignment", + "x-ms-examples": { + "Get a guest configuration assignment": { + "$ref": "./examples/getGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "reportId": { + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + "description": "The guest configuration assignment name." }, - "assignment": { - "$ref": "#/definitions/AssignmentInfo", - "description": "Configuration details of the guest configuration assignment." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "vm": { - "$ref": "#/definitions/VMInfo", - "description": "Information about the VM." + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" }, - "startTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Start date and time of the guest configuration assignment compliance status check." + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The guest configuration assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } }, - "endTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "End date and time of the guest configuration assignment compliance status check." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_Delete", + "description": "Delete a guest configuration assignment", + "x-ms-examples": { + "Delete an guest configuration assignment": { + "$ref": "./examples/deleteGuestConfigurationHCRPAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "complianceStatus": { + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "A value indicating compliance status of the machine for the assigned guest configuration.", - "x-ms-enum": { - "name": "complianceStatus", - "modelAsString": true - }, - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ] + "description": "Name of the guest configuration assignment" }, - "operationType": { - "type": "string", - "readOnly": true, - "description": "Type of report, Consistency or Initial", - "x-ms-enum": { - "name": "type", - "modelAsString": true - }, - "enum": [ - "Consistency", - "Initial" - ] - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/definitions/AssignmentReportResource" - }, - "description": "The list of resources for which guest configuration assignment compliance is checked." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } - } - }, - "GuestConfigurationAssignmentProperties": { - "properties": { - "targetResourceId": { - "type": "string", - "readOnly": true, - "description": "VM resource Id.", - "x-nullable": true + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationHCRPAssignments" + ], + "operationId": "GuestConfigurationHCRPAssignments_List", + "description": "List all guest configuration assignments for an ARC machine.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listGuestConfigurationHCRPAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "guestConfiguration": { - "$ref": "#/definitions/GuestConfigurationNavigation", - "description": "The guest configuration to assign." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "complianceStatus": { - "type": "string", - "readOnly": true, - "description": "A value indicating compliance status of the machine for the assigned guest configuration.", - "x-ms-enum": { - "name": "complianceStatus", - "modelAsString": true - }, - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ] + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" }, - "lastComplianceStatusChecked": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Date and time when last compliance status was checked.", - "x-nullable": true + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": { + "get": { + "tags": [ + "GuestConfigurationAssignmentHCRPReports" + ], + "operationId": "GuestConfigurationHCRPAssignmentReports_List", + "description": "List all reports for the guest configuration assignment, latest report first.", + "x-ms-examples": { + "List all guest configuration assignments for a virtual machine": { + "$ref": "./examples/listAllGuestConfigurationHCRPAssignmentReports.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "latestReportId": { + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "Id of the latest report for the guest configuration assignment. ", - "x-nullable": true + "description": "The guest configuration assignment name." }, - "latestAssignmentReport": { - "$ref": "#/definitions/AssignmentReport", - "description": "Last reported guest configuration assignment report." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "context": { - "type": "string", - "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy" + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" }, - "assignmentHash": { - "type": "string", - "readOnly": true, - "description": "Combined hash of the configuration package and parameters.", - "x-nullable": true + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no reports returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportList" + } }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The provisioning state, which only appears in the response.", - "x-nullable": true, - "x-ms-enum": { - "name": "provisioningState", - "modelAsString": true - }, - "enum": [ - "Succeeded", - "Failed", - "Canceled", - "Created" - ] + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Guest configuration assignment properties." - }, - "GuestConfigurationAssignmentReportList": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/GuestConfigurationAssignmentReport" - }, - "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more." + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": { + "get": { + "tags": [ + "GuestConfigurationAssignmentHCRPReports" + ], + "operationId": "GuestConfigurationHCRPAssignmentReports_Get", + "description": "Get a report for the guest configuration assignment, by reportId.", + "x-ms-examples": { + "Get a guest configuration assignment report by Id for a virtual machine": { + "$ref": "./examples/getGuestConfigurationHCRPAssignmentReportById.json" } }, - "description": "List of guest configuration assignment reports." - }, - "GuestConfigurationAssignmentReport": { - "properties": { - "id": { + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "guestConfigurationAssignmentName", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "ARM resource id of the report for the guest configuration assignment." + "description": "The guest configuration assignment name." }, - "name": { + { + "name": "reportId", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + "description": "The GUID for the guest configuration assignment report." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no report was returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + } }, - "properties": { - "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties", - "description": "Properties of the guest configuration report." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." - }, - "GuestConfigurationAssignmentReportProperties": { - "properties": { - "complianceStatus": { - "type": "string", - "readOnly": true, - "description": "A value indicating compliance status of the machine for the assigned guest configuration.", - "x-ms-enum": { - "name": "complianceStatus", - "modelAsString": true - }, - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ] + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignmentsVMSS_Get", + "description": "Get information about a guest configuration assignment for VMSS", + "x-ms-examples": { + "Get a VMSS guest configuration assignment": { + "$ref": "./examples/getVMSSGuestConfigurationAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "reportId": { + { + "name": "name", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + "description": "The guest configuration assignment name." }, - "assignment": { - "$ref": "#/definitions/AssignmentInfo", - "description": "Configuration details of the guest configuration assignment." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "vm": { - "$ref": "#/definitions/VMInfo", - "description": "Information about the VM." + { + "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter" }, - "startTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Start date and time of the guest configuration assignment compliance status check." + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The guest configuration assignment was returned successfully.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } }, - "endTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "End date and time of the guest configuration assignment compliance status check." - }, - "details": { - "$ref": "#/definitions/AssignmentReportDetails", - "description": "Details of the assignment report.", - "x-nullable": true + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] }, - "AssignmentInfo": { - "properties": { - "name": { + "delete": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignmentsVMSS_Delete", + "description": "Delete a guest configuration assignment for VMSS", + "x-ms-examples": { + "Delete an guest configuration assignment for VMSS": { + "$ref": "./examples/deleteGuestConfigurationVMSSAssignment.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "Name of the guest configuration assignment." + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignment" + } }, - "configuration": { - "$ref": "#/definitions/ConfigurationInfo", - "description": "Information about the configuration." + "204": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Information about the guest configuration assignment." - }, - "VMInfo": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id of the VM." + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": { + "get": { + "tags": [ + "GuestConfigurationAssignments" + ], + "operationId": "GuestConfigurationAssignmentsVMSS_List", + "description": "List all guest configuration assignments for VMSS.", + "x-ms-examples": { + "List all guest configuration assignments for VMSS": { + "$ref": "./examples/listVMSSGuestConfigurationAssignments.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "uuid": { - "type": "string", - "readOnly": true, - "description": "UUID(Universally Unique Identifier) of the VM." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Information about the VM." - }, - "ConfigurationInfo": { - "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Name of the configuration." + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}/reports": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReportsVMSS_List", + "description": "List all reports for the VMSS guest configuration assignment, latest report first.", + "x-ms-examples": { + "List all guest configuration assignments for VMSS": { + "$ref": "./examples/listAllVMSSGuestConfigurationAssignmentReports.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "version": { + { + "name": "name", + "in": "path", + "required": true, "type": "string", - "readOnly": true, - "description": "Version of the configuration." + "description": "The guest configuration assignment name." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Information about the configuration." - }, - "AssignmentReportDetails": { - "properties": { - "complianceStatus": { - "type": "string", - "readOnly": true, - "description": "A value indicating compliance status of the machine for the assigned guest configuration.", - "x-ms-enum": { - "name": "complianceStatus", - "modelAsString": true - }, - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ] + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{name}/reports/{id}": { + "get": { + "tags": [ + "GuestConfigurationAssignmentReports" + ], + "operationId": "GuestConfigurationAssignmentReportsVMSS_Get", + "description": "Get a report for the VMSS guest configuration assignment, by reportId.", + "x-ms-examples": { + "Get a guest configuration assignment report by Id for a virtual machine scale set": { + "$ref": "./examples/getVMSSGuestConfigurationAssignmentReportById.json" + } + }, + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, - "startTime": { + { + "name": "name", + "in": "path", + "required": true, "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Start date and time of the guest configuration assignment compliance status check." + "description": "The guest configuration assignment name." }, - "endTime": { + { + "name": "id", + "in": "path", + "required": true, "type": "string", - "format": "date-time", - "readOnly": true, - "description": "End date and time of the guest configuration assignment compliance status check." + "description": "The GUID for the guest configuration assignment report." }, - "jobId": { - "type": "string", - "readOnly": true, - "description": "GUID of the report." + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, - "operationType": { - "type": "string", - "readOnly": true, - "description": "Type of report, Consistency or Initial", - "x-ms-enum": { - "name": "type", - "modelAsString": true - }, - "enum": [ - "Consistency", - "Initial" - ] - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/definitions/AssignmentReportResource" - }, - "description": "The list of resources for which guest configuration assignment compliance is checked." + { + "$ref": "../../common/v1/definitions.json#/parameters/VMSSNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.", + "schema": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "Details of the guest configuration assignment report." - }, - "AssignmentReportResource": { - "properties": { - "complianceStatus": { - "type": "string", - "readOnly": true, - "description": "A value indicating compliance status of the machine for the assigned guest configuration.", - "x-ms-enum": { - "name": "complianceStatus", - "modelAsString": true - }, - "enum": [ - "Compliant", - "NonCompliant", - "Pending" - ] - }, - "reasons": { - "type": "array", - "items": { - "$ref": "#/definitions/AssignmentReportResourceComplianceReason" - }, - "description": "Compliance reason and reason code for a resource." + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/providers/Microsoft.GuestConfiguration/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available GuestConfiguration REST API operations.", + "x-ms-examples": { + "Lists all of the available GuestConfiguration REST API operations": { + "$ref": "./examples/listOperations.json" + } + }, + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/OperationList" + } }, - "properties": { - "type": "object", - "readOnly": true, - "description": "Properties of a guest configuration assignment resource." + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse" + } } }, - "description": "The guest configuration assignment resource." + "x-ms-pageable": { + "nextLinkName": null + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "GuestConfigurationAssignmentList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GuestConfigurationAssignment" + }, + "description": "Result of the list guest configuration assignment operation." + } }, - "AssignmentReportResourceComplianceReason": { + "description": "The response of the list guest configuration assignment operation." + }, + "GuestConfigurationAssignment": { + "properties": { "properties": { - "phrase": { - "type": "string", - "readOnly": true, - "description": "Reason for the compliance of the guest configuration assignment resource." + "x-ms-client-flatten": false, + "$ref": "#/definitions/GuestConfigurationAssignmentProperties", + "description": "Properties of the Guest configuration assignment." + }, + "systemData": { + "readOnly": true, + "type": "object", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource" + } + ], + "description": "Guest configuration assignment is an association between a machine and guest configuration." + }, + "GuestConfigurationNavigation": { + "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.", + "properties": { + "kind": { + "type": "string", + "description": "Kind of the guest configuration. For example:DSC", + "x-ms-enum": { + "name": "kind", + "modelAsString": true + }, + "enum": [ + "DSC" + ] + }, + "name": { + "type": "string", + "description": "Name of the guest configuration." + }, + "version": { + "type": "string", + "description": "Version of the guest configuration." + }, + "contentUri": { + "type": "string", + "description": "Uri of the storage where guest configuration package is uploaded." + }, + "contentHash": { + "type": "string", + "description": "Combined hash of the guest configuration package and configuration parameters." + }, + "assignmentType": { + "type": "string", + "description": "Specifies the assignment type and execution of the configuration. Possible values are Audit, DeployAndAutoCorrect, ApplyAndAutoCorrect and ApplyAndMonitor.", + "x-ms-enum": { + "name": "assignmentType", + "modelAsString": true + }, + "enum": [ + "Audit", + "DeployAndAutoCorrect", + "ApplyAndAutoCorrect", + "ApplyAndMonitor" + ] + }, + "contentType": { + "type": "string", + "readOnly": true, + "description": "Specifies the content type of the configuration. Possible values could be Builtin or Custom.", + "x-nullable": true + }, + "configurationParameter": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationParameter" }, - "code": { - "type": "string", - "readOnly": true, - "description": "Code for the compliance of the guest configuration assignment resource." - } + "description": "The configuration parameters for the guest configuration." + }, + "configurationProtectedParameter": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationParameter" + }, + "description": "The protected configuration parameters for the guest configuration." + }, + "configurationSetting": { + "$ref": "#/definitions/ConfigurationSetting", + "description": "The configuration setting for the guest configuration." + } + } + }, + "ConfigurationParameter": { + "properties": { + "name": { + "type": "string", + "readOnly": false, + "description": "Name of the configuration parameter." + }, + "value": { + "type": "string", + "readOnly": false, + "description": "Value of the configuration parameter." + } + }, + "description": "Represents a configuration parameter." + }, + "ConfigurationSetting": { + "properties": { + "configurationMode": { + "type": "string", + "readOnly": false, + "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.", + "x-ms-enum": { + "name": "configurationMode", + "modelAsString": true + }, + "enum": [ + "ApplyOnly", + "ApplyAndMonitor", + "ApplyAndAutoCorrect" + ] + }, + "allowModuleOverwrite": { + "type": "boolean", + "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false" + }, + "actionAfterReboot": { + "type": "string", + "readOnly": false, + "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration", + "x-ms-enum": { + "name": "actionAfterReboot", + "modelAsString": true + }, + "enum": [ + "ContinueConfiguration", + "StopConfiguration" + ] + }, + "refreshFrequencyMins": { + "type": "number", + "readOnly": false, + "default": 30, + "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30." + }, + "rebootIfNeeded": { + "type": "boolean", + "readOnly": false, + "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module." + }, + "configurationModeFrequencyMins": { + "type": "number", + "readOnly": false, + "default": 15, + "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15." + } + }, + "description": "Configuration setting of LCM (Local Configuration Manager)." + }, + "AssignmentReport": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ARM resource id of the report for the guest configuration assignment." + }, + "reportId": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "assignment": { + "$ref": "#/definitions/AssignmentInfo", + "description": "Configuration details of the guest configuration assignment." + }, + "vm": { + "$ref": "#/definitions/VMInfo", + "description": "Information about the VM." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] }, - "description": "Reason and code for the compliance of the guest configuration assignment resource." + "operationType": { + "type": "string", + "readOnly": true, + "description": "Type of report, Consistency or Initial", + "x-ms-enum": { + "name": "type", + "modelAsString": true + }, + "enum": [ + "Consistency", + "Initial" + ] + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResource" + }, + "description": "The list of resources for which guest configuration assignment compliance is checked." + } } }, - "parameters": {} - } \ No newline at end of file + "GuestConfigurationAssignmentProperties": { + "properties": { + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "VM resource Id.", + "x-nullable": true + }, + "guestConfiguration": { + "$ref": "#/definitions/GuestConfigurationNavigation", + "description": "The guest configuration to assign." + }, + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "lastComplianceStatusChecked": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Date and time when last compliance status was checked.", + "x-nullable": true + }, + "latestReportId": { + "type": "string", + "readOnly": true, + "description": "Id of the latest report for the guest configuration assignment. ", + "x-nullable": true + }, + "parameterHash": { + "type": "string", + "readOnly": true, + "description": "parameter hash for the guest configuration assignment. ", + "x-nullable": true + }, + "latestAssignmentReport": { + "$ref": "#/definitions/AssignmentReport", + "description": "Last reported guest configuration assignment report." + }, + "context": { + "type": "string", + "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy" + }, + "assignmentHash": { + "type": "string", + "readOnly": true, + "description": "Combined hash of the configuration package and parameters.", + "x-nullable": true + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state, which only appears in the response.", + "x-nullable": true, + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + }, + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Created" + ] + }, + "resourceType": { + "type": "string", + "readOnly": true, + "description": "Type of the resource - VMSS / VM", + "x-nullable": true + }, + "vmssVMList": { + "type": "array", + "items": { + "$ref": "#/definitions/VMSSVMInfo" + }, + "description": "The list of VM Compliance data for VMSS" + } + }, + "description": "Guest configuration assignment properties." + }, + "GuestConfigurationAssignmentReportList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/GuestConfigurationAssignmentReport" + }, + "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more." + } + }, + "description": "List of guest configuration assignment reports." + }, + "GuestConfigurationAssignmentReport": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "ARM resource id of the report for the guest configuration assignment." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "properties": { + "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties", + "description": "Properties of the guest configuration report." + } + }, + "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." + }, + "GuestConfigurationAssignmentReportProperties": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "reportId": { + "type": "string", + "readOnly": true, + "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group." + }, + "assignment": { + "$ref": "#/definitions/AssignmentInfo", + "description": "Configuration details of the guest configuration assignment." + }, + "vm": { + "$ref": "#/definitions/VMInfo", + "description": "Information about the VM." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "details": { + "$ref": "#/definitions/AssignmentReportDetails", + "description": "Details of the assignment report.", + "x-nullable": true + }, + "vmssResourceId": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id of the VMSS." + } + }, + "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more." + }, + "AssignmentInfo": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the guest configuration assignment." + }, + "configuration": { + "$ref": "#/definitions/ConfigurationInfo", + "description": "Information about the configuration." + } + }, + "description": "Information about the guest configuration assignment." + }, + "VMInfo": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id of the VM." + }, + "uuid": { + "type": "string", + "readOnly": true, + "description": "UUID(Universally Unique Identifier) of the VM." + } + }, + "description": "Information about the VM." + }, + "ConfigurationInfo": { + "properties": { + "name": { + "type": "string", + "readOnly": true, + "description": "Name of the configuration." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "Version of the configuration." + } + }, + "description": "Information about the configuration." + }, + "AssignmentReportDetails": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Start date and time of the guest configuration assignment compliance status check." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "End date and time of the guest configuration assignment compliance status check." + }, + "jobId": { + "type": "string", + "readOnly": true, + "description": "GUID of the report." + }, + "operationType": { + "type": "string", + "readOnly": true, + "description": "Type of report, Consistency or Initial", + "x-ms-enum": { + "name": "type", + "modelAsString": true + }, + "enum": [ + "Consistency", + "Initial" + ] + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResource" + }, + "description": "The list of resources for which guest configuration assignment compliance is checked." + } + }, + "description": "Details of the guest configuration assignment report." + }, + "AssignmentReportResource": { + "properties": { + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "resourceId": { + "type": "string", + "readOnly": true, + "description": "Name of the guest configuration assignment resource setting." + }, + "reasons": { + "type": "array", + "items": { + "$ref": "#/definitions/AssignmentReportResourceComplianceReason" + }, + "description": "Compliance reason and reason code for a resource." + }, + "properties": { + "type": "object", + "readOnly": true, + "description": "Properties of a guest configuration assignment resource." + } + }, + "description": "The guest configuration assignment resource." + }, + "AssignmentReportResourceComplianceReason": { + "properties": { + "phrase": { + "type": "string", + "readOnly": true, + "description": "Reason for the compliance of the guest configuration assignment resource." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Code for the compliance of the guest configuration assignment resource." + } + }, + "description": "Reason and code for the compliance of the guest configuration assignment resource." + }, + "VMSSVMInfo": { + "properties": { + "vmId": { + "type": "string", + "readOnly": true, + "description": "UUID of the VM." + }, + "vmResourceId": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id of the VM." + }, + "complianceStatus": { + "type": "string", + "readOnly": true, + "description": "A value indicating compliance status of the machine for the assigned guest configuration.", + "x-ms-enum": { + "name": "complianceStatus", + "modelAsString": true + }, + "enum": [ + "Compliant", + "NonCompliant", + "Pending" + ] + }, + "latestReportId": { + "type": "string", + "readOnly": true, + "description": "Id of the latest report for the guest configuration assignment. ", + "x-nullable": true + }, + "lastComplianceChecked": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Date and time when last compliance status was checked.", + "x-nullable": true + } + }, + "description": "Information about VMSS VM" + } + }, + "parameters": {} +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/applications.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/applications.json index af0fb82b..e593638a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/applications.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/applications.json @@ -1,450 +1,536 @@ { - "swagger": "2.0", - "info": { - "title": "HDInsightManagementClient", - "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "swagger": "2.0", + "info": { + "title": "HDInsightManagementClient", + "description": "The HDInsight Management Client.", + "version": "2021-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications": { + "get": { + "tags": [ + "Applications" + ], + "description": "Lists all of the applications for the HDInsight cluster.", + "operationId": "Applications_ListByCluster", + "x-ms-examples": { + "Get All Applications for an HDInsight cluster": { + "$ref": "./examples/GetAllApplications.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ApplicationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } + } }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications": { - "get": { - "tags": [ - "Applications" - ], - "description": "Lists all of the applications HDInsight cluster.", - "operationId": "Applications_List", - "x-ms-examples": { - "Get All Applications for an HDInsight cluster": { - "$ref": "../examples/GetAllApplications.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/ApplicationListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}": { + "get": { + "tags": [ + "Applications" + ], + "description": "Gets properties of the specified application.", + "operationId": "Applications_Get", + "x-ms-examples": { + "Get application on HDInsight cluster successfully created.": { + "$ref": "./examples/GetApplicationCreated.json" + }, + "Get application on HDInsight cluster creation in progress": { + "$ref": "./examples/GetApplicationInProgress.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}": { - "get": { - "tags": [ - "Applications" - ], - "description": "Lists properties of the application.", - "operationId": "Applications_Get", - "x-ms-examples": { - "Get application on HDInsight cluster successfully created.": { - "$ref": "../examples/GetApplicationCreated.json" - }, - "Get application on HDInsight cluster creation in progress": { - "$ref": "../examples/GetApplicationInProgress.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "name": "applicationName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant value for the applicationName", - "x-ms-enum": { - "name": "ApplicationName", - "modelAsString": true - } - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/Application" - } - } - } - }, - "put": { - "tags": [ - "Applications" - ], - "description": "The operation creates applications for the HDInsight cluster.", - "operationId": "Applications_Create", - "x-ms-examples": { - "Create Application": { - "$ref": "../examples/CreateApplication.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "applicationName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant value for the applicationName", - "enum": [ - "hue" - ], - "x-ms-enum": { - "name": "ApplicationName", - "modelAsString": false - } - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ApplicationGetProperties" - }, - "description": "The application create request." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/Application" - } - } - } - }, - "delete": { - "tags": [ - "Applications" - ], - "description": "Lists all of the applications HDInsight cluster.", - "operationId": "Applications_Delete", - "x-ms-examples": { - "Delete Application from HDInsight cluster": { - "$ref": "../examples/DeleteApplication.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "applicationName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant value for the applicationName.", - "enum": [ - "hue" - ], - "x-ms-enum": { - "name": "ApplicationName", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." - } - }, - "x-ms-long-running-operation": true + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Application" } + } } - }, - "definitions": { - "ApplicationGetHttpsEndpoint": { - "description": "Gets application Http endpoints.", - "type": "object", - "properties": { - "accessModes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of access modes for the application." - }, - "location": { - "type": "string", - "description": "The location of the endpoint." - }, - "destinationPort": { - "type": "integer", - "format": "int32", - "description": "The destinationPort to connect to." - }, - "publicPort": { - "type": "integer", - "format": "int32", - "description": "The publicPort to connect to." - } + }, + "put": { + "tags": [ + "Applications" + ], + "description": "Creates applications for the HDInsight cluster.", + "operationId": "Applications_Create", + "x-ms-examples": { + "Create Application": { + "$ref": "./examples/CreateApplication.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" }, - "additionalProperties": { - "type": "string" + "description": "The application create request." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } - }, - "ApplicationGetEndpoint": { - "description": "Gets Application ssh endpoint", - "type": "object", - "properties": { - "location": { - "type": "string", - "description": "The location of the endpoint." - }, - "destinationPort": { - "type": "integer", - "format": "int32", - "description": "The destinationPort to connect to." - }, - "publicPort": { - "type": "integer", - "format": "int32", - "description": "The publicPort to connect to." - } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Application" } + } }, - "ApplicationGetProperties": { - "description": "HDInsight cluster application.", - "type": "object", - "properties": { - "computeProfile": { - "$ref": "./cluster.json#/definitions/ComputeProfile", - "description": "The list of roles in the cluster." - }, - "installScriptActions": { - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/RuntimeScriptAction" - }, - "description": "The list of install script actions." - }, - "uninstallScriptActions": { - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/RuntimeScriptAction" - }, - "description": "The list of uninstall script actions." - }, - "httpsEndpoints": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationGetHttpsEndpoint" - }, - "description": "The list of application Https endpoints." - }, - "sshEndpoints": { - "type": "array", - "items": { - "$ref": "#/definitions/ApplicationGetEndpoint" - }, - "description": "The list of application ssh endpoints." - }, - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "The provisioning state of the application" - }, - "applicationType": { - "type": "string", - "description": "The Application type." - }, - "applicationState": { - "readOnly": true, - "type": "string", - "description": "The Application state." - }, - "errors": { - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/errors" - }, - "description": "The list of errors." - }, - "createdDate": { - "readOnly": true, - "type": "string", - "description": "The application create date time." - }, - "marketplaceIdentifier": { - "readOnly": true, - "type": "string", - "description": "The Marketplace identifier." - }, - "additionalProperties": { - "description": "The additional properties for application.", - "type": "string" - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "delete": { + "tags": [ + "Applications" + ], + "description": "Deletes the specified application on the HDInsight cluster.", + "operationId": "Applications_Delete", + "x-ms-examples": { + "Delete Application from HDInsight cluster": { + "$ref": "./examples/DeleteApplication.json" + } }, - "Application": { - "description": "HDInsight cluster application", - "type": "object", - "properties": { - "id": { - "readOnly": true, - "$ref": "./cluster.json#/definitions/SubResource", - "description": "The resource id for the application" - }, - "name": { - "readOnly": true, - "description": "The name of the application.", - "type": "string" - }, - "type": { - "readOnly": true, - "description": "The type of application.", - "type": "string" - }, - "etag": { - "description": "The ETag for the application", - "type": "string" - }, - "tags": { - "description": "The tags for the application.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "properties": { - "$ref": "#/definitions/ApplicationGetProperties", - "description": "Gets or sets the properties of the application." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted response definition." + }, + "204": { + "description": "No Content response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/applications/{applicationName}/azureasyncoperations/{operationId}": { + "get": { + "tags": [ + "Applications" + ], + "description": "Gets the async operation status.", + "operationId": "Applications_GetAzureAsyncOperationStatus", + "x-ms-examples": { + "Get the azure async operation status.": { + "$ref": "./examples/GetApplicationCreationAsyncOperationStatus.json" + } }, - "ApplicationListResult": { - "description": "Result of the request to list cluster Applications. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Application" - }, - "description": "List of HDInsight applications installed on HDInsight cluster." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "URL to get the next set of operation list results if there are any." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "./cluster.json#/definitions/AsyncOperationResult" + } + } } + } + } + }, + "definitions": { + "ApplicationGetHttpsEndpoint": { + "description": "Gets the application HTTP endpoints.", + "type": "object", + "properties": { + "accessModes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of access modes for the application." + }, + "location": { + "type": "string", + "description": "The location of the endpoint.", + "readOnly": true + }, + "destinationPort": { + "type": "integer", + "format": "int32", + "description": "The destination port to connect to." + }, + "publicPort": { + "type": "integer", + "format": "int32", + "description": "The public port to connect to.", + "readOnly": true + }, + "privateIPAddress": { + "type": "string", + "description": "The private ip address of the endpoint.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "subDomainSuffix": { + "type": "string", + "description": "The subdomain suffix of the application.", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "disableGatewayAuth": { + "type": "boolean", + "description": "The value indicates whether to disable GatewayAuth." + } + } }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "ApplicationGetEndpoint": { + "description": "Gets the application SSH endpoint", + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The location of the endpoint." }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "destinationPort": { + "type": "integer", + "format": "int32", + "description": "The destination port to connect to." + }, + "publicPort": { + "type": "integer", + "format": "int32", + "description": "The public port to connect to." + }, + "privateIPAddress": { + "type": "string", + "description": "The private ip address of the endpoint.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "ApplicationProperties": { + "description": "The HDInsight cluster application GET response.", + "type": "object", + "properties": { + "computeProfile": { + "$ref": "./cluster.json#/definitions/ComputeProfile", + "description": "The list of roles in the cluster." + }, + "installScriptActions": { + "type": "array", + "items": { + "$ref": "./cluster.json#/definitions/RuntimeScriptAction" + }, + "description": "The list of install script actions." + }, + "uninstallScriptActions": { + "type": "array", + "items": { + "$ref": "./cluster.json#/definitions/RuntimeScriptAction" + }, + "description": "The list of uninstall script actions." + }, + "httpsEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGetHttpsEndpoint" + }, + "description": "The list of application HTTPS endpoints." + }, + "sshEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGetEndpoint" + }, + "description": "The list of application SSH endpoints." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the application." + }, + "applicationType": { + "type": "string", + "description": "The application type." + }, + "applicationState": { + "readOnly": true, + "type": "string", + "description": "The application state." + }, + "errors": { + "type": "array", + "items": { + "$ref": "./cluster.json#/definitions/Errors" + }, + "description": "The list of errors." + }, + "createdDate": { + "readOnly": true, + "type": "string", + "description": "The application create date time." + }, + "marketplaceIdentifier": { + "readOnly": true, + "type": "string", + "description": "The marketplace identifier." + }, + "privateLinkConfigurations": { + "type": "array", + "description": "The private link configurations.", + "items": { + "$ref": "./cluster.json#/definitions/PrivateLinkConfiguration" + } } + } + }, + "Application": { + "description": "The HDInsight cluster application", + "type": "object", + "allOf": [ + { + "$ref": "./cluster.json#/definitions/ProxyResource" + } + ], + "properties": { + "etag": { + "description": "The ETag for the application", + "type": "string" + }, + "tags": { + "description": "The tags for the application.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/ApplicationProperties", + "description": "The properties of the application." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + } + }, + "ApplicationListResult": { + "type": "object", + "description": "Result of the request to list cluster Applications. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The list of HDInsight applications installed on HDInsight cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results if there are any." + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The constant value for the application name.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The HDInsight client API Version." + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The long running operation id.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/cluster.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/cluster.json index 343a7bc6..bb8efc5a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/cluster.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/cluster.json @@ -1,1125 +1,2235 @@ { - "swagger": "2.0", - "info": { - "title": "HDInsightManagementClient", - "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "swagger": "2.0", + "info": { + "title": "HDInsightManagementClient", + "description": "The HDInsight Management Client.", + "version": "2021-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}": { + "put": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Create", + "description": "Creates a new HDInsight cluster with the specified parameters.", + "x-ms-examples": { + "Create Hadoop on Linux cluster with SSH password": { + "$ref": "./examples/CreateLinuxHadoopSshPassword.json" + }, + "Create Hadoop on Linux cluster with SSH public key": { + "$ref": "./examples/CreateLinuxHadoopSshPublicKey.json" + }, + "Create Spark on Linux Cluster with SSH password": { + "$ref": "./examples/CreateLinuxSparkSshPassword.json" + }, + "Create Secure Hadoop cluster": { + "$ref": "./examples/CreateLinuxHadoopSecureHadoop.json" + }, + "Create Hadoop cluster with Azure Data Lake Storage Gen 2": { + "$ref": "./examples/CreateLinuxHadoopAdlsGen2.json" + }, + "Create HDInsight cluster with Autoscale configuration": { + "$ref": "./examples/CreateHDInsightClusterWithAutoscaleConfig.json" + }, + "Create Kafka cluster with Kafka Rest Proxy": { + "$ref": "./examples/CreateKafkaClusterWithKafkaRestProxy.json" + }, + "Create cluster with TLS 1.2": { + "$ref": "./examples/CreateHDInsightClusterWithTLS12.json" + }, + "Create cluster with encryption in transit": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json" + }, + "Create cluster with encryption at host": { + "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json" + }, + "Create cluster with network properties": { + "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkProperties.json" + }, + "Create cluster with compute isolation properties": { + "$ref": "./examples/CreateHDInsightClusterWithComputeIsolationProperties.json" + }, + "Create cluster with availability zones": { + "$ref": "./examples/CreateHDInsightClusterWithAvailabilityZones.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterCreateParametersExtended" + }, + "description": "The cluster create request." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}": { - "put": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Create", - "description": "Begins creating a new HDInsight cluster with the specified parameters.", - "x-ms-examples": { - "Create Hadoop on Linux cluster with SSH password": { - "$ref": "../examples/CreateLinuxHadoopSshPassword.json" - }, - "Create Hadoop on Linux cluster with SSH public key": { - "$ref": "../examples/CreateLinuxHadoopSshPublicKey.json" - }, - "Create Spark on Linux Cluster with SSH password": { - "$ref": "../examples/CreateLinuxSparkSshPassword.json" - }, - "Create Windows Cluster": { - "$ref": "../examples/CreateWindowsHadoopRdp.json" - }, - "Create Secure Hadoop cluster": { - "$ref": "../examples/CreateLinuxHadoopSecureHadoop.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterCreateParametersExtended" - }, - "description": "The cluster create request." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Cluster" - } - } - }, - "x-ms-long-running-operation": true - }, - "patch": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Update", - "description": "Patch HDInsight cluster with the specified parameters.", - "x-ms-examples": { - "Patch HDInsight Linux clusters": { - "$ref": "../examples/PatchLinuxHadoopCluster.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterPatchParameters" - }, - "description": "The cluster patch request." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Cluster" - } - } - } - }, - "delete": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Delete", - "description": "Begins deleting the specified HDInsight cluster.", - "x-ms-examples": { - "Delete Hadoop on Linux cluster": { - "$ref": "../examples/DeleteLinuxHadoopCluster.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Accepted response definition." - }, - "200": { - "description": "Ok response definition." - } - }, - "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Update", + "description": "Patch HDInsight cluster with the specified parameters.", + "x-ms-examples": { + "Patch HDInsight Linux clusters": { + "$ref": "./examples/PatchLinuxHadoopCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterPatchParameters" }, - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Get", - "description": "Gets the specified cluster.", - "x-ms-examples": { - "Get Hadoop on Linux cluster": { - "$ref": "../examples/GetLinuxHadoopCluster.json" - }, - "Get Spark on Linux cluster": { - "$ref": "../examples/GetLinuxSparkCluster.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/Cluster" - } - } - } + "description": "The cluster patch request." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" } + } + } + }, + "delete": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Delete", + "description": "Deletes the specified HDInsight cluster.", + "x-ms-examples": { + "Delete Hadoop on Linux cluster": { + "$ref": "./examples/DeleteLinuxHadoopCluster.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_ListByResourceGroup", - "description": "List the HDInsight clusters in a resource group.", - "x-ms-examples": { - "Get All Hadoop on Linux cluster": { - "$ref": "../examples/GetLinuxHadoopAllCluster.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "202": { + "description": "Accepted response definition." + }, + "200": { + "description": "Ok response definition." + }, + "204": { + "description": "No Content response definition." + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_Resize", - "description": "Begins a resize operation on the specified HDInsight cluster.", - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "roleName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant value for the roleName", - "enum": [ - "workernode" - ], - "x-ms-enum": { - "name": "RoleName", - "modelAsString": true - } - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ClusterResizeParameters" - }, - "description": "The parameters for the resize operation." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Accepted response definition." - }, - "200": { - "description": "Ok response definition." - } - }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Get", + "description": "Gets the specified cluster.", + "x-ms-examples": { + "Get Hadoop on Linux cluster": { + "$ref": "./examples/GetLinuxHadoopCluster.json" + }, + "Get Spark on Linux cluster": { + "$ref": "./examples/GetLinuxSparkCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/Cluster" } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ListByResourceGroup", + "description": "Lists the HDInsight clusters in a resource group.", + "x-ms-examples": { + "Get All Hadoop on Linux clusters in a resource group": { + "$ref": "./examples/GetLinuxHadoopAllClustersInResourceGroup.json" + } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": { - "get": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_List", - "description": "Lists HDInsight clusters under the subscription.", - "parameters": [{ - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/ClusterListResult" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } + } }, - "definitions": { - "HttpSettingsParameters": { - "properties": { - "restAuthCredential.isEnabled": { - "type": "string", - "description": "Whether HTTP auth is enabled or disabled." - }, - "restAuthCredential.username": { - "type": "string", - "description": "Http username." - }, - "restAuthCredential.password": { - "type": "string", - "format": "password", - "description": "Http user password." - } - }, - "required": [ - "restAuthCredential.isEnabled" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/resize": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_Resize", + "description": "Resizes the specified HDInsight cluster to the specified size.", + "x-ms-examples": { + "Resize the worker nodes for a Hadoop on Linux cluster": { + "$ref": "./examples/ResizeLinuxHadoopCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The constant value for the roleName", + "enum": [ + "workernode" ], - "description": "The payload for a Configure HTTP settings request." - }, - "ClusterDefinition": { - "description": "The cluste definition.", - "properties": { - "blueprint": { - "type": "string", - "description": "The link to the blueprint." - }, - "kind": { - "type": "string", - "description": "The type of cluster." - }, - "componentVersion": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The versions of different services in the cluster." - }, - "configurations": { - "type": "object", - "description": "The cluster configurations." - } + "x-ms-enum": { + "name": "RoleName", + "modelAsString": true } - }, - "SecurityProfile": { - "description": "The security profile which contains Ssh public key for the HDInsight cluster.", - "properties": { - "directoryType": { - "type": "string", - "description": "The directory type.", - "enum": [ - "ActiveDirectory" - ], - "x-ms-enum": { - "name": "DirectoryType", - "modelAsString": false - } - }, - "domain": { - "type": "string", - "description": "domain." - }, - "organizationalUnitDN": { - "type": "string", - "description": "Distinguished Name for organizational unit." - }, - "ldapsUrls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The LDAP URLs." - }, - "domainUsername": { - "type": "string", - "description": "The domain admin user name." - }, - "domainUserPassword": { - "type": "string", - "format": "password", - "description": "The domain admin password." - }, - "clusterUsersGroupDNs": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Optional. The Distinguished Names for cluster user groups" - } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterResizeParameters" + }, + "description": "The parameters for the resize operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition." + } }, - "HardwareProfile": { - "properties": { - "vmSize": { - "type": "string", - "description": "The size of the VM" - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_UpdateAutoScaleConfiguration", + "description": "Updates the Autoscale Configuration for HDInsight cluster.", + "x-ms-examples": { + "Enable or Update Autoscale with the load based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json" + }, + "Enable or Update Autoscale with the schedule based configuration for HDInsight cluster": { + "$ref": "./examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json" + }, + "Disable Autoscale for the HDInsight cluster": { + "$ref": "./examples/DisableClusterAutoScale.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "name": "roleName", + "in": "path", + "required": true, + "type": "string", + "description": "The constant value for the roleName", + "enum": [ + "workernode" + ], + "x-ms-enum": { + "name": "RoleName", + "modelAsString": true + } + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AutoscaleConfigurationUpdateParameter" }, - "description": "Describes the hardware profile." - }, - "VirtualNetworkProfile": { - "description": "The Virtual network properties.", - "properties": { - "id": { - "type": "string", - "description": "The ID of the virtual network." - }, - "subnet": { - "type": "string", - "description": "The name of the subnet." - } + "description": "The parameters for the update autoscale configuration operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition." + } }, - "Role": { - "properties": { - "name": { - "type": "string", - "description": "The name of the role." - }, - "minInstanceCount": { - "type": "integer", - "format": "int32", - "description": "The minimum instance count of the cluster." - }, - "targetInstanceCount": { - "type": "integer", - "format": "int32", - "description": "The instance count of the cluster." - }, - "hardwareProfile": { - "$ref": "#/definitions/HardwareProfile", - "description": "The hardware profile." - }, - "osProfile": { - "$ref": "./configurations.json#/definitions/OsProfile", - "description": "The operating system profile." - }, - "virtualNetworkProfile": { - "$ref": "#/definitions/VirtualNetworkProfile", - "description": "The virtual network profile." - }, - "scriptActions": { - "type": "array", - "items": { - "$ref": "./scriptActions.json#/definitions/ScriptAction" - }, - "description": "The list of script actions on the role." - } - }, - "description": "Describes a role on the cluster." - }, - "ComputeProfile": { - "properties": { - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/Role" - }, - "description": "The list of roles in the cluster." - } - }, - "description": "Describes the compute profile." - }, - "StorageAccount": { - "properties": { - "name": { - "type": "string", - "description": "The name of the storage account." - }, - "isDefault": { - "type": "boolean", - "description": "Describes is the storage account is the default storage account." - }, - "container": { - "type": "string", - "description": "The container in the storage account." - }, - "key": { - "type": "string", - "description": "The storage account access key." - } - }, - "description": "Describes the storage Account." - }, - "StorageProfile": { - "properties": { - "storageaccounts": { - "type": "array", - "items": { - "$ref": "#/definitions/StorageAccount" - }, - "description": "The list of storage accounts in the cluster." - } - }, - "description": "Describes the storage profile." - }, - "ClusterCreateProperties": { - "description": "The cluster create parameters.", - "properties": { - "clusterVersion": { - "type": "string", - "description": "The version of the cluster." - }, - "osType": { - "type": "string", - "description": "The type of operating system.", - "enum": [ - "Windows", - "Linux" - ], - "x-ms-enum": { - "name": "OSType", - "modelAsString": false - } - }, - "tier": { - "type": "string", - "description": "The cluster tier.", - "enum": [ - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "Tier", - "modelAsString": false - } - }, - "clusterDefinition": { - "$ref": "#/definitions/ClusterDefinition", - "description": "The cluster definition." - }, - "securityProfile": { - "$ref": "#/definitions/SecurityProfile", - "description": "The security profile." - }, - "computeProfile": { - "$ref": "#/definitions/ComputeProfile", - "description": "The compute profile." - }, - "storageProfile": { - "$ref": "#/definitions/StorageProfile", - "description": "The storage profile." - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_List", + "x-ms-examples": { + "Get All Hadoop on Linux clusters": { + "$ref": "./examples/GetLinuxHadoopAllClusters.json" + } + }, + "description": "Lists all the HDInsight clusters under the subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterListResult" } + } }, - "ClusterCreateParametersExtended": { - "properties": { - "location": { - "type": "string", - "description": "The location of the cluster." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "The resource tags." - }, - "properties": { - "$ref": "#/definitions/ClusterCreateProperties", - "description": "The cluster create parameters." - } - }, - "description": "The CreateCluster request parameters." - }, - "ClusterPatchParameters": { - "properties": { - "tags": { - "type": "object", - "x-nullable": true, - "additionalProperties": { - "type": "string" - }, - "description": "The resource tags." - } + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/rotatediskencryptionkey": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_RotateDiskEncryptionKey", + "x-ms-examples": { + "Rotate disk encryption key of the specified HDInsight cluster": { + "$ref": "./examples/RotateLinuxHadoopClusterDiskEncryptionKey.json" + } + }, + "description": "Rotate disk encryption key of the specified HDInsight cluster.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterDiskEncryptionParameters" }, - "description": "The PatchCluster request parameters" - }, - "QuotaInfo": { - "description": "Gets or sets Quota properties for the cluster.", - "properties": { - "coresUsed": { - "type": "integer", - "format": "int32", - "description": "The cores used by the cluster." - } + "description": "The parameters for the disk encryption operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition." + } }, - "errors": { - "description": "The error message associated with the cluster creation.", - "properties": { - "code": { - "type": "string", - "description": "The error code." - }, - "message": { - "type": "string", - "description": "The error message." - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/getGatewaySettings": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_GetGatewaySettings", + "description": "Gets the gateway settings for the specified cluster.", + "x-ms-examples": { + "Get HTTP settings": { + "$ref": "./examples/HDI_Clusters_GetGatewaySettings.json" + } }, - "ConnectivityEndpoint": { - "description": "The connectivity properties", - "properties": { - "name": { - "type": "string", - "description": "The name of the endpoint." - }, - "protocol": { - "type": "string", - "description": "The protocol of the endpoint." - }, - "location": { - "type": "string", - "description": "The location of the endpoint." - }, - "port": { - "type": "integer", - "format": "int32", - "description": "The port to connect to." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/GatewaySettings" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/updateGatewaySettings": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_UpdateGatewaySettings", + "description": "Configures the gateway settings on the specified cluster.", + "x-ms-examples": { + "Enable HTTP connectivity": { + "$ref": "./examples/HDI_Clusters_UpdateGatewaySettings_Enable.json" + } }, - "ClusterGetProperties": { - "description": "The properties of cluster.", - "properties": { - "clusterVersion": { - "type": "string", - "description": "The version of the cluster." - }, - "osType": { - "type": "string", - "description": "The type of operating system.", - "enum": [ - "Windows", - "Linux" - ], - "x-ms-enum": { - "name": "OSType", - "modelAsString": false - } - }, - "tier": { - "type": "string", - "description": "The cluster tier.", - "enum": [ - "Standard", - "Premium" - ], - "x-ms-enum": { - "name": "Tier", - "modelAsString": false - } - }, - "clusterDefinition": { - "$ref": "#/definitions/ClusterDefinition", - "description": "The cluster definition." - }, - "securityProfile": { - "$ref": "#/definitions/SecurityProfile", - "description": "The security profile." - }, - "computeProfile": { - "$ref": "#/definitions/ComputeProfile", - "description": "The compute profile." - }, - "provisioningState": { - "type": "string", - "description": "The provisioning state, which only appears in the response.", - "enum": [ - "InProgress", - "Failed", - "Succeeded", - "Canceled", - "Deleting" - ], - "x-ms-enum": { - "name": "HDInsightClusterProvisioningState", - "modelAsString": false - } - }, - "createdDate": { - "type": "string", - "description": "The date on which the cluster was created." - }, - "clusterState": { - "type": "string", - "description": "The state of the cluster." - }, - "quotaInfo": { - "$ref": "#/definitions/QuotaInfo", - "description": "The quota information." - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/definitions/errors" - }, - "description": "The list of errors." - }, - "connectivityEndpoints": { - "type": "array", - "items": { - "$ref": "#/definitions/ConnectivityEndpoint" - }, - "description": "The list of connectivity endpoints." - } - }, - "required": [ - "clusterDefinition" - ] - }, - "Cluster": { - "allOf": [{ - "$ref": "#/definitions/Resource" - }], - "properties": { - "etag": { - "type": "string", - "description": "The ETag for the resource" - }, - "properties": { - "$ref": "#/definitions/ClusterGetProperties", - "description": "The properties of the cluster." - } - }, - "description": "Describes the cluster." - }, - "RuntimeScriptAction": { - "properties": { - "name": { - "type": "string", - "description": "The name of the script action." - }, - "uri": { - "type": "string", - "description": "The URI to the script." - }, - "parameters": { - "type": "string", - "description": "The parameters for the script" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of roles where script will be executed." - }, - "applicationName": { - "readOnly": true, - "type": "string", - "description": "The application name of the script action, if any." - } - }, - "required": [ - "name", - "uri", - "roles" - ], - "description": "Describes a script action on a running cluster." - }, - "ExecuteScriptActionParameters": { - "properties": { - "scriptActions": { - "type": "array", - "items": { - "$ref": "#/definitions/RuntimeScriptAction" - }, - "description": "The list of run time script actions." - }, - "persistOnSuccess": { - "type": "string", - "description": "Gets or sets if the scripts needs to be persisted." - } - }, - "required": [ - "persistOnSuccess" - ], - "description": "Describes the script actions on a running cluster." - }, - "ClusterListPersistedScriptActionsResult": { - "properties": { - "value": { - "description": "The list of Persisted Script Actions.", - "type": "array", - "items": { - "$ref": "#/definitions/RuntimeScriptAction" - } - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } - }, - "description": "List PersistedScriptActions operations response." - }, - "ScriptActionExecutionSummary": { - "properties": { - "status": { - "readOnly": true, - "type": "string", - "description": "The status of script action execution." - }, - "instanceCount": { - "readOnly": true, - "type": "integer", - "format": "int32", - "description": "The instance count for a given script action execution status." - } - }, - "description": "Describes the execution summary of a script action." - }, - "RuntimeScriptActionDetail": { - "properties": { - "scriptExecutionId": { - "readOnly": true, - "type": "integer", - "format": "int64", - "description": "The execution id of the script action." - }, - "startTime": { - "readOnly": true, - "type": "string", - "description": "The start time of script action execution." - }, - "endTime": { - "readOnly": true, - "type": "string", - "description": "The end time of script action execution." - }, - "status": { - "readOnly": true, - "type": "string", - "description": "The current execution status of the script action." - }, - "operation": { - "readOnly": true, - "type": "string", - "description": "The reason why the script action was executed." - }, - "executionSummary": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ScriptActionExecutionSummary" - }, - "description": "The summary of script action execution result." - }, - "debugInformation": { - "readOnly": true, - "type": "string", - "description": "The script action execution debug information." - }, - "name": { - "type": "string", - "description": "The name of the script action." - }, - "uri": { - "type": "string", - "description": "The URI to the script." - }, - "parameters": { - "type": "string", - "description": "The parameters for the script" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of roles where script will be executed." - }, - "applicationName": { - "readOnly": true, - "type": "string", - "description": "The application name of the script action, if any." - } - }, - "required": [ - "name", - "uri", - "roles" - ], - "description": "Describes the execution details of a script action." - }, - "ClusterListRuntimeScriptActionDetailResult": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/RuntimeScriptActionDetail" - } - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } - }, - "description": "The ListScriptExecutionHistory response." - }, - "ClusterListResult": { - "properties": { - "value": { - "description": "Gets the list of Clusters.", - "type": "array", - "items": { - "$ref": "#/definitions/Cluster" - } - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } - }, - "description": "The List Cluster operation response." - }, - "ClusterResizeParameters": { - "properties": { - "targetInstanceCount": { - "type": "integer", - "format": "int32", - "description": "The target instance count for the operation." - } - }, - "description": "The Resize Cluster request parameters." - }, - "OperationResource": { - "properties": { - "status": { - "type": "string", - "description": "The async operation state.", - "enum": [ - "InProgress", - "Succeeded", - "Failed" - ], - "x-ms-enum": { - "name": "AsyncOperationState", - "modelAsString": false - } - }, - "error": { - "$ref": "#/definitions/errors", - "description": "The operation error information." - } - }, - "description": "The azure async operation response." - }, - "Resource": { - "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "Resource Id" - }, - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, - "type": "string", - "description": "Resource type" - }, - "location": { - "type": "string", - "description": "Resource location" - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ], - "description": "The resource definition.", - "x-ms-azure-resource": true - }, - "SubResource": { - "properties": { - "id": { - "type": "string", - "description": "Resource Id" - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateGatewaySettingsParameters" }, - "description": "The sub resource definition.", - "x-ms-azure-resource": true - }, - "Operation": { - "description": "HDInsight REST API operation", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}", - "type": "string" - }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.HDInsight", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed: Profile, endpoint, etc.", - "type": "string" - }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string" - } - } - } + "description": "The cluster configurations." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition" + } }, - "OperationListResult": { - "description": "Result of the request to list HDInsight operations. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "description": "List of HDInsight operations supported by the HDInsight resource provider." - }, - "nextLink": { - "type": "string", - "description": "URL to get the next set of operation list results if there are any." - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/azureasyncoperations/{operationId}": { + "get": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_GetAzureAsyncOperationStatus", + "description": "The the async operation status.", + "x-ms-examples": { + "Get Async Operation Status of Creating Cluster": { + "$ref": "./examples/GetClusterCreatingAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/AsyncOperationResult" } + } } + } }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/updateClusterIdentityCertificate": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_UpdateIdentityCertificate", + "description": "Updates the cluster identity certificate.", + "x-ms-examples": { + "Update cluster identity certificate": { + "$ref": "./examples/HDI_Clusters_UpdateClusterIdentityCertificate.json" + } }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/UpdateClusterIdentityCertificateParameters" + }, + "description": "The cluster configurations." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition." + }, + "202": { + "description": "Accepted response definition" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "ClusterDefinition": { + "type": "object", + "description": "The cluster definition.", + "properties": { + "blueprint": { + "type": "string", + "description": "The link to the blueprint." + }, + "kind": { + "type": "string", + "description": "The type of cluster." + }, + "componentVersion": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The versions of different services in the cluster.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "configurations": { + "type": "object", + "description": "The cluster configurations.", + "x-ms-secret": true + } + } + }, + "ClientGroupInfo": { + "type": "object", + "description": "The information of AAD security group.", + "properties": { + "groupName": { + "type": "string", + "description": "The AAD security group name." + }, + "groupId": { + "type": "string", + "description": "The AAD security group id." + } + } + }, + "KafkaRestProperties": { + "type": "object", + "description": "The kafka rest proxy configuration which contains AAD security group information.", + "properties": { + "clientGroupInfo": { + "$ref": "#/definitions/ClientGroupInfo", + "description": "The information of AAD security group." + }, + "configurationOverride": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The configurations that need to be overriden." + } + } + }, + "SecurityProfile": { + "type": "object", + "description": "The security profile which contains Ssh public key for the HDInsight cluster.", + "properties": { + "directoryType": { + "type": "string", + "description": "The directory type.", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "DirectoryType", + "modelAsString": true + } + }, + "domain": { + "type": "string", + "description": "The organization's active directory domain." + }, + "organizationalUnitDN": { + "type": "string", + "description": "The organizational unit within the Active Directory to place the cluster and service accounts.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "ldapsUrls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The LDAPS protocol URLs to communicate with the Active Directory." + }, + "domainUsername": { + "type": "string", + "description": "The domain user account that will have admin privileges on the cluster." + }, + "domainUserPassword": { + "type": "string", + "format": "password", + "description": "The domain admin password." + }, + "clusterUsersGroupDNs": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. The Distinguished Names for cluster user groups" + }, + "aaddsResourceId": { + "type": "string", + "description": "The resource ID of the user's Azure Active Directory Domain Service." + }, + "msiResourceId": { + "type": "string", + "description": "User assigned identity that has permissions to read and create cluster-related artifacts in the user's AADDS." + } + } + }, + "AutoscaleTimeAndCapacity": { + "type": "object", + "properties": { + "time": { + "type": "string", + "description": "24-hour time in the form xx:xx" + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "Time and capacity request parameters" + }, + "AutoscaleSchedule": { + "type": "object", + "properties": { + "days": { + "type": "array", + "items": { "type": "string", - "description": "Client Api Version." + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": true + } + }, + "description": "Days of the week for a schedule-based autoscale rule" + }, + "timeAndCapacity": { + "$ref": "#/definitions/AutoscaleTimeAndCapacity", + "description": "Time and capacity for a schedule-based autoscale rule" + } + }, + "description": "Parameters for a schedule-based autoscale rule, consisting of an array of days + a time and capacity" + }, + "AutoscaleCapacity": { + "type": "object", + "properties": { + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster" + }, + "maxInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The maximum instance count of the cluster" + } + }, + "description": "The load-based autoscale request parameters" + }, + "AutoscaleRecurrence": { + "type": "object", + "properties": { + "timeZone": { + "type": "string", + "description": "The time zone for the autoscale schedule times" + }, + "schedule": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoscaleSchedule" + }, + "description": "Array of schedule-based autoscale rules" + } + }, + "description": "Schedule-based autoscale request parameters" + }, + "Autoscale": { + "type": "object", + "properties": { + "capacity": { + "$ref": "#/definitions/AutoscaleCapacity", + "description": "Parameters for load-based autoscale" + }, + "recurrence": { + "$ref": "#/definitions/AutoscaleRecurrence", + "description": "Parameters for schedule-based autoscale" + } + }, + "description": "The autoscale request parameters" + }, + "AutoscaleConfigurationUpdateParameter": { + "type": "object", + "properties": { + "autoscale": { + "$ref": "#/definitions/Autoscale", + "description": "The autoscale configuration." + } + }, + "description": "The autoscale configuration update parameter." + }, + "HardwareProfile": { + "type": "object", + "properties": { + "vmSize": { + "type": "string", + "description": "The size of the VM" + } + }, + "description": "The hardware profile." + }, + "VirtualNetworkProfile": { + "type": "object", + "description": "The virtual network properties.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the virtual network." + }, + "subnet": { + "type": "string", + "description": "The name of the subnet." + } + } + }, + "DataDisksGroups": { + "type": "object", + "description": "The data disks groups for the role.", + "properties": { + "disksPerNode": { + "type": "integer", + "format": "int32", + "description": "The number of disks per node." + }, + "storageAccountType": { + "type": "string", + "description": "ReadOnly. The storage account type. Do not set this value.", + "readOnly": true + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "ReadOnly. The DiskSize in GB. Do not set this value.", + "readOnly": true + } + } + }, + "SshPublicKey": { + "type": "object", + "description": "The SSH public key for the cluster nodes.", + "properties": { + "certificateData": { + "type": "string", + "description": "The certificate for SSH." + } + } + }, + "SshProfile": { + "type": "object", + "description": "The list of SSH public keys.", + "properties": { + "publicKeys": { + "type": "array", + "items": { + "$ref": "#/definitions/SshPublicKey" + }, + "description": "The list of SSH public keys." + } + } + }, + "LinuxOperatingSystemProfile": { + "type": "object", + "description": "The ssh username, password, and ssh public key.", + "properties": { + "username": { + "type": "string", + "description": "The username." + }, + "password": { + "type": "string", + "description": "The password." + }, + "sshProfile": { + "$ref": "#/definitions/SshProfile", + "description": "The SSH profile.", + "x-ms-secret": true + } + } + }, + "OsProfile": { + "type": "object", + "description": "The Linux operation systems profile.", + "properties": { + "linuxOperatingSystemProfile": { + "$ref": "#/definitions/LinuxOperatingSystemProfile", + "description": "The Linux OS profile." + } + } + }, + "Role": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the role." + }, + "minInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The minimum instance count of the cluster.", + "x-ms-secret": true + }, + "targetInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The instance count of the cluster." + }, + "VMGroupName": { + "type": "string", + "description": "The name of the virtual machine group.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "autoscale": { + "$ref": "#/definitions/Autoscale", + "x-ms-client-name": "autoscaleConfiguration", + "description": "The autoscale configurations." + }, + "hardwareProfile": { + "$ref": "#/definitions/HardwareProfile", + "description": "The hardware profile." + }, + "osProfile": { + "$ref": "#/definitions/OsProfile", + "description": "The operating system profile." + }, + "virtualNetworkProfile": { + "$ref": "#/definitions/VirtualNetworkProfile", + "description": "The virtual network profile." + }, + "dataDisksGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/DataDisksGroups" + }, + "description": "The data disks groups for the role." + }, + "scriptActions": { + "type": "array", + "items": { + "$ref": "./scriptActions.json#/definitions/ScriptAction" + }, + "description": "The list of script actions on the role.", + "x-ms-secret": true + }, + "encryptDataDisks": { + "type": "boolean", + "description": "Indicates whether encrypt the data disks.", + "default": false + } + }, + "description": "Describes a role on the cluster." + }, + "ComputeProfile": { + "type": "object", + "properties": { + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/Role" + }, + "description": "The list of roles in the cluster." + } + }, + "description": "Describes the compute profile." + }, + "StorageAccount": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the storage account." + }, + "isDefault": { + "type": "boolean", + "description": "Whether or not the storage account is the default storage account." + }, + "container": { + "type": "string", + "description": "The container in the storage account, only to be specified for WASB storage accounts." + }, + "fileSystem": { + "type": "string", + "description": "The filesystem, only to be specified for Azure Data Lake Storage Gen 2." + }, + "key": { + "type": "string", + "description": "The storage account access key." + }, + "resourceId": { + "type": "string", + "description": "The resource ID of storage account, only to be specified for Azure Data Lake Storage Gen 2." + }, + "msiResourceId": { + "type": "string", + "description": "The managed identity (MSI) that is allowed to access the storage account, only to be specified for Azure Data Lake Storage Gen 2." + }, + "saskey": { + "type": "string", + "description": "The shared access signature key." + }, + "fileshare": { + "type": "string", + "description": "The file share name." + } + }, + "description": "The storage Account." + }, + "StorageProfile": { + "type": "object", + "properties": { + "storageaccounts": { + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "The list of storage accounts in the cluster." + } + }, + "description": "The storage profile." + }, + "ExcludedServicesConfig": { + "type": "object", + "properties": { + "excludedServicesConfigId": { + "type": "string", + "description": "The config id of excluded services." + }, + "excludedServicesList": { + "type": "string", + "description": "The list of excluded services." + } + }, + "description": "The configuration that services will be excluded when creating cluster." + }, + "NetworkProperties": { + "type": "object", + "description": "The network properties.", + "properties": { + "resourceProviderConnection": { + "type": "string", + "description": "The direction for the resource provider connection.", + "enum": [ + "Inbound", + "Outbound" + ], + "x-ms-enum": { + "name": "ResourceProviderConnection", + "modelAsString": true + } + }, + "privateLink": { + "type": "string", + "description": "Indicates whether or not private link is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "PrivateLink", + "modelAsString": true + } + } + } + }, + "ComputeIsolationProperties": { + "type": "object", + "description": "The compute isolation properties.", + "properties": { + "enableComputeIsolation": { + "type": "boolean", + "description": "The flag indicates whether enable compute isolation or not.", + "default": false + }, + "hostSku": { + "type": "string", + "description": "The host sku." + } + } + }, + "ClusterCreateProperties": { + "type": "object", + "description": "The cluster create parameters.", + "properties": { + "clusterVersion": { + "type": "string", + "description": "The version of the cluster." + }, + "osType": { + "type": "string", + "description": "The type of operating system.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "The cluster tier.", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "Tier", + "modelAsString": true + }, + "default": "Standard", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "clusterDefinition": { + "$ref": "#/definitions/ClusterDefinition", + "description": "The cluster definition." + }, + "kafkaRestProperties": { + "$ref": "#/definitions/KafkaRestProperties", + "description": "The cluster kafka rest proxy configuration." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "The security profile." + }, + "computeProfile": { + "$ref": "#/definitions/ComputeProfile", + "description": "The compute profile." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "The storage profile." + }, + "diskEncryptionProperties": { + "$ref": "#/definitions/DiskEncryptionProperties", + "description": "The disk encryption properties." + }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, + "minSupportedTlsVersion": { + "type": "string", + "description": "The minimal supported tls version." + }, + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." + }, + "computeIsolationProperties": { + "$ref": "#/definitions/ComputeIsolationProperties", + "description": "The compute isolation properties." + }, + "privateLinkConfigurations": { + "type": "array", + "description": "The private link configurations.", + "items": { + "$ref": "#/definitions/PrivateLinkConfiguration" + } } + } + }, + "ClusterCreateParametersExtended": { + "type": "object", + "properties": { + "location": { + "type": "string", + "description": "The location of the cluster." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The availability zones." + }, + "properties": { + "$ref": "#/definitions/ClusterCreateProperties", + "description": "The cluster create parameters." + }, + "identity": { + "$ref": "#/definitions/ClusterIdentity", + "description": "The identity of the cluster, if configured." + } + }, + "description": "The CreateCluster request parameters." + }, + "ClusterPatchParameters": { + "type": "object", + "properties": { + "tags": { + "type": "object", + "x-nullable": true, + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + }, + "description": "The PatchCluster request parameters" + }, + "QuotaInfo": { + "type": "object", + "description": "The quota properties for the cluster.", + "properties": { + "coresUsed": { + "type": "integer", + "format": "int32", + "description": "The cores used by the cluster." + } + } + }, + "Errors": { + "type": "object", + "description": "The error message associated with the cluster creation.", + "properties": { + "code": { + "type": "string", + "description": "The error code." + }, + "message": { + "type": "string", + "description": "The error message." + } + } + }, + "ConnectivityEndpoint": { + "type": "object", + "description": "The connectivity properties", + "properties": { + "name": { + "type": "string", + "description": "The name of the endpoint." + }, + "protocol": { + "type": "string", + "description": "The protocol of the endpoint." + }, + "location": { + "type": "string", + "description": "The location of the endpoint." + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port to connect to." + }, + "privateIPAddress": { + "type": "string", + "description": "The private ip address of the endpoint." + } + } + }, + "ClusterGetProperties": { + "type": "object", + "description": "The properties of cluster.", + "properties": { + "clusterVersion": { + "type": "string", + "description": "The version of the cluster." + }, + "clusterHdpVersion": { + "type": "string", + "description": "The hdp version of the cluster." + }, + "osType": { + "type": "string", + "description": "The type of operating system.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OSType", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "The cluster tier.", + "enum": [ + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "Tier", + "modelAsString": true + } + }, + "clusterId": { + "type": "string", + "description": "The cluster id." + }, + "clusterDefinition": { + "$ref": "#/definitions/ClusterDefinition", + "description": "The cluster definition." + }, + "kafkaRestProperties": { + "$ref": "#/definitions/KafkaRestProperties", + "description": "The cluster kafka rest proxy configuration." + }, + "securityProfile": { + "$ref": "#/definitions/SecurityProfile", + "description": "The security profile." + }, + "computeProfile": { + "$ref": "#/definitions/ComputeProfile", + "description": "The compute profile." + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state, which only appears in the response.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "Canceled", + "Deleting" + ], + "x-ms-enum": { + "name": "HDInsightClusterProvisioningState", + "modelAsString": true + } + }, + "createdDate": { + "type": "string", + "description": "The date on which the cluster was created." + }, + "clusterState": { + "type": "string", + "description": "The state of the cluster." + }, + "quotaInfo": { + "$ref": "#/definitions/QuotaInfo", + "description": "The quota information." + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/definitions/Errors" + }, + "description": "The list of errors." + }, + "connectivityEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ConnectivityEndpoint" + }, + "description": "The list of connectivity endpoints." + }, + "diskEncryptionProperties": { + "$ref": "#/definitions/DiskEncryptionProperties", + "description": "The disk encryption properties." + }, + "encryptionInTransitProperties": { + "$ref": "#/definitions/EncryptionInTransitProperties", + "description": "The encryption-in-transit properties." + }, + "storageProfile": { + "$ref": "#/definitions/StorageProfile", + "description": "The storage profile." + }, + "minSupportedTlsVersion": { + "type": "string", + "description": "The minimal supported tls version." + }, + "excludedServicesConfig": { + "$ref": "#/definitions/ExcludedServicesConfig", + "description": "The excluded services config." + }, + "networkProperties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The network properties." + }, + "computeIsolationProperties": { + "$ref": "#/definitions/ComputeIsolationProperties", + "description": "The compute isolation properties." + }, + "privateLinkConfigurations": { + "type": "array", + "description": "The private link configurations.", + "items": { + "$ref": "#/definitions/PrivateLinkConfiguration" + } + }, + "privateEndpointConnections": { + "type": "array", + "description": "The list of private endpoint connections.", + "items": { + "$ref": "./privateEndpointConnections.json#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + } + }, + "required": [ + "clusterDefinition" + ] + }, + "Cluster": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "etag": { + "type": "string", + "description": "The ETag for the resource" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The availability zones." + }, + "properties": { + "$ref": "#/definitions/ClusterGetProperties", + "description": "The properties of the cluster." + }, + "identity": { + "$ref": "#/definitions/ClusterIdentity", + "description": "The identity of the cluster, if configured." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "description": "The HDInsight cluster." + }, + "RuntimeScriptAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the script action." + }, + "uri": { + "type": "string", + "description": "The URI to the script." + }, + "parameters": { + "type": "string", + "description": "The parameters for the script", + "x-ms-mutability": [ + "create", + "update" + ] + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of roles where script will be executed." + }, + "applicationName": { + "readOnly": true, + "type": "string", + "description": "The application name of the script action, if any." + } + }, + "required": [ + "name", + "uri", + "roles" + ], + "description": "Describes a script action on a running cluster." + }, + "ExecuteScriptActionParameters": { + "type": "object", + "properties": { + "scriptActions": { + "type": "array", + "items": { + "$ref": "#/definitions/RuntimeScriptAction" + }, + "description": "The list of run time script actions." + }, + "persistOnSuccess": { + "type": "boolean", + "description": "Gets or sets if the scripts needs to be persisted." + } + }, + "required": [ + "persistOnSuccess" + ], + "description": "The parameters for the script actions to execute on a running cluster." + }, + "ClusterListPersistedScriptActionsResult": { + "type": "object", + "properties": { + "value": { + "description": "The list of Persisted Script Actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RuntimeScriptAction" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "The ListPersistedScriptActions operation response." + }, + "ScriptActionExecutionSummary": { + "type": "object", + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of script action execution." + }, + "instanceCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The instance count for a given script action execution status." + } + }, + "description": "The execution summary of a script action." + }, + "RuntimeScriptActionDetail": { + "allOf": [ + { + "$ref": "#/definitions/RuntimeScriptAction" + } + ], + "type": "object", + "properties": { + "scriptExecutionId": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "The execution id of the script action." + }, + "startTime": { + "readOnly": true, + "type": "string", + "description": "The start time of script action execution." + }, + "endTime": { + "readOnly": true, + "type": "string", + "description": "The end time of script action execution." + }, + "status": { + "readOnly": true, + "type": "string", + "description": "The current execution status of the script action." + }, + "operation": { + "readOnly": true, + "type": "string", + "description": "The reason why the script action was executed." + }, + "executionSummary": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ScriptActionExecutionSummary" + }, + "description": "The summary of script action execution result." + }, + "debugInformation": { + "readOnly": true, + "type": "string", + "description": "The script action execution debug information." + } + }, + "description": "The execution details of a script action." + }, + "ClusterIdentity": { + "type": "object", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of cluster identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the cluster. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the cluster. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "The list of user identities associated with the cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the cluster." + }, + "UserAssignedIdentity": { + "type": "object", + "description": "The User Assigned Identity", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of user assigned identity." + } + } + }, + "ClusterListResult": { + "type": "object", + "properties": { + "value": { + "description": "The list of Clusters.", + "type": "array", + "items": { + "$ref": "#/definitions/Cluster" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + }, + "description": "The List Cluster operation response." + }, + "ClusterResizeParameters": { + "type": "object", + "properties": { + "targetInstanceCount": { + "type": "integer", + "format": "int32", + "description": "The target instance count for the operation." + } + }, + "description": "The Resize Cluster request parameters." + }, + "ClusterDiskEncryptionParameters": { + "type": "object", + "properties": { + "vaultUri": { + "type": "string", + "description": "Base key vault URI where the customers key is located eg. https://myvault.vault.azure.net" + }, + "keyName": { + "type": "string", + "description": "Key name that is used for enabling disk encryption." + }, + "keyVersion": { + "type": "string", + "description": "Specific key version that is used for enabling disk encryption." + } + }, + "description": "The Disk Encryption Cluster request parameters." + }, + "DiskEncryptionProperties": { + "type": "object", + "description": "The disk encryption properties", + "properties": { + "vaultUri": { + "type": "string", + "description": "Base key vault URI where the customers key is located eg. https://myvault.vault.azure.net" + }, + "keyName": { + "type": "string", + "description": "Key name that is used for enabling disk encryption." + }, + "keyVersion": { + "type": "string", + "description": "Specific key version that is used for enabling disk encryption." + }, + "encryptionAlgorithm": { + "type": "string", + "description": "Algorithm identifier for encryption, default RSA-OAEP.", + "enum": [ + "RSA-OAEP", + "RSA-OAEP-256", + "RSA1_5" + ], + "x-ms-enum": { + "name": "JsonWebKeyEncryptionAlgorithm", + "modelAsString": true + } + }, + "msiResourceId": { + "type": "string", + "description": "Resource ID of Managed Identity that is used to access the key vault." + }, + "encryptionAtHost": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not resource disk encryption is enabled." + } + } + }, + "EncryptionInTransitProperties": { + "type": "object", + "description": "The encryption-in-transit properties.", + "properties": { + "isEncryptionInTransitEnabled": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not inter cluster node communication is encrypted in transit." + } + } + }, + "UpdateGatewaySettingsParameters": { + "type": "object", + "properties": { + "restAuthCredential.isEnabled": { + "type": "boolean", + "default": true, + "x-ms-client-name": "isCredentialEnabled", + "description": "Indicates whether or not the gateway settings based authorization is enabled." + }, + "restAuthCredential.username": { + "type": "string", + "x-ms-client-name": "userName", + "description": "The gateway settings user name." + }, + "restAuthCredential.password": { + "type": "string", + "x-ms-client-name": "password", + "description": "The gateway settings user password." + } + }, + "description": "The update gateway settings request parameters." + }, + "GatewaySettings": { + "type": "object", + "properties": { + "restAuthCredential.isEnabled": { + "type": "string", + "x-ms-client-name": "isCredentialEnabled", + "description": "Indicates whether or not the gateway settings based authorization is enabled.", + "readOnly": true + }, + "restAuthCredential.username": { + "type": "string", + "x-ms-client-name": "userName", + "description": "The gateway settings user name.", + "readOnly": true + }, + "restAuthCredential.password": { + "type": "string", + "x-ms-client-name": "password", + "description": "The gateway settings user password.", + "readOnly": true + } + }, + "description": "Gateway settings." + }, + "AsyncOperationResult": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "The async operation state.", + "enum": [ + "InProgress", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "AsyncOperationState", + "modelAsString": true + } + }, + "error": { + "$ref": "#/definitions/Errors", + "description": "The operation error information." + } + }, + "description": "The azure async operation response." + }, + "UpdateClusterIdentityCertificateParameters": { + "type": "object", + "description": "The update cluster identity certificate request parameters.", + "properties": { + "applicationId": { + "description": "The application id.", + "type": "string" + }, + "certificate": { + "description": "The certificate in base64 encoded format.", + "type": "string" + }, + "certificatePassword": { + "description": "The password of the certificate.", + "type": "string" + } + } + }, + "PrivateLinkConfiguration": { + "type": "object", + "description": "The private link configuration.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The private link configuration id." + }, + "name": { + "type": "string", + "description": "The name of private link configuration." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the private link configuration." + }, + "properties": { + "$ref": "#/definitions/PrivateLinkConfigurationProperties", + "description": "The private link configuration properties.", + "x-ms-client-flatten": true + } + }, + "required": [ + "name", + "properties" + ] + }, + "PrivateLinkConfigurationProperties": { + "type": "object", + "description": "The private link configuration properties.", + "properties": { + "groupId": { + "type": "string", + "description": "The HDInsight private linkable sub-resource name to apply the private link configuration to. For example, 'headnode', 'gateway', 'edgenode'." + }, + "provisioningState": { + "type": "string", + "description": "The private link configuration provisioning state, which only appears in the response.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "Canceled", + "Deleting" + ], + "x-ms-enum": { + "name": "PrivateLinkConfigurationProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "ipConfigurations": { + "type": "array", + "description": "The IP configurations for the private link service.", + "items": { + "$ref": "#/definitions/IPConfiguration" + } + } + }, + "required": [ + "groupId", + "ipConfigurations" + ] + }, + "IPConfiguration": { + "type": "object", + "description": "The ip configurations for the private link service.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The private link IP configuration id." + }, + "name": { + "type": "string", + "description": "The name of private link IP configuration." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the private link IP configuration." + }, + "properties": { + "$ref": "#/definitions/IPConfigurationProperties", + "description": "The private link ip configuration properties.", + "x-ms-client-flatten": true + } + }, + "required": [ + "name" + ] + }, + "IPConfigurationProperties": { + "type": "object", + "description": "The private link ip configuration properties.", + "properties": { + "provisioningState": { + "type": "string", + "description": "The private link configuration provisioning state, which only appears in the response.", + "enum": [ + "InProgress", + "Failed", + "Succeeded", + "Canceled", + "Deleting" + ], + "x-ms-enum": { + "name": "PrivateLinkConfigurationProvisioningState", + "modelAsString": true + }, + "readOnly": true + }, + "primary": { + "type": "boolean", + "description": "Indicates whether this IP configuration is primary for the corresponding NIC." + }, + "privateIPAddress": { + "type": "string", + "description": "The IP address." + }, + "privateIPAllocationMethod": { + "type": "string", + "description": "The method that private IP address is allocated.", + "enum": [ + "dynamic", + "static" + ], + "x-ms-enum": { + "name": "PrivateIPAllocationMethod", + "modelAsString": true + } + }, + "subnet": { + "$ref": "#/definitions/ResourceId", + "description": "The subnet resource id." + } + } + }, + "ResourceId": { + "type": "object", + "description": "The azure resource id.", + "properties": { + "id": { + "type": "string", + "description": "The azure resource id." + } + } + }, + "Resource": { + "type": "object", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + } + }, + "x-ms-azure-resource": true + }, + "ProxyResource": { + "description": "The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The HDInsight client API Version." + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The long running operation id.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/configurations.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/configurations.json index 84632e70..ec0c4c1a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/configurations.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/configurations.json @@ -1,348 +1,250 @@ { - "swagger": "2.0", - "info": { - "title": "HDInsightManagementClient", - "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } - } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/changerdpsetting": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_ChangeRdpSettings", - "description": "Begins changing the RDP settings on the specified cluster.", - "x-ms-examples": { - "Change Remote Desktop settings - Enable": { - "$ref": "../examples/RdpSettingsEnable.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "pattern": "^[0-9a-zA-Z][0-9a-zA-Z-]*[a-zA-Z0-9]$", - "description": "The name of the cluster." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/RDPSettingsParameters" - }, - "description": "The OS profile for RDP." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Ok response definition" - }, - "202": { - "description": "Accepted response definition" - } - }, - "x-ms-long-running-operation": true - } + "swagger": "2.0", + "info": { + "title": "HDInsightManagementClient", + "description": "The HDInsight Management Client.", + "version": "2021-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations": { + "post": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_List", + "description": "Gets all configuration information for an HDI cluster.", + "x-ms-examples": { + "Get all configuration information": { + "$ref": "./examples/HDI_Configurations_List.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}": { - "post": { - "tags": [ - "Configurations" - ], - "operationId": "Configurations_UpdateHTTPSettings", - "description": "Begins configuring the HTTP settings on the specified cluster.", - "x-ms-examples": { - "Enable HTTP connectivity": { - "$ref": "../examples/ChangeHttpConnectivityEnable.json" - }, - "Disable HTTP connectivity": { - "$ref": "../examples/ChangeHttpConnectivityDisable.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "configurationName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant for configuration type of gateway.", - "enum": [ - "gateway" - ], - "x-ms-enum": { - "name": "Configurationname", - "modelAsString": false - } - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/HttpConnectivitySettings" - }, - "description": "The name of the resource group." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "Ok response definition" - }, - "202": { - "description": "Accepted response definition" - }, - "204": { - "description": "No content response definition" - } - }, - "x-ms-long-running-operation": true - }, - "get": { - "tags": [ - "Configurations" - ], - "operationId": "Configurations_Get", - "description": "The configuration object for the specified cluster.", - "x-ms-examples": { - "Get HTTP settings": { - "$ref": "../examples/GetHttpConnectivity.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "configurationName", - "in": "path", - "required": true, - "type": "string", - "description": "The constant for configuration type of gateway.", - "enum": [ - "gateway", - "core-site" - ], - "x-ms-enum": { - "name": "Configurationname", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/HttpConnectivitySettings" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterConfigurations" + } + } } + } }, - "definitions": { - "RdpSettings": { - "description": "The RDP settings for the windows cluster.", - "properties": { - "username": { - "type": "string", - "description": "The username for the RDP user." - }, - "password": { - "type": "string", - "description": "The password for the RDP user." - }, - "expiryDate": { - "type": "string", - "format": "date", - "description": "The RDP expiry date(YYYY-MM-DD)." - } - } - }, - "WindowsOperatingSystemProfile": { - "description": "The Windows operation system settings.", - "properties": { - "rdpSettings": { - "$ref": "#/definitions/RdpSettings", - "description": "The RDP settings." - } - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/configurations/{configurationName}": { + "post": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Update", + "description": "Configures the HTTP settings on the specified cluster. This API is deprecated, please use UpdateGatewaySettings in cluster endpoint instead.", + "deprecated": true, + "x-ms-examples": { + "Enable HTTP connectivity": { + "$ref": "./examples/ChangeHttpConnectivityEnable.json" + }, + "Disable HTTP connectivity": { + "$ref": "./examples/ChangeHttpConnectivityDisable.json" + } }, - "SshPublicKey": { - "description": "The Ssh public key for the cluster nodes.", - "properties": { - "certificateData": { - "type": "string", - "description": "The certificate for SSH." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterConfiguration" + }, + "description": "The cluster configurations." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "Ok response definition" + }, + "202": { + "description": "Accepted response definition" + }, + "204": { + "description": "No content response definition" + } }, - "SshProfile": { - "description": "The list of Ssh public keys.", - "properties": { - "publicKeys": { - "type": "array", - "items": { - "$ref": "#/definitions/SshPublicKey" - }, - "description": "The list of SSH public keys." - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "description": "The configuration object for the specified cluster. This API is not recommended and might be removed in the future. Please consider using List configurations API instead.", + "x-ms-examples": { + "Get Core site settings": { + "$ref": "./examples/HDI_Configurations_Get.json" + } }, - "LinuxOperatingSystemProfile": { - "description": "The ssh username, password, and ssh public key.", - "properties": { - "username": { - "type": "string", - "description": "The username." - }, - "password": { - "type": "string", - "description": "The password." - }, - "sshProfile": { - "$ref": "#/definitions/SshProfile", - "description": "The SSH profile." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } - }, - "OsProfile": { - "description": "The Windows operation systems profile, and configure remote desktop settings.", - "properties": { - "windowsOperatingSystemProfile": { - "$ref": "#/definitions/WindowsOperatingSystemProfile", - "description": "The Windows OS profile." - }, - "linuxOperatingSystemProfile": { - "$ref": "#/definitions/LinuxOperatingSystemProfile", - "description": "The Linux OS profile." - } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ClusterConfiguration" } - }, - "RDPSettingsParameters": { - "properties": { - "osProfile": { - "$ref": "#/definitions/OsProfile", - "description": "The definition of a data factory gateway to be created or updated." - } - }, - "required": [ - "osProfile" - ], - "description": "Parameters specifying the data factory gateway definition for a create or update operation." - }, - "HttpConnectivitySettings": { - "properties": { - "restAuthCredential.isEnabled": { - "x-ms-client-name": "enabledCredential", - "type": "string", - "description": "Describes whether HTTP based authorization is enabled or not." - }, - "restAuthCredential.username": { - "x-ms-client-name": "username", - "type": "string", - "description": "The http username." - }, - "restAuthCredential.password": { - "x-ms-client-name": "password", - "type": "string", - "format": "password", - "description": "The http user password." - } - }, - "description": "The payload for a Configure HTTP settings request." + } } + } + } + }, + "definitions": { + "ClusterConfiguration": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The configuration object for the specified configuration for the specified cluster." }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "ClusterConfigurations": { + "type": "object", + "properties": { + "configurations": { + "description": "The configuration object for the specified configuration for the specified cluster.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ClusterConfiguration" + } } + }, + "description": "The configuration object for the specified cluster." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster configuration.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The HDInsight client API Version." } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/extensions.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/extensions.json index 18d99ff1..abd1f39d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/extensions.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/extensions.json @@ -1,227 +1,683 @@ { - "swagger": "2.0", - "info": { - "title": "HDInsightManagementClient", - "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "swagger": "2.0", + "info": { + "title": "HDInsightManagementClient", + "description": "The HDInsight Management Client.", + "version": "2021-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/clustermonitoring": { + "put": { + "tags": [ + "Extensions" + ], + "description": "Enables the Operations Management Suite (OMS) on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/EnableLinuxClusterMonitoring.json" + } + }, + "operationId": "Extensions_EnableMonitoring", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ClusterMonitoringRequest" + }, + "description": "The Operations Management Suite (OMS) workspace parameters." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "Accepted response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Extensions" + ], + "description": "Gets the status of Operations Management Suite (OMS) on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/GetLinuxClusterMonitoringStatus.json" + } + }, + "operationId": "Extensions_GetMonitoringStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ClusterMonitoringResponse" } + } } + }, + "delete": { + "tags": [ + "Extensions" + ], + "description": "Disables the Operations Management Suite (OMS) on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/DisableLinuxClusterMonitoring.json" + } + }, + "operationId": "Extensions_DisableMonitoring", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "OK response definition." + }, + "204": { + "description": "No Content response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}": { - "put": { - "tags": [ - "Extensions" - ], - "description": "Create HDInsight cluster extension.", - "operationId": "Extension_Create", - "x-ms-examples": { - "Create extensions on Hadoop Linux cluster": { - "$ref": "../examples/CreateExtension.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Extension" - }, - "description": "The cluster extensions create request." - }, - { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster extension.", - "enum": [ - "clustermonitoring" - ], - "x-ms-enum": { - "name": "ExtensionName", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded." - } - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/azureMonitor": { + "put": { + "tags": [ + "Extensions" + ], + "description": "Enables the Azure Monitor on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/EnableLinuxClusterAzureMonitor.json" + } + }, + "operationId": "Extensions_EnableAzureMonitor", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureMonitorRequest" }, - "get": { - "tags": [ - "Extensions" - ], - "description": "Get extension properties for HDInsight cluster extension.", - "operationId": "Extension_Get", - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster extension.", - "enum": [ - "clustermonitoring" - ], - "x-ms-enum": { - "name": "ExtensionName", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/Extension" - } - } - } + "description": "The Log Analytics workspace parameters." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "Accepted response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Extensions" + ], + "description": "Gets the status of Azure Monitor on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/GetLinuxClusterAzureMonitorStatus.json" + } + }, + "operationId": "Extensions_GetAzureMonitorStatus", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AzureMonitorResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions" + ], + "description": "Disables the Azure Monitor on the HDInsight cluster.", + "x-ms-examples": { + "Enable cluster monitoring": { + "$ref": "./examples/DisableLinuxClusterAzureMonitor.json" + } + }, + "operationId": "Extensions_DisableAzureMonitor", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "OK response definition." + }, + "204": { + "description": "No Content response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}": { + "put": { + "tags": [ + "Extensions" + ], + "description": "Creates an HDInsight cluster extension.", + "operationId": "Extensions_Create", + "x-ms-examples": { + "Create a monitoring extension on Hadoop Linux cluster": { + "$ref": "./examples/CreateExtension.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Extension" }, - "delete": { - "tags": [ - "Extensions" - ], - "description": "Delete extension for HDInsight cluster.", - "operationId": "Extension_Delete", - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "extensionName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster extension.", - "enum": [ - "clustermonitoring" - ], - "x-ms-enum": { - "name": "ExtensionName", - "modelAsString": false - } - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition." - } - } + "description": "The cluster extensions create request." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "Accepted response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "Extensions" + ], + "description": "Gets the extension properties for the specified HDInsight cluster extension.", + "x-ms-examples": { + "Get an extension": { + "$ref": "./examples/GetExtension.json" + } + }, + "operationId": "Extensions_Get", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ClusterMonitoringResponse" + } + } + } + }, + "delete": { + "tags": [ + "Extensions" + ], + "description": "Deletes the specified extension for HDInsight cluster.", + "x-ms-examples": { + "Delete an extension": { + "$ref": "./examples/DeleteExtension.json" + } + }, + "operationId": "Extensions_Delete", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "Ok response definition." + }, + "202": { + "description": "Accepted response definition." + }, + "204": { + "description": "No Content response definition." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } + } }, - "definitions": { - "Extension": { - "description": "Cluster monitoring extensions", - "properties": { - "workspaceId": { - "description": "Workspace Id for cluster monitoring extension", - "type": "string" - }, - "primaryKey": { - "description": "Certificate for monitoring extensions", - "type": "string" - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/extensions/{extensionName}/azureAsyncOperations/{operationId}": { + "get": { + "tags": [ + "Extensions" + ], + "description": "Gets the async operation status.", + "operationId": "Extensions_GetAzureAsyncOperationStatus", + "x-ms-examples": { + "Gets the azure async operation status.": { + "$ref": "./examples/GetExtensionCreationAsyncOperationStatus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ExtensionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "./cluster.json#/definitions/AsyncOperationResult" } + } + } + } + } + }, + "definitions": { + "Extension": { + "type": "object", + "description": "Cluster monitoring extensions.", + "properties": { + "workspaceId": { + "description": "The workspace ID for the cluster monitoring extension.", + "type": "string" + }, + "primaryKey": { + "description": "The certificate for the cluster monitoring extensions.", + "type": "string" } + } }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "ClusterMonitoringResponse": { + "type": "object", + "description": "The cluster monitoring status response.", + "properties": { + "clusterMonitoringEnabled": { + "description": "The status of the monitor on the HDInsight cluster.", + "type": "boolean" }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "workspaceId": { + "description": "The workspace ID of the monitor on the HDInsight cluster.", + "type": "string" } + } + }, + "ClusterMonitoringRequest": { + "type": "object", + "description": "The cluster monitor parameters.", + "properties": { + "workspaceId": { + "description": "The cluster monitor workspace ID.", + "type": "string" + }, + "primaryKey": { + "description": "The cluster monitor workspace key.", + "type": "string" + } + } + }, + "AzureMonitorRequest": { + "type": "object", + "description": "The azure monitor parameters.", + "properties": { + "workspaceId": { + "description": "The Log Analytics workspace ID.", + "type": "string" + }, + "primaryKey": { + "description": "The Log Analytics workspace key.", + "type": "string" + }, + "selectedConfigurations": { + "description": "The selected configurations.", + "$ref": "#/definitions/AzureMonitorSelectedConfigurations" + } + } + }, + "AzureMonitorResponse": { + "type": "object", + "description": "The azure monitor status response.", + "properties": { + "clusterMonitoringEnabled": { + "description": "The status of the monitor on the HDInsight cluster.", + "type": "boolean" + }, + "workspaceId": { + "description": "The workspace ID of the monitor on the HDInsight cluster.", + "type": "string" + }, + "selectedConfigurations": { + "description": "The selected configurations.", + "$ref": "#/definitions/AzureMonitorSelectedConfigurations" + } + } + }, + "AzureMonitorSelectedConfigurations": { + "type": "object", + "description": "The selected configurations for azure monitor.", + "properties": { + "configurationVersion": { + "description": "The configuration version.", + "type": "string" + }, + "globalConfigurations": { + "description": "The global configurations of selected configurations.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "tableList": { + "description": "The table list.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureMonitorTableConfiguration" + } + } + } + }, + "AzureMonitorTableConfiguration": { + "type": "object", + "description": "The table configuration for the Log Analytics integration.", + "properties": { + "name": { + "description": "The name.", + "type": "string" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + }, + "ExtensionNameParameter": { + "name": "extensionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster extension.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The HDInsight client API Version." + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The long running operation id.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/operations.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/operations.json index c5d80200..1389ad3c 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/operations.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/operations.json @@ -3,7 +3,7 @@ "info": { "title": "HDInsightManagementClient", "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -15,11 +15,13 @@ "produces": [ "application/json" ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], "securityDefinitions": { "azure_auth": { "type": "oauth2", @@ -39,10 +41,18 @@ ], "description": "Lists all of the available HDInsight REST API operations.", "operationId": "Operations_List", - "parameters": [{ - "$ref": "#/parameters/ApiVersionParameter" - }], + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, "200": { "description": "OK. The request has succeeded.", "schema": { @@ -58,33 +68,176 @@ }, "definitions": { "Operation": { - "description": "HDInsight REST API operation", + "description": "The HDInsight REST API operation.", "type": "object", "properties": { "name": { - "description": "Operation name: {provider}/{resource}/{operation}", + "description": "The operation name: {provider}/{resource}/{operation}", "type": "string" }, "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.HDInsight", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed: Profile, endpoint, etc.", - "type": "string" - }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string" - } + "description": "The display of operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "properties": { + "description": "The operation properties.", + "$ref": "#/definitions/OperationProperties" + } + }, + "readOnly": true + }, + "OperationDisplay": { + "type": "object", + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "The service provider: Microsoft.HDInsight", + "type": "string" + }, + "resource": { + "description": "The resource on which the operation is performed: Cluster, Applications, etc.", + "type": "string" + }, + "operation": { + "description": "The operation type: read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "The details of operation.", + "type": "object", + "properties": { + "serviceSpecification": { + "description": "The specification of the service.", + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecification": { + "description": "The specification of the service.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "The metric specifications.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecifications" } } } }, + "MetricSpecifications": { + "description": "The details of metric specifications.", + "type": "object", + "properties": { + "name": { + "description": "The name of the metric specification.", + "type": "string" + }, + "displayName": { + "description": "The display name of the metric specification.", + "type": "string" + }, + "displayDescription": { + "description": "The display description of the metric specification.", + "type": "string" + }, + "unit": { + "description": "The unit of the metric specification.", + "type": "string" + }, + "aggregationType": { + "description": "The aggregation type of the metric specification.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "The supported aggregation types of the metric specification.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "description": "The supported time grain types of the metric specification.", + "type": "array", + "items": { + "type": "string" + } + }, + "enableRegionalMdmAccount": { + "description": "The flag indicates whether enable regional mdm account or not.", + "type": "boolean" + }, + "sourceMdmAccount": { + "description": "The source mdm account.", + "type": "string" + }, + "sourceMdmNamespace": { + "description": "The source mdm namespace.", + "type": "string" + }, + "metricFilterPattern": { + "description": "The metric filter pattern.", + "type": "string" + }, + "fillGapWithZero": { + "description": "The flag indicates whether filling gap with zero.", + "type": "boolean" + }, + "category": { + "description": "The category of the metric.", + "type": "string" + }, + "resourceIdDimensionNameOverride": { + "description": "The override name of resource id dimension name.", + "type": "string" + }, + "isInternal": { + "description": "The flag indicates whether the metric is internal or not.", + "type": "boolean" + }, + "delegateMetricNameOverride": { + "description": "The override name of delegate metric.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metric specification.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + } + } + }, + "Dimension": { + "description": "The definition of Dimension.", + "type": "object", + "properties": { + "name": { + "description": "The name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "The display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "The display name of the dimension.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "The flag indicates whether the metric will be exported for shoebox or not.", + "type": "boolean" + } + } + }, "OperationListResult": { + "type": "object", "description": "Result of the request to list HDInsight operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { @@ -92,29 +245,37 @@ "items": { "$ref": "#/definitions/Operation" }, - "description": "List of HDInsight operations supported by the HDInsight resource provider." + "description": "The list of HDInsight operations supported by the HDInsight resource provider." }, "nextLink": { "type": "string", - "description": "URL to get the next set of operation list results if there are any." + "description": "The URL to get the next set of operation list results if there are any." + } + }, + "readOnly": true + }, + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" } } } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "Client Api Version." + "description": "The HDInsight client API Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.HDInsight/scriptActions.json b/App_Data/SwaggerSpecs/Microsoft.HDInsight/scriptActions.json index 75ccb13a..8c265ec8 100644 --- a/App_Data/SwaggerSpecs/Microsoft.HDInsight/scriptActions.json +++ b/App_Data/SwaggerSpecs/Microsoft.HDInsight/scriptActions.json @@ -1,437 +1,511 @@ { - "swagger": "2.0", - "info": { - "title": "HDInsightManagementClient", - "description": "The HDInsight Management Client.", - "version": "2015-03-01-preview" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [{ - "azure_auth": [ - "user_impersonation" - ] - }], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "swagger": "2.0", + "info": { + "title": "HDInsightManagementClient", + "description": "The HDInsight Management Client.", + "version": "2021-06-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}": { + "delete": { + "tags": [ + "ScriptActions" + ], + "operationId": "ScriptActions_Delete", + "description": "Deletes a specified persisted script action of the cluster.", + "x-ms-examples": { + "Delete a script action on HDInsight cluster": { + "$ref": "./examples/DeleteScriptAction.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + }, + "204": { + "description": "No Content response definition." + } } + } }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions/{scriptName}": { - "delete": { - "tags": [ - "ScriptActions" - ], - "operationId": "ScriptActions_Delete", - "description": "Deletes a given persisted script action of the cluster.", - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "scriptName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the script." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition." - } - } - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions": { + "post": { + "tags": [ + "Clusters" + ], + "operationId": "Clusters_ExecuteScriptActions", + "description": "Executes script actions on the specified HDInsight cluster.", + "x-ms-examples": { + "Execute script action on HDInsight cluster": { + "$ref": "./examples/PostExecuteScriptAction.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions": { - "post": { - "tags": [ - "Clusters" - ], - "operationId": "Clusters_ExecuteScriptActions", - "description": "Begins executing script actions on the specified HDInsight cluster.", - "x-ms-examples": { - "Execute script action on HDInsight cluster": { - "$ref": "../examples/PostExecuteScriptAction.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "./cluster.json#/definitions/ExecuteScriptActionParameters" - }, - "description": "The parameters for executing script actions." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "OK response definition." - }, - "200": { - "description": "Accepted response definition." - } - }, - "x-ms-long-running-operation": true + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./cluster.json#/definitions/ExecuteScriptActionParameters" + }, + "description": "The parameters for executing script actions." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "202": { + "description": "OK response definition." + }, + "200": { + "description": "Accepted response definition." + }, + "404": { + "description": "Bad Request definition.", + "x-ms-error-response": true + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions": { - "get": { - "tags": [ - "ScriptActions" - ], - "operationId": "ScriptActions_List", - "description": "Lists all persisted script actions for the given cluster.", - "x-ms-examples": { - "List all persisted script actions for the given cluster": { - "$ref": "../examples/GetLinuxHadoopScriptAction.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/ScriptActionsList" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptActions": { + "get": { + "tags": [ + "ScriptActions" + ], + "operationId": "ScriptActions_ListByCluster", + "description": "Lists all the persisted script actions for the specified cluster.", + "x-ms-examples": { + "List all persisted script actions for the given cluster": { + "$ref": "./examples/GetLinuxHadoopScriptAction.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}": { - "get": { - "tags": [ - "ScriptExecutionHistory" - ], - "operationId": "ScriptExecutionHistory_Get", - "description": "Gets the script execution detail for the given script execution id.", - "x-ms-examples": { - "Get script execution history by script id": { - "$ref": "../examples/GetScriptActionById.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "scriptExecutionId", - "in": "path", - "required": true, - "type": "string", - "description": "The script execution Id" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" - } - } - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory": { - "get": { - "tags": [ - "ScriptExecutionHistory" - ], - "operationId": "ScriptExecutionHistory_List", - "description": "Lists all scripts execution history for the given cluster.", - "x-ms-examples": { - "Get Script Execution History List": { - "$ref": "../examples/GetScriptExecutionHistory.json" - } - }, - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition.", - "schema": { - "$ref": "#/definitions/ScriptActionExecutionHistoryList" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ScriptActionsList" } + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote": { - "post": { - "tags": [ - "ScriptExecutionHistory_Promote" - ], - "operationId": "ScriptExecutionHistory_Promote", - "description": "Promote ad-hoc script execution to a persisted script.", - "parameters": [{ - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group." - }, - { - "name": "clusterName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the cluster." - }, - { - "name": "scriptExecutionId", - "in": "path", - "required": true, - "type": "integer", - "format": "int64", - "description": "The script execution Id" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK response definition." - } - } + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}": { + "get": { + "tags": [ + "ScriptExecutionHistory" + ], + "operationId": "ScriptActions_GetExecutionDetail", + "description": "Gets the script execution detail for the given script execution ID.", + "x-ms-examples": { + "Get script execution history by script id": { + "$ref": "./examples/GetScriptActionById.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ScriptExecutionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" } + } } + } }, - "definitions": { - "ScriptActionExecutionHistoryList": { - "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" - }, - "description": "The list of persisted script action details for the cluster." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } - }, - "description": "The ListScriptExecutionHistory response." + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory": { + "get": { + "tags": [ + "ScriptExecutionHistory" + ], + "operationId": "ScriptExecutionHistory_ListByCluster", + "description": "Lists all scripts' execution history for the specified cluster.", + "x-ms-examples": { + "Get Script Execution History List": { + "$ref": "./examples/GetScriptExecutionHistory.json" + } }, - "ClusterListRuntimeScriptActionDetailResult": { - "description": "The ListScriptExecutionHistory response.", - "properties": { - "value": { - "description": "The list of persisted script action details for the cluster.", - "readOnly": true, - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" - } - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "#/definitions/ScriptActionExecutionHistoryList" } + } }, - "ScriptAction": { - "properties": { - "name": { - "type": "string", - "description": "The name of the script action." - }, - "uri": { - "type": "string", - "description": "The URI to the script." - }, - "parameters": { - "type": "string", - "description": "The parameters for the script provided." - } - }, - "required": [ - "name", - "uri", - "parameters" - ], - "description": "Describes a script action on role on the cluster." + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/scriptExecutionHistory/{scriptExecutionId}/promote": { + "post": { + "tags": [ + "Promote" + ], + "operationId": "ScriptExecutionHistory_Promote", + "description": "Promotes the specified ad-hoc script execution to a persisted script.", + "x-ms-examples": { + "Promote a script action on HDInsight cluster": { + "$ref": "./examples/PromoteLinuxHadoopScriptAction.json" + } }, - "ScriptActionPersistedGetResponseSpec": { - "description": "The persisted script action for cluster", - "properties": { - "name": { - "type": "string", - "description": "The name of script action." - }, - "uri": { - "type": "string", - "description": "The URI to the script." - }, - "parameters": { - "type": "string", - "description": "The parameters for the script provided." - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of roles where script will be executed." - }, - "applicationName": { - "type": "string", - "description": "The application name for the script action." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ScriptExecutionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" } + }, + "200": { + "description": "OK response definition." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/executeScriptActions/azureasyncoperations/{operationId}": { + "get": { + "tags": [ + "ScriptActions" + ], + "operationId": "ScriptActions_GetExecutionAsyncOperationStatus", + "description": "Gets the async operation status of execution operation.", + "x-ms-examples": { + "Gets the async execution operation status.": { + "$ref": "./examples/GetScriptExecutionAsyncOperationStatus.json" + } }, - "ScriptActionsList": { - "description": "All persisted script action for the cluster.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" - }, - "description": "The list of persisted script action details for the cluster." - }, - "nextLink": { - "type": "string", - "readOnly": true, - "description": "The link (url) to the next page of results." - } + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./operations.json#/definitions/ErrorResponse" + } + }, + "200": { + "description": "OK response definition.", + "schema": { + "$ref": "./cluster.json#/definitions/AsyncOperationResult" } + } } + } + } + }, + "definitions": { + "ScriptActionExecutionHistoryList": { + "type": "object", + "description": "The list script execution history response.", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" + }, + "description": "The list of persisted script action details for the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." + } + } }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "ScriptAction": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the script action." }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "uri": { + "type": "string", + "description": "The URI to the script." + }, + "parameters": { + "type": "string", + "description": "The parameters for the script provided." + } + }, + "required": [ + "name", + "uri", + "parameters" + ], + "description": "Describes a script action on role on the cluster." + }, + "ScriptActionPersistedGetResponseSpec": { + "type": "object", + "description": "The persisted script action for cluster.", + "properties": { + "name": { + "type": "string", + "description": "The name of script action." + }, + "uri": { + "type": "string", + "description": "The URI to the script." + }, + "parameters": { + "type": "string", + "description": "The parameters for the script provided." + }, + "roles": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of roles where script will be executed." + }, + "applicationName": { + "type": "string", + "description": "The application name for the script action." + } + } + }, + "ScriptActionsList": { + "type": "object", + "description": "The persisted script action for the cluster.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "./cluster.json#/definitions/RuntimeScriptActionDetail" + }, + "description": "The list of persisted script action details for the cluster." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The link (url) to the next page of results." } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "The subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ClusterNameParameter": { + "name": "clusterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the cluster.", + "x-ms-parameter-location": "method" + }, + "ScriptNameParameter": { + "name": "scriptName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the script.", + "x-ms-parameter-location": "method" + }, + "ScriptExecutionIdParameter": { + "name": "scriptExecutionId", + "in": "path", + "required": true, + "type": "string", + "description": "The script execution Id", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The HDInsight client API Version." + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The long running operation id.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ImportExport/storageimportexport.json b/App_Data/SwaggerSpecs/Microsoft.ImportExport/storageimportexport.json index d015c1db..61fa4630 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ImportExport/storageimportexport.json +++ b/App_Data/SwaggerSpecs/Microsoft.ImportExport/storageimportexport.json @@ -2,8 +2,8 @@ "swagger": "2.0", "info": { "title": "StorageImportExport", - "description": "The Microsoft Azure Storage Import/Export Resource Provider API.", - "version": "2016-11-01" + "description": "The Storage Import/Export Resource Provider API.", + "version": "2020-08-01" }, "host": "management.azure.com", "schemes": [ @@ -25,7 +25,7 @@ "securityDefinitions": { "azure_auth": { "type": "oauth2", - "authorizationUrl": "https://login.windows-ppe.net/common/oauth2/authorize", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "flow": "implicit", "description": "Azure Active Directory OAuth2 Flow", "scopes": { @@ -39,8 +39,16 @@ "tags": [ "StorageImportExport" ], - "operationId": "ListLocations", + "operationId": "Locations_List", "description": "Returns a list of locations to which you can ship the disks associated with an import or export job. A location is a Microsoft data center region.", + "x-ms-examples": { + "List locations": { + "$ref": "examples/ListLocations.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -51,17 +59,20 @@ ], "responses": { "200": { - "description": "The locations were successfully retrieved and are in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/LocationsListResult" + "$ref": "#/definitions/LocationsResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, @@ -70,13 +81,21 @@ "tags": [ "StorageImportExport" ], - "operationId": "GetLocation", - "description": "Gets a location to which you can ship the disks associated with an import or export job. A location is an Azure region.", + "operationId": "Locations_Get", + "description": "Returns the details about a location to which you can ship the disks associated with an import or export job. A location is an Azure region.", + "x-ms-examples": { + "Get locations": { + "$ref": "examples/GetLocation.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ { "name": "locationName", "in": "path", - "description": "The name of the location. For example, 'West US' or 'westus'.", + "description": "The name of the location. For example, West US or westus.", "required": true, "type": "string" }, @@ -89,13 +108,13 @@ ], "responses": { "200": { - "description": "The location was successfully retrieved and is in the response.", + "description": "OK", "schema": { "$ref": "#/definitions/Location" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -108,44 +127,51 @@ "tags": [ "StorageImportExport" ], - "operationId": "Jobs_List", - "description": "Gets all the active and completed import/export jobs in a subscription.", + "operationId": "Jobs_ListBySubscription", + "description": "Returns all active and completed jobs in a subscription.", + "x-ms-examples": { + "List jobs in a subscription": { + "$ref": "examples/ListJobsInSubscription.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/Accept-Language" - }, { "name": "$top", "in": "query", "description": "An integer value that specifies how many jobs at most should be returned. The value cannot exceed 100.", "required": false, "type": "integer", - "maximum": 100, - "minimum": 1 + "format": "int32" }, { "name": "$filter", "in": "query", - "description": "Can be used to restrict the results to certain conditions. The following possible values can be used with $filter: 1) $filter=type eq '{type}'; 2) $filter=trackingnumber eq '{trackingnumber}'; 3) $filter=state eq '{state}'; 4) Logical and combination of the above, for example: $filter=type eq 'Import' and state eq 'Transferring'. Valid values for type are Import and Export. Valid values for state are Creating, Shipping, Received, Transferring, Packaging, Closed, and Completed.", + "description": "Can be used to restrict the results to certain conditions.", "required": false, "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { - "description": "The jobs were successfully retrieved and are in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/JobListResult" + "$ref": "#/definitions/ListJobsResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -162,46 +188,53 @@ "StorageImportExport" ], "operationId": "Jobs_ListByResourceGroup", - "description": "Returns all active and completed import/export jobs in a resource group.", + "description": "Returns all active and completed jobs in a resource group.", + "x-ms-examples": { + "List jobs in a resource group": { + "$ref": "examples/ListJobsInResourceGroup.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/Accept-Language" - }, { "name": "$top", "in": "query", "description": "An integer value that specifies how many jobs at most should be returned. The value cannot exceed 100.", "required": false, "type": "integer", - "maximum": 100, - "minimum": 1 + "format": "int32" }, { "name": "$filter", "in": "query", - "description": "Can be used to restrict the results to certain conditions. The following possible values can be used with $filter: 1) $filter=type eq '{type}'; 2) $filter=trackingnumber eq '{trackingnumber}'; 3) $filter=state eq '{state}'; 4) Logical and combination of the above, for example: $filter=type eq 'Import' and state eq 'Transferring'. Valid values for type are Import and Export. Valid values for state are Creating, Shipping, Received, Transferring, Packaging, Closed, and Completed.", + "description": "Can be used to restrict the results to certain conditions.", "required": false, "type": "string" + }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/Accept-Language" } ], "responses": { "200": { - "description": "The jobs were successfully retrieved and are in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/JobListResult" + "$ref": "#/definitions/ListJobsResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -218,14 +251,19 @@ "StorageImportExport" ], "operationId": "Jobs_Get", - "description": "Gets information about an existing import/export job.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" + "description": "Gets information about an existing job.", + "x-ms-examples": { + "Get import job": { + "$ref": "examples/GetJob.json" }, + "Get export job": { + "$ref": "examples/GetExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ { "name": "jobName", "in": "path", @@ -233,6 +271,12 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, { "$ref": "#/parameters/api-version" }, @@ -242,13 +286,13 @@ ], "responses": { "200": { - "description": "The job was successfully retrieved and is in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/JobResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -260,14 +304,19 @@ "StorageImportExport" ], "operationId": "Jobs_Update", - "description": "Updates specific properties of the import/export job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" + "description": "Updates specific properties of a job. You can call this operation to notify the Import/Export service that the hard drives comprising the import or export job have been shipped to the Microsoft data center. It can also be used to cancel an existing job.", + "x-ms-examples": { + "Update import job": { + "$ref": "examples/UpdateJob.json" }, + "Update export job": { + "$ref": "examples/UpdateExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ { "name": "jobName", "in": "path", @@ -276,30 +325,36 @@ "type": "string" }, { - "name": "jobProperties", - "description": "Import/export job properties that need to be updated.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MutableJob" - } + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/api-version" }, { "$ref": "#/parameters/Accept-Language" + }, + { + "name": "body", + "in": "body", + "required": true, + "description": "The parameters to update in the job", + "schema": { + "$ref": "#/definitions/UpdateJobParameters" + } } ], "responses": { "200": { - "description": "The job was successfully updated.", + "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/JobResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -310,15 +365,20 @@ "tags": [ "StorageImportExport" ], - "operationId": "Jobs_CreateOrUpdate", - "description": "Creates a new import/export job or updates an existing import/export job in the specified subscription.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" + "operationId": "Jobs_Create", + "description": "Creates a new job or updates an existing job in the specified subscription.", + "x-ms-examples": { + "Create import job": { + "$ref": "examples/CreateJob.json" }, + "Create export job": { + "$ref": "examples/CreateExportJob.json" + } + }, + "externalDocs": { + "url": "" + }, + "parameters": [ { "name": "jobName", "in": "path", @@ -327,36 +387,45 @@ "type": "string" }, { - "name": "jobProperties", - "description": "Properties of the import/export job that need to be specified during creation.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Job" - } + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" }, { "$ref": "#/parameters/api-version" }, { "$ref": "#/parameters/Accept-Language" + }, + { + "$ref": "#/parameters/x-ms-client-tenant-id" + }, + { + "name": "body", + "in": "body", + "description": "The parameters used for creating the job", + "required": true, + "schema": { + "$ref": "#/definitions/PutJobParameters" + } } ], "responses": { "200": { - "description": "The job was successfully updated.", + "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/JobResponse" } }, "201": { - "description": "The job was successfully created.", + "description": "Created", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/JobResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -368,14 +437,16 @@ "StorageImportExport" ], "operationId": "Jobs_Delete", - "description": "Deletes an existing import/export job. Only import/export jobs in the Creating or Completed states can be deleted.", + "description": "Deletes an existing job. Only jobs in the Creating or Completed states can be deleted.", + "x-ms-examples": { + "Delete job": { + "$ref": "examples/DeleteJob.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, { "name": "jobName", "in": "path", @@ -383,49 +454,12 @@ "required": true, "type": "string" }, - { - "$ref": "#/parameters/api-version" - }, - { - "$ref": "#/parameters/Accept-Language" - } - ], - "responses": { - "200": { - "description": "The job was successfully deleted." - }, - "default": { - "description": "An error occurred during the operation.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/moveResources": { - "post": { - "tags": [ - "StorageImportExport" - ], - "operationId": "Jobs_Move", - "description": "Moves the specified import/export jobs from the resource group to a target resource group. The target resource group may be in a different subscription.", - "parameters": [ { "$ref": "#/parameters/subscriptionId" }, { "$ref": "#/parameters/resourceGroupName" }, - { - "name": "MoveJobsParameters", - "description": "Parameters to be provided to move a job from one resource group to another.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/MoveJobParameters" - } - }, { "$ref": "#/parameters/api-version" }, @@ -435,10 +469,10 @@ ], "responses": { "200": { - "description": "The job was successfully moved to the specified resource group." + "description": "OK" }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -447,19 +481,21 @@ } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ImportExport/jobs/{jobName}/listBitLockerKeys": { - "get": { + "post": { "tags": [ "StorageImportExport" ], - "operationId": "Jobs_ListBitLockerKeys", - "description": "Lists the BitLocker keys for all drives in the specified import/export job.", + "operationId": "BitLockerKeys_List", + "description": "Returns the BitLocker Keys for all drives in the specified job.", + "x-ms-examples": { + "List BitLocker Keys for drives in a job": { + "$ref": "examples/ListBitLockerKeys.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "$ref": "#/parameters/resourceGroupName" - }, { "name": "jobName", "in": "path", @@ -467,6 +503,12 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, { "$ref": "#/parameters/api-version" }, @@ -476,17 +518,20 @@ ], "responses": { "200": { - "description": "The BitLocker keys were successfully retrieved and are in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/BitLockerKeysListResult" + "$ref": "#/definitions/GetBitLockerKeysResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, @@ -495,8 +540,16 @@ "tags": [ "StorageImportExport" ], - "operationId": "ListSupportedOperations", + "operationId": "Operations_List", "description": "Returns the list of operations supported by the import/export resource provider.", + "x-ms-examples": { + "List available operations": { + "$ref": "examples/ListOperations.json" + } + }, + "externalDocs": { + "url": "" + }, "parameters": [ { "$ref": "#/parameters/api-version" @@ -507,271 +560,119 @@ ], "responses": { "200": { - "description": "The supported operations were successfully retrieved and are in the response.", + "description": "OK", "schema": { - "$ref": "#/definitions/SupportedOperationsListResult" + "$ref": "#/definitions/ListOperationsResponse" } }, "default": { - "description": "An error occurred during the operation.", + "description": "An error occurs.", "schema": { "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } } }, "definitions": { - "Resource":{ - "description": "The Resource model definition.", - "required": [ - "location" - ], - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Specifies the resource identifier of the job." - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Specifies the name of the job." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Specifies the type of the job resource." - }, - "location": { - "type": "string", - "description": "Specifies the Azure location where the job is created." - }, - "tags": { - "type": "object", - "description": "Specifies the tags that are assigned to the job." - } - } - }, - "SupportedOperationsListResult": { - "description": "List of supported operations by the import/export resource provider.", - "properties": { - "value": { - "description": "List of supported operations by the import/export resource provider.", - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - } - } - } - }, - "BitLockerKeysListResult": { - "description": "List of BitLocker keys for the specified import/export job.", + "ErrorResponse": { + "description": "Response when errors occurred", "properties": { - "value": { - "description": "List of BitLocker keys for the specified import/export job.", - "type": "array", - "items": { - "$ref": "#/definitions/DriveStatus" + "error": { + "x-ms-client-flatten": true, + "description": "Describes the error information.", + "properties": { + "code": { + "type": "string", + "description": "Provides information about the error code." + }, + "message": { + "type": "string", + "description": "Provides information about the error message." + }, + "target": { + "type": "string", + "description": "Provides information about the error target." + }, + "details": { + "type": "array", + "description": "Describes the error details if present.", + "items": { + "properties": { + "code": { + "type": "string", + "description": "Provides information about the error code." + }, + "target": { + "type": "string", + "description": "Provides information about the error target." + }, + "message": { + "type": "string", + "description": "Provides information about the error message." + } + } + } + }, + "innererror": { + "type": "object", + "description": "Inner error object if present." + } } } } }, - "MoveJobParameters": { - "description": "Defines the parameters that need to be provided for moving an import/export job from one reesource group to another.", - "required": [ - "targetResourceGroup", - "resources" - ], + "PutJobParameters": { + "description": "Put Job parameters", "properties": { - "targetResourceGroup": { + "location": { "type": "string", - "description": "Specifies the target resource group ID to move the jobs to." + "description": "Specifies the supported Azure location where the job should be created" }, - "resources": { - "type": "array", - "description": "Specifies the list of jobs to move to the target resource group. The jobs must be from the current resource group from the request URL.", - "items": { - "type": "string" - } - } - } - }, - "LocationsListResult": { - "description": "List of locations.", - "required": [ - "value" - ], - "properties": { - "value": { - "description": "List of locations.", - "type": "array", - "items": { - "$ref": "#/definitions/Location" - } + "tags": { + "type": "object", + "description": "Specifies the tags that will be assigned to the job." + }, + "properties": { + "$ref": "#/definitions/JobDetails", + "description": "Specifies the job properties" } } }, - "ErrorBase": { - "description": "Describes the common properties of the Error object", - "properties": { - "code": { - "description": "Provides information about the error code.", - "type": "string" - }, - "message": { - "description": "Provides information about the error message.", - "type": "string" - }, - "target": { - "description": "Provides information about the error target.", - "type": "string" - } - } - }, - "ErrorInfo": { - "description": "Describes the error information.", - "properties": { - "details": { - "description": "Describes the error details if present.", - "type": "array", - "items": { - "$ref": "#/definitions/ErrorBase" - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/ErrorBase" - } - ] - }, - "ErrorResponse": { - "description": "Describes the model for Error Response.", - "properties": { - "error": { - "description": "Describes the error information", - "$ref": "#/definitions/ErrorInfo" - } - } - }, - "MutableJobProperties":{ - "description": "Properties of the job that can be updated.", - "properties": { - "cancelRequested": { - "type": "boolean", - "description": "If specified, the value must be true. The service will attempt to cancel the job." - }, - "state": { - "type": "string", - "description": "If specified, the value must be Shipping, which tells the Import/Export service that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties must have been set either in this request or in a previous request, otherwise the request will fail.", - "enum": [ "Shipping" ], - "x-ms-enum": { - "name": "MutableJobState", - "modelAsString": true - } - }, - "returnAddress": { - "description": "Specifies the return address information for the job.", - "$ref": "#/definitions/ReturnAddress" - }, - "returnShipping": { - "description": "Specifies the return carrier and customer's account with the carrier.", - "$ref": "#/definitions/ReturnShipping" - }, - "deliveryPackage": { - "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", - "$ref": "#/definitions/PackageInfomation" - }, - "logLevel": { - "type": "string", - "description": "Indicates whether error logging or verbose logging is enabled." - }, - "backupDriveManifest": { - "type": "boolean", - "description": "Indicates whether the manifest files on the drives should be copied to block blobs." - } - } - }, - "MutableJob": { - "description": "Describes the updatable properties of the job", - "properties": { - "tags": { - "type": "object" - }, - "properties": { - "description": "Specifies the properties of an UpdateJob.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/MutableJobProperties" - } - } - }, - "JobListResult": { - "description": "List of import/export jobs.", - "required": [ - "value" - ], - "properties": { - "nextLink": { - "type": "string" - }, - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Job" - } - } - } - }, - "JobProperties": { - "description": "Import/export job specific properties.", - "required": [ - "storageAccountId", - "jobType", - "returnAddress", - "returnShipping", - "diagnosticsPath" - ], + "JobDetails": { + "description": "Specifies the job properties", "properties": { "storageAccountId": { "type": "string", "description": "The resource identifier of the storage account where data will be imported to or exported from." }, - "containerSas": { - "type": "string", - "description": "The container shared access signature (SAS) to be used to import or export data to or from the storage account." - }, "jobType": { "type": "string", - "description": "The type of job: Import or Export.", - "enum": [ "Import", "Export" ], - "x-ms-enum": { - "name": "JobType", - "modelAsString": false - } + "description": "The type of job" }, "returnAddress": { - "description": "Specifies the return address information for the job.", + "description": "Specifies the return address information for the job. ", "$ref": "#/definitions/ReturnAddress" }, "returnShipping": { - "description": "Specifies the return carrier and customer's account with the carrier.", + "description": "Specifies the return carrier and customer's account with the carrier. ", "$ref": "#/definitions/ReturnShipping" }, "shippingInformation": { - "readOnly": true, - "description": "Contains information about the Microsoft datacenter to which the drives should be shipped.", + "description": "Contains information about the Microsoft datacenter to which the drives should be shipped. ", "$ref": "#/definitions/ShippingInformation" }, "deliveryPackage": { - "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", - "$ref": "#/definitions/PackageInfomation" + "description": "Contains information about the package being shipped by the customer to the Microsoft data center. ", + "$ref": "#/definitions/DeliveryPackageInformation" }, "returnPackage": { - "readOnly": true, - "description": "Contains information about the package being shipped from the Microsoft data center to the customer to return the drives. The format is the same as the deliveryPackage property above. This property is not included if the drives have not yet been returned.", - "$ref": "#/definitions/PackageInfomation" + "description": "Contains information about the package being shipped from the Microsoft data center to the customer to return the drives. The format is the same as the deliveryPackage property above. This property is not included if the drives have not yet been returned. ", + "$ref": "#/definitions/PackageInformation" }, "diagnosticsPath": { "type": "string", @@ -779,13 +680,7 @@ }, "logLevel": { "type": "string", - "description": "Default value is Error. Indicates whether error logging or verbose logging will be enabled.", - "default": "Error", - "enum": [ "Error", "Verbose" ], - "x-ms-enum": { - "name": "LogLevel", - "modelAsString": true - } + "description": "Default value is Error. Indicates whether error logging or verbose logging will be enabled." }, "backupDriveManifest": { "type": "boolean", @@ -794,25 +689,20 @@ }, "state": { "type": "string", - "readOnly": true, "description": "Current state of the job.", - "enum": [ "Creating", "Shipping", "Received", "Transferring", "Packaging", "Closed", "Completed" ], - "x-ms-enum": { - "name": "JobState", - "modelAsString": true - } + "default": "Creating" }, "cancelRequested": { "type": "boolean", - "description": "Indicates whether a request has been submitted to cancel the job." + "description": "Indicates whether a request has been submitted to cancel the job.", + "default": false }, "percentComplete": { - "readOnly": true, "type": "integer", + "format": "int32", "description": "Overall percentage completed for the job." }, "incompleteBlobListUri": { - "readOnly": true, "type": "string", "description": "A blob path that points to a block blob containing a list of blob names that were not exported due to insufficient drive space. If all blobs were exported successfully, then this element is not included in the response." }, @@ -821,9 +711,7 @@ "type": "array", "items": { "$ref": "#/definitions/DriveStatus" - }, - "minItems": 0, - "maxItems": 10 + } }, "export": { "description": "A property containing information about the blobs to be exported for an export job. This property is included for export jobs only.", @@ -831,112 +719,210 @@ }, "provisioningState": { "type": "string", - "readOnly": true, "description": "Specifies the provisioning state of the job." + }, + "encryptionKey": { + "description": "Contains information about the encryption key.", + "$ref": "#/definitions/EncryptionKeyDetails" } } }, - "Job": { - "description": "Describes an import/export job.", - "required": [ - "properties" - ], - "properties": { - "properties": { - "description": "Import/export job properties.", - "$ref": "#/definitions/JobProperties", - "x-ms-client-flatten": true - } - }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "OperationDisplayInformation": { - "description": "Display information about the operation.", + "EncryptionKeyDetails": { + "description": "Specifies the encryption key properties", "properties": { - "provider": { - "description": "The resource provider name to which the operation belongs.", - "type": "string" + "kekType": { + "type": "string", + "description": "The type of kek encryption key", + "default": "MicrosoftManaged", + "enum": [ + "MicrosoftManaged", + "CustomerManaged" + ], + "x-ms-enum": { + "name": "EncryptionKekType", + "modelAsString": true + } }, - "resource": { - "description": "The name of the resource to which the operation belongs.", + "kekUrl": { + "description": "Specifies the url for kek encryption key. ", "type": "string" }, - "operation": { - "description": "The display name of the operation.", + "kekVaultResourceID": { + "description": "Specifies the keyvault resource id for kek encryption key. ", "type": "string" + } + } + }, + "IdentityDetails": { + "description": "Specifies the identity properties. ", + "properties": { + "type": { + "type": "string", + "description": "The type of identity", + "default": "None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } }, - "description": { - "description": "Short description of the operation.", - "type": "string" + "principalId": { + "description": "Specifies the principal id for the identity for the job. ", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Specifies the tenant id for the identity for the job. ", + "type": "string", + "readOnly": true } } }, - "Operation": { - "description": "Describes a supported operation by the Storage Import/Export job API.", - "required": ["name", "display"], + "UpdateJobParameters": { + "description": "Update Job parameters", "properties": { - "name": { - "description": "Name of the operation.", - "type": "string" + "tags": { + "type": "object", + "description": "Specifies the tags that will be assigned to the job" }, - "display": { - "description": "Display information about the operation.", - "$ref": "#/definitions/OperationDisplayInformation", - "x-ms-client-flatten": true + "properties": { + "x-ms-client-flatten": true, + "properties": { + "cancelRequested": { + "type": "boolean", + "description": "If specified, the value must be true. The service will attempt to cancel the job. ", + "default": false + }, + "state": { + "type": "string", + "description": "If specified, the value must be Shipping, which tells the Import/Export service that the package for the job has been shipped. The ReturnAddress and DeliveryPackage properties must have been set either in this request or in a previous request, otherwise the request will fail. " + }, + "returnAddress": { + "description": "Specifies the return address information for the job.", + "$ref": "#/definitions/ReturnAddress" + }, + "returnShipping": { + "description": "Specifies the return carrier and customer's account with the carrier.", + "$ref": "#/definitions/ReturnShipping" + }, + "deliveryPackage": { + "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", + "$ref": "#/definitions/DeliveryPackageInformation" + }, + "logLevel": { + "type": "string", + "description": "Indicates whether error logging or verbose logging is enabled." + }, + "backupDriveManifest": { + "type": "boolean", + "description": "Indicates whether the manifest files on the drives should be copied to block blobs.", + "default": false + }, + "driveList": { + "description": "List of drives that comprise the job.", + "type": "array", + "items": { + "$ref": "#/definitions/DriveStatus" + } + } + }, + "description": "Specifies the properties of a UpdateJob." } } }, - "LocationProperties": { - "description": "Describes the properties of a location.", + "ListJobsResponse": { + "description": "List jobs response", "properties": { - "recipientName": { - "description": "The recipient name to use when shipping the drives to the Azure data center.", - "type": "string" + "nextLink": { + "type": "string", + "description": "link to next batch of jobs" }, - "streetAddress1": { - "description": "The first line of the street address to use when shipping the drives to the Azure data center.", - "type": "string" + "value": { + "type": "array", + "description": "Job list", + "items": { + "$ref": "#/definitions/JobResponse" + } + } + } + }, + "JobResponse": { + "x-ms-azure-resource": true, + "description": "Contains the job information.", + "properties": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "SystemData of ImportExport Jobs.", + "readOnly": true }, - "streetAddress2": { - "description": "The second line of the street address to use when shipping the drives to the Azure data center.", - "type": "string" + "id": { + "type": "string", + "description": "Specifies the resource identifier of the job.", + "readOnly": true }, - "city": { - "description": "The city name to use when shipping the drives to the Azure data center.", - "type": "string" + "name": { + "type": "string", + "description": "Specifies the name of the job.", + "readOnly": true }, - "stateOrProvince": { - "description": "The state or province to use when shipping the drives to the Azure data center.", - "type": "string" + "type": { + "type": "string", + "description": "Specifies the type of the job resource.", + "readOnly": true }, - "postalCode": { - "description": "The postal code to use when shipping the drives to the Azure data center.", - "type": "string" + "location": { + "type": "string", + "description": "Specifies the Azure location where the job is created." }, - "countryOrRegion": { - "description": "The country or region to use when shipping the drives to the Azure data center.", - "type": "string" + "tags": { + "type": "object", + "description": "Specifies the tags that are assigned to the job." }, - "phone": { - "description": "The phone number for the Azure data center.", - "type": "string" + "properties": { + "$ref": "#/definitions/JobDetails", + "description": "Specifies the job properties" }, - "supportedCarriers": { - "type": "array", - "description": "A list of carriers that are supported at this location.", - "items": { - "type": "string" - } + "identity": { + "$ref": "#/definitions/IdentityDetails", + "description": "Specifies the job identity details" + } + } + }, + "Operation": { + "description": "Describes a supported operation by the Storage Import/Export job API.", + "required": [ + "name", + "display" + ], + "properties": { + "name": { + "type": "string", + "description": "Name of the operation." }, - "alternateLocations": { - "type": "array", - "description": "A list of location IDs that should be used to ship shipping drives to for jobs created against the current location. If the current location is active, it will be part of the list. If it is temporarily closed due to maintenance, this list may contain other locations.", - "items": { - "type": "string" + "display": { + "x-ms-client-flatten": true, + "description": "operation display properties", + "properties": { + "provider": { + "type": "string", + "description": "The resource provider name to which the operation belongs." + }, + "resource": { + "type": "string", + "description": "The name of the resource to which the operation belongs." + }, + "operation": { + "type": "string", + "description": "The display name of the operation." + }, + "description": { + "type": "string", + "description": "Short description of the operation." + } } } } @@ -945,21 +931,72 @@ "description": "Provides information about an Azure data center location.", "properties": { "id": { - "description": "Specifies the resource identifier of the location.", + "description": "Specifies the resource identifier of the location. ", "type": "string" }, "name": { - "description": "Specifies the name of the location. Use List Locations to get all supported locations.", + "description": "Specifies the name of the location. Use List Locations to get all supported locations. ", "type": "string" }, "type": { - "description": "Specifies the resource type of the location.", + "description": "Specifies the type of the location. ", "type": "string" }, "properties": { - "description": "Describes the properties of a location.", - "$ref": "#/definitions/LocationProperties", - "x-ms-client-flatten": true + "x-ms-client-flatten": true, + "description": "location properties", + "properties": { + "recipientName": { + "description": "The recipient name to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "streetAddress1": { + "description": "The first line of the street address to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "streetAddress2": { + "description": "The second line of the street address to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "city": { + "description": "The city name to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "stateOrProvince": { + "description": "The state or province to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "postalCode": { + "description": "The postal code to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "countryOrRegion": { + "description": "The country or region to use when shipping the drives to the Azure data center. ", + "type": "string" + }, + "phone": { + "description": "The phone number for the Azure data center. ", + "type": "string" + }, + "additionalShippingInformation": { + "description": "Additional shipping information for customer, specific to datacenter to which customer should send their disks.", + "type": "string" + }, + "supportedCarriers": { + "type": "array", + "description": "A list of carriers that are supported at this location. ", + "items": { + "type": "string" + } + }, + "alternateLocations": { + "type": "array", + "description": "A list of location IDs that should be used to ship shipping drives to for jobs created against the current location. If the current location is active, it will be part of the list. If it is temporarily closed due to maintenance, this list may contain other locations. ", + "items": { + "type": "string" + } + } + } } } }, @@ -977,15 +1014,15 @@ "properties": { "recipientName": { "type": "string", - "description": "The name of the recipient who will receive the hard drives when they are returned." + "description": "The name of the recipient who will receive the hard drives when they are returned. " }, "streetAddress1": { "type": "string", - "description": "The first line of the street address to use when returning the drives." + "description": "The first line of the street address to use when returning the drives. " }, "streetAddress2": { "type": "string", - "description": "The second line of the street address to use when returning the drives." + "description": "The second line of the street address to use when returning the drives. " }, "city": { "type": "string", @@ -1001,7 +1038,7 @@ }, "countryOrRegion": { "type": "string", - "description": "The country or region to use when returning the drives." + "description": "The country or region to use when returning the drives. " }, "phone": { "type": "string", @@ -1031,24 +1068,49 @@ } }, "ShippingInformation": { - "description": "Provides information about the Microsoft datacenter to which the drives should be shipped.", - "required": [ - "name", - "address" - ], + "description": "Contains information about the Microsoft datacenter to which the drives should be shipped.", "properties": { - "name": { + "recipientName": { + "type": "string", + "description": "The name of the recipient who will receive the hard drives when they are returned. " + }, + "streetAddress1": { + "type": "string", + "description": "The first line of the street address to use when returning the drives. " + }, + "streetAddress2": { + "type": "string", + "description": "The second line of the street address to use when returning the drives. " + }, + "city": { + "type": "string", + "description": "The city name to use when returning the drives." + }, + "stateOrProvince": { + "type": "string", + "description": "The state or province to use when returning the drives." + }, + "postalCode": { + "type": "string", + "description": "The postal code to use when returning the drives." + }, + "countryOrRegion": { + "type": "string", + "description": "The country or region to use when returning the drives. " + }, + "phone": { "type": "string", - "description": "The name of the recipient at the datacenter." + "description": "Phone number of the recipient of the returned drives." }, - "address": { + "additionalInformation": { "type": "string", - "description": "The address of the datacenter." + "description": "Additional shipping information for customer, specific to datacenter to which customer should send their disks.", + "readOnly": true } } }, - "PackageInfomation": { - "description": "Provides information about the package being shipped by the customer to the Microsoft data center.", + "PackageInformation": { + "description": "Contains information about the package being shipped by the customer to the Microsoft data center.", "required": [ "carrierName", "trackingNumber", @@ -1066,22 +1128,43 @@ }, "driveCount": { "type": "integer", + "format": "int64", "description": "The number of drives included in the package." }, "shipDate": { "type": "string", - "description": "The date the package is shipped." + "description": "The date when the package is shipped." } } }, - "Drive": { - "description": "Provides information about the drive that contains information about the import/export jobs.", + "DeliveryPackageInformation": { + "description": "Contains information about the delivery package being shipped by the customer to the Microsoft data center.", "required": [ - "driveId", - "bitLockerKey", - "manifestFile", - "manifestHash" + "carrierName", + "trackingNumber" ], + "properties": { + "carrierName": { + "type": "string", + "description": "The name of the carrier that is used to ship the import or export drives." + }, + "trackingNumber": { + "type": "string", + "description": "The tracking number of the package." + }, + "driveCount": { + "type": "integer", + "format": "int64", + "description": "The number of drives included in the package." + }, + "shipDate": { + "type": "string", + "description": "The date when the package is shipped." + } + } + }, + "DriveStatus": { + "description": "Provides information about the drive's status", "properties": { "driveId": { "type": "string", @@ -1093,21 +1176,29 @@ }, "manifestFile": { "type": "string", - "description": "The relative path of the manifest file on the drive." + "description": "The relative path of the manifest file on the drive. " }, "manifestHash": { "type": "string", "description": "The Base16-encoded MD5 hash of the manifest file on the drive." - } - } - }, - "DriveStatus": { - "description": "Provides information about the drive's status.", - "properties": { + }, + "driveHeaderHash": { + "type": "string", + "description": "The drive header hash value." + }, "state": { "type": "string", - "description": "The drive's current state.", - "enum": [ "Specified", "Received", "NeverReceived", "Transferring", "Completed", "CompletedMoreInfo", "ShippedBack" ], + "description": "The drive's current state. ", + "enum": [ + "Specified", + "Received", + "NeverReceived", + "Transferring", + "Completed", + "CompletedMoreInfo", + "ShippedBack" + ], + "default": "Specified", "x-ms-enum": { "name": "DriveState", "modelAsString": true @@ -1119,11 +1210,12 @@ }, "percentComplete": { "type": "integer", - "description": "Percentage completed for the drive." + "format": "int32", + "description": "Percentage completed for the drive. " }, "verboseLogUri": { "type": "string", - "description": "A URI that points to the blob containing the verbose log for the data transfer operation." + "description": "A URI that points to the blob containing the verbose log for the data transfer operation. " }, "errorLogUri": { "type": "string", @@ -1131,14 +1223,14 @@ }, "manifestUri": { "type": "string", - "description": "A URI that points to the blob containing the drive manifest file." - } - }, - "allOf": [ - { - "$ref": "#/definitions/Drive" + "description": "A URI that points to the blob containing the drive manifest file. " + }, + "bytesSucceeded": { + "type": "integer", + "format": "int64", + "description": "Bytes successfully transferred for the drive." } - ] + } }, "Export": { "description": "A property containing information about the blobs to be exported for an export job. This property is required for export jobs, but must not be specified for import jobs.", @@ -1163,9 +1255,58 @@ } } }, - "blobListblobPath": { + "blobListBlobPath": { "type": "string", - "description": "The relative URI to the block blob that contains the list of blob paths or blob path prefixes as defined above, beginning with the container name. If the blob is in the root container, the URI must begin with $root." + "description": "The relative URI to the block blob that contains the list of blob paths or blob path prefixes as defined above, beginning with the container name. If the blob is in root container, the URI must begin with $root. " + } + } + }, + "LocationsResponse": { + "description": "Locations response", + "properties": { + "value": { + "type": "array", + "description": "locations", + "items": { + "$ref": "#/definitions/Location" + } + } + } + }, + "GetBitLockerKeysResponse": { + "description": "GetBitLockerKeys response", + "properties": { + "value": { + "type": "array", + "description": "drive status", + "items": { + "$ref": "#/definitions/DriveBitLockerKey" + } + } + } + }, + "DriveBitLockerKey": { + "description": "BitLocker recovery key or password to the specified drive", + "properties": { + "bitLockerKey": { + "type": "string", + "description": "BitLocker recovery key or password" + }, + "driveId": { + "type": "string", + "description": "Drive ID" + } + } + }, + "ListOperationsResponse": { + "description": "List operations response", + "properties": { + "value": { + "type": "array", + "description": "operations", + "items": { + "$ref": "#/definitions/Operation" + } } } } @@ -1178,7 +1319,7 @@ "required": true, "type": "string", "enum": [ - "2016-11-01" + "2020-08-01" ] }, "subscriptionId": { @@ -1200,11 +1341,18 @@ "name": "Accept-Language", "in": "header", "description": "Specifies the preferred language for the response.", - "required": true, + "required": false, "type": "string", - "enum": [ - "en-us" - ] + "x-ms-parameter-location": "client" + }, + "x-ms-client-tenant-id": { + "name": "x-ms-client-tenant-id", + "in": "header", + "description": "The tenant ID of the client making the request.", + "required": false, + "type": "string", + "x-ms-client-name": "ClientTenantId", + "x-ms-parameter-location": "method" } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Insights/actionGroups_API.json b/App_Data/SwaggerSpecs/Microsoft.Insights/actionGroups_API.json index 5a17c746..303bc930 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Insights/actionGroups_API.json +++ b/App_Data/SwaggerSpecs/Microsoft.Insights/actionGroups_API.json @@ -1,510 +1,1211 @@ { - "swagger": "2.0", - "info": { - "title": "Azure Action Groups API", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" - }, - "version": "2017-04-01" + "swagger": "2.0", + "info": { + "title": "Azure Action Groups API", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "version": "2021-09-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName}": { + "put": { + "description": "Create a new action group or update an existing one.", + "operationId": "ActionGroups_CreateOrUpdate", + "x-ms-examples": { + "Create or update an action group": { + "$ref": "./examples/createOrUpdateActionGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActionGroupNameParameter" + }, + { + "name": "actionGroup", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActionGroupResource" + }, + "description": "The action group to create or use for the update." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "An existing action group was successfully updated.", + "schema": { + "$ref": "#/definitions/ActionGroupResource" + } + }, + "201": { + "description": "A new action group was successfully created.", + "schema": { + "$ref": "#/definitions/ActionGroupResource" + } + }, + "default": { + "description": "An error occurred and the action group could not be created or updated.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}": { - "put": { - "description": "Create a new action group or update an existing one.", - "operationId": "ActionGroups_CreateOrUpdate", - "x-ms-examples": { - "Create or update an action group": { - "$ref": "../examples/createOrUpdateActionGroup.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActionGroupNameParameter" - }, - { - "name": "actionGroup", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ActionGroupResource" - }, - "description": "The action group to create or use for the update." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "An existing action group was successfully updated.", - "schema": { - "$ref": "#/definitions/ActionGroupResource" - } - }, - "201": { - "description": "A new action group was successfully created.", - "schema": { - "$ref": "#/definitions/ActionGroupResource" - } - }, - "default": { - "description": "An error occurred and the action group could not be created or updated." - } - } + }, + "get": { + "description": "Get an action group.", + "operationId": "ActionGroups_Get", + "x-ms-examples": { + "Get an action group": { + "$ref": "./examples/getActionGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActionGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/ActionGroupResource" + } + }, + "default": { + "description": "An error occurred and the action group could not be retrieved. 404: The action group does not exist.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "description": "Delete an action group.", + "operationId": "ActionGroups_Delete", + "x-ms-examples": { + "Delete an action group": { + "$ref": "./examples/deleteActionGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActionGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The action group was successfully deleted." + }, + "204": { + "description": "The action group does not exist. It may have already been deleted." + }, + "default": { + "description": "An error occurred and the action group could not be deleted.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "description": "Updates an existing action group's tags. To update other fields use the CreateOrUpdate method.", + "operationId": "ActionGroups_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActionGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "actionGroupPatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActionGroupPatchBody" }, - "get": { - "description": "Get an action group.", - "operationId": "ActionGroups_Get", - "x-ms-examples": { - "Get an action group": { - "$ref": "../examples/getActionGroup.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActionGroupNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActionGroupResource" - } - }, - "404": { - "description": "The action group does not exist." - }, - "default": { - "description": "An error occurred and the action group could not be retrieved." - } - } + "description": "Parameters supplied to the operation." + } + ], + "responses": { + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + }, + "200": { + "description": "An existing action group was successfully updated.", + "schema": { + "$ref": "#/definitions/ActionGroupResource" + } + } + }, + "x-ms-examples": { + "Patch an action group": { + "$ref": "./examples/patchActionGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/createNotifications": { + "post": { + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Send test notifications to a set of provided receivers", + "operationId": "ActionGroups_PostTestNotifications", + "x-ms-examples": { + "List action groups": { + "$ref": "./examples/postTestNotifications.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "notificationRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/NotificationRequestBody" }, - "delete": { - "description": "Delete an action group.", - "operationId": "ActionGroups_Delete", - "x-ms-examples": { - "Delete an action group": { - "$ref": "../examples/deleteActionGroup.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActionGroupNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The action group was successfully deleted." - }, - "204": { - "description": "The action group does not exist. It may have already been deleted." - }, - "default": { - "description": "An error occurred and the action group could not be deleted." - } - } + "description": "The notification request body which includes the contact details" + } + ], + "responses": { + "202": { + "description": "The notification succeeded", + "schema": { + "$ref": "#/definitions/TestNotificationResponse" } + }, + "default": { + "description": "An error occurred while sending the test notifications", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/notificationStatus/{notificationId}": { + "get": { + "description": "Get the test notifications by the notification id", + "operationId": "ActionGroups_GetTestNotifications", + "x-ms-examples": { + "Get notification details": { + "$ref": "./examples/getTestNotifications.json" + } }, - "/subscriptions/{subscriptionId}/providers/microsoft.insights/actionGroups": { - "get": { - "description": "Get a list of all action groups in a subscription.", - "operationId": "ActionGroups_ListBySubscriptionId", - "x-ms-examples": { - "List action groups": { - "$ref": "../examples/listActionGroups.json" - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActionGroupList" - } - }, - "default": { - "description": "An error occurred and the list of action groups could not be retrieved." - } - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/NotificationIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The notification details", + "schema": { + "$ref": "#/definitions/TestNotificationDetailsResponse" } + }, + "default": { + "description": "An error occurred while sending the test notifications", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/actionGroups": { + "get": { + "description": "Get a list of all action groups in a subscription.", + "operationId": "ActionGroups_ListBySubscriptionId", + "x-ms-examples": { + "List action groups": { + "$ref": "./examples/listActionGroups.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups": { - "get": { - "description": "Get a list of all action groups in a resource group.", - "operationId": "ActionGroups_ListByResourceGroup", - "x-ms-examples": { - "List action groups": { - "$ref": "../examples/listActionGroups.json" - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActionGroupList" - } - }, - "default": { - "description": "An error occurred and the list of action groups could not be retrieved." - } - } + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/ActionGroupList" + } + }, + "default": { + "description": "An error occurred and the list of action groups could not be retrieved.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups": { + "get": { + "description": "Get a list of all action groups in a resource group.", + "operationId": "ActionGroups_ListByResourceGroup", + "x-ms-examples": { + "List action groups": { + "$ref": "./examples/listActionGroups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/actionGroups/{actionGroupName}/subscribe": { - "post": { - "description": "Enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled.", - "operationId": "ActionGroups_EnableReceiver", - "x-ms-examples": { - "Enable the receiver": { - "$ref": "../examples/enableReceiver.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActionGroupNameParameter" - }, - { - "name": "enableRequest", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/EnableRequest" - }, - "description": "The receiver to re-enable." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The receiver was successfully enabled." - }, - "409": { - "description": "The receiver is already enabled in the action group." - }, - "404": { - "description": "The action group was not found or no matching receiver was found in the action group." - }, - "default": { - "description": "An error occurred and the receiver could not be enabled." - } - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/ActionGroupList" } + }, + "default": { + "description": "An error occurred and the list of action groups could not be retrieved.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } + } }, - "definitions": { - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Azure resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" - }, - "location": { - "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/actionGroups/{actionGroupName}/subscribe": { + "post": { + "description": "Enable a receiver in an action group. This changes the receiver's status from Disabled to Enabled. This operation is only supported for Email or SMS receivers.", + "operationId": "ActionGroups_EnableReceiver", + "x-ms-examples": { + "Enable the receiver": { + "$ref": "./examples/enableReceiver.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActionGroupNameParameter" + }, + { + "name": "enableRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EnableRequest" }, - "required": [ - "location" - ], - "x-ms-azure-resource": true, - "description": "An azure resource object" - }, - "ActionGroupResource": { - "description": "An action group resource.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ActionGroup" - } + "description": "The receiver to re-enable." + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The receiver was successfully enabled." + }, + "409": { + "description": "The receiver is already enabled in the action group.", + "x-ms-error-response": true + }, + "default": { + "description": "An error occurred and the receiver could not be enabled, e.g.: 404: The action group was not found or no matching receiver was found in the action group.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } + } + } + } + }, + "definitions": { + "AzureResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "Azure resource Id" }, - "ActionGroupList": { - "description": "A list of action groups.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ActionGroupResource" - }, - "description": "The list of action groups." - }, - "nextLink": { - "type": "string", - "description": "Provides the link to retrive the next set of elements." - } - } + "name": { + "type": "string", + "readOnly": true, + "description": "Azure resource name" }, - "ActionGroup": { - "description": "An Azure action group.", - "properties": { - "groupShortName": { - "type": "string", - "maxLength": 15, - "description": "The short name of the action group. This will be used in SMS messages." - }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receviers will receive communications." - }, - "emailReceivers": { - "type": "array", - "items": { - "$ref": "#/definitions/EmailReceiver" - }, - "description": "The list of email receivers that are part of this action group." - }, - "smsReceivers": { - "type": "array", - "items": { - "$ref": "#/definitions/SmsReceiver" - }, - "description": "The list of SMS receivers that are part of this action group." - }, - "webhookReceivers": { - "type": "array", - "items": { - "$ref": "#/definitions/WebhookReceiver" - }, - "description": "The list of webhook receivers that are part of this action group." - } - }, - "required": [ - "groupShortName", - "enabled" - ] - }, - "EmailReceiver": { - "description": "An email receiver.", - "properties": { - "name": { - "type": "string", - "description": "The name of the email receiver. Names must be unique across all receivers within an action group." - }, - "emailAddress": { - "type": "string", - "description": "The email address of this receiver." - }, - "status": { - "readOnly": true, - "$ref": "#/definitions/ReceiverStatus" - } - }, - "required": [ - "name", - "emailAddress" - ] - }, - "SmsReceiver": { - "description": "An SMS receiver.", - "properties": { - "name": { - "type": "string", - "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." - }, - "countryCode": { - "type": "string", - "description": "The country code of the SMS receiver." - }, - "phoneNumber": { - "type": "string", - "description": "The phone number of the SMS receiver." - }, - "status": { - "readOnly": true, - "$ref": "#/definitions/ReceiverStatus" - } - }, - "required": [ - "name", - "countryCode", - "phoneNumber" - ] - }, - "WebhookReceiver": { - "description": "A webhook receiver.", - "properties": { - "name": { - "type": "string", - "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." - }, - "serviceUri": { - "type": "string", - "description": "The URI where webhooks should be sent." - } - }, - "required": [ - "name", - "serviceUri" - ] - }, - "ReceiverStatus": { - "type": "string", - "enum": [ - "NotSpecified", - "Enabled", - "Disabled" - ], - "x-ms-enum": { - "name": "ReceiverStatus", - "modelAsString": false - }, - "description": "Indicates the status of the receiver. Receivers that are not Enabled will not receive any communications." - }, - "EnableRequest": { - "description": "Describes a receiver that should be resubscribed.", - "properties": { - "receiverName": { - "type": "string", - "description": "The name of the receiver to resubscribe." - } - }, - "required": [ - "receiverName" - ] + "type": { + "type": "string", + "readOnly": true, + "description": "Azure resource type" + }, + "kind": { + "type": "string", + "readOnly": true, + "description": "Azure resource kind" + }, + "identity": { + "type": "string", + "readOnly": true, + "description": "Azure resource identity" + }, + "location": { + "type": "string", + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "type": "object", + "description": "Resource tags" } + }, + "required": [ + "location" + ], + "type": "object", + "x-ms-azure-resource": true, + "description": "An azure resource object" }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The Azure subscription Id." + "TestNotificationResponse": { + "description": "The response when test notification succeeded", + "type": "object", + "properties": { + "notificationId": { + "type": "string", + "description": "The notification id" }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group.", - "x-ms-parameter-location": "method" + "correlationId": { + "type": "string", + "description": "The correlation id" }, - "ActionGroupNameParameter": { - "name": "actionGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the action group.", - "x-ms-parameter-location": "method" + "createdTime": { + "type": "string", + "description": "The created time" + } + }, + "required": [ + "notificationId", + "correlationId", + "createdTime" + ] + }, + "TestNotificationDetailsResponse": { + "description": "The details of the test notification results.", + "type": "object", + "properties": { + "Context": { + "type": "object", + "$ref": "#/definitions/Context" }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "State": { + "type": "string", + "description": "The overall state" + }, + "CompletedTime": { + "type": "string", + "description": "The completed time" + }, + "CreatedTime": { + "type": "string", + "description": "The created time" + }, + "ActionDetails": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionDetail" + }, + "description": "The list of action detail" + } + }, + "required": [ + "State" + ] + }, + "ActionDetail": { + "description": "The action detail", + "type": "object", + "properties": { + "MechanismType": { + "type": "string", + "description": "The mechanism type" + }, + "Name": { + "type": "string", + "description": "The name of the action" + }, + "Status": { + "type": "string", + "description": "The status of the action" + }, + "SubState": { + "type": "string", + "description": "The substatus of the action" + }, + "SendTime": { + "type": "string", + "description": "The send time" + }, + "Detail": { + "type": "string", + "description": "The detail of the friendly error message" + } + } + }, + "Context": { + "description": "The context info", + "type": "object", + "properties": { + "NotificationSource": { + "type": "string", + "description": "The source of the notification request" + }, + "ContextType": { + "type": "string", + "description": "The context id type" + } + } + }, + "ActionGroupResource": { + "description": "An action group resource.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AzureResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ActionGroup", + "description": "The action groups properties of the resource." + } + } + }, + "ActionGroupList": { + "description": "A list of action groups.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ActionGroupResource" + }, + "description": "The list of action groups." + }, + "nextLink": { + "type": "string", + "description": "Provides the link to retrieve the next set of elements." + } + } + }, + "NotificationRequestBody": { + "description": "The request body which contain contact detail metadata", + "type": "object", + "properties": { + "alertType": { + "type": "string", + "maxLength": 30, + "description": "The name of the supported alert type." + }, + "emailReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + }, + "description": "The list of email receivers that are part of this action group." + }, + "smsReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + }, + "description": "The list of SMS receivers that are part of this action group." + }, + "webhookReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + }, + "description": "The list of webhook receivers that are part of this action group." + }, + "itsmReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + }, + "description": "The list of ITSM receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + }, + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "automationRunbookReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + }, + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "voiceReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceReceiver" + }, + "description": "The list of voice receivers that are part of this action group." + }, + "logicAppReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/LogicAppReceiver" + }, + "description": "The list of logic app receivers that are part of this action group." + }, + "azureFunctionReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFunctionReceiver" + }, + "description": "The list of azure function receivers that are part of this action group." + }, + "armRoleReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmRoleReceiver" + }, + "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." + }, + "eventHubReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/EventHubReceiver" + }, + "description": "The list of event hub receivers that are part of this action group." + } + }, + "required": [ + "alertType" + ] + }, + "ActionGroup": { + "description": "An Azure action group.", + "type": "object", + "properties": { + "groupShortName": { + "type": "string", + "maxLength": 12, + "description": "The short name of the action group. This will be used in SMS messages." + }, + "enabled": { + "type": "boolean", + "default": true, + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its receivers will receive communications." + }, + "emailReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/EmailReceiver" + }, + "description": "The list of email receivers that are part of this action group." + }, + "smsReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/SmsReceiver" + }, + "description": "The list of SMS receivers that are part of this action group." + }, + "webhookReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/WebhookReceiver" + }, + "description": "The list of webhook receivers that are part of this action group." + }, + "itsmReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/ItsmReceiver" + }, + "description": "The list of ITSM receivers that are part of this action group." + }, + "azureAppPushReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureAppPushReceiver" + }, + "description": "The list of AzureAppPush receivers that are part of this action group." + }, + "automationRunbookReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AutomationRunbookReceiver" + }, + "description": "The list of AutomationRunbook receivers that are part of this action group." + }, + "voiceReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/VoiceReceiver" + }, + "description": "The list of voice receivers that are part of this action group." + }, + "logicAppReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/LogicAppReceiver" + }, + "description": "The list of logic app receivers that are part of this action group." + }, + "azureFunctionReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureFunctionReceiver" + }, + "description": "The list of azure function receivers that are part of this action group." + }, + "armRoleReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/ArmRoleReceiver" + }, + "description": "The list of ARM role receivers that are part of this action group. Roles are Azure RBAC roles and only built-in roles are supported." + }, + "eventHubReceivers": { + "type": "array", + "items": { + "$ref": "#/definitions/EventHubReceiver" + }, + "description": "The list of event hub receivers that are part of this action group." + } + }, + "required": [ + "groupShortName", + "enabled" + ] + }, + "EmailReceiver": { + "description": "An email receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the email receiver. Names must be unique across all receivers within an action group." + }, + "emailAddress": { + "type": "string", + "description": "The email address of this receiver." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ReceiverStatus", + "description": "The receiver status of the e-mail." + } + }, + "required": [ + "name", + "emailAddress" + ] + }, + "SmsReceiver": { + "description": "An SMS receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the SMS receiver. Names must be unique across all receivers within an action group." + }, + "countryCode": { + "type": "string", + "description": "The country code of the SMS receiver." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the SMS receiver." + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/ReceiverStatus", + "description": "The status of the receiver." + } + }, + "required": [ + "name", + "countryCode", + "phoneNumber" + ] + }, + "WebhookReceiver": { + "description": "A webhook receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the webhook receiver. Names must be unique across all receivers within an action group." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + }, + "useAadAuth": { + "type": "boolean", + "default": false, + "description": "Indicates whether or not use AAD authentication." + }, + "objectId": { + "type": "string", + "description": "Indicates the webhook app object Id for aad auth." + }, + "identifierUri": { + "type": "string", + "description": "Indicates the identifier uri for aad auth." + }, + "tenantId": { + "type": "string", + "description": "Indicates the tenant id for aad auth." + } + }, + "required": [ + "name", + "serviceUri" + ] + }, + "ItsmReceiver": { + "description": "An Itsm receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Itsm receiver. Names must be unique across all receivers within an action group." + }, + "workspaceId": { + "type": "string", + "description": "OMS LA instance identifier." + }, + "connectionId": { + "type": "string", + "description": "Unique identification of ITSM connection among multiple defined in above workspace." + }, + "ticketConfiguration": { + "type": "string", + "description": "JSON blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." + }, + "region": { + "type": "string", + "description": "Region in which workspace resides. Supported values:'centralindia','japaneast','southeastasia','australiasoutheast','uksouth','westcentralus','canadacentral','eastus','westeurope'" + } + }, + "required": [ + "name", + "workspaceId", + "connectionId", + "ticketConfiguration", + "region" + ] + }, + "EventHubReceiver": { + "description": "An Event hub receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Event hub receiver. Names must be unique across all receivers within an action group." + }, + "eventHubNameSpace": { + "type": "string", + "description": "The Event Hub namespace" + }, + "eventHubName": { + "type": "string", + "description": "The name of the specific Event Hub queue" + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + }, + "tenantId": { + "type": "string", + "description": "The tenant Id for the subscription containing this event hub" + }, + "subscriptionId": { + "type": "string", + "description": "The Id for the subscription containing this event hub" + } + }, + "required": [ + "name", + "eventHubNameSpace", + "eventHubName", + "subscriptionId" + ] + }, + "AzureAppPushReceiver": { + "description": "The Azure mobile App push notification receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the Azure mobile app push receiver. Names must be unique across all receivers within an action group." + }, + "emailAddress": { + "type": "string", + "description": "The email address registered for the Azure mobile app." } + }, + "required": [ + "name", + "emailAddress" + ] + }, + "AutomationRunbookReceiver": { + "description": "The Azure Automation Runbook notification receiver.", + "type": "object", + "properties": { + "automationAccountId": { + "type": "string", + "description": "The Azure automation account Id which holds this runbook and authenticate to Azure resource." + }, + "runbookName": { + "type": "string", + "description": "The name for this runbook." + }, + "webhookResourceId": { + "type": "string", + "description": "The resource id for webhook linked to this runbook." + }, + "isGlobalRunbook": { + "type": "boolean", + "description": "Indicates whether this instance is global runbook." + }, + "name": { + "type": "string", + "description": "Indicates name of the webhook." + }, + "serviceUri": { + "type": "string", + "description": "The URI where webhooks should be sent." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "automationAccountId", + "runbookName", + "webhookResourceId", + "isGlobalRunbook" + ] + }, + "VoiceReceiver": { + "description": "A voice receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the voice receiver. Names must be unique across all receivers within an action group." + }, + "countryCode": { + "type": "string", + "description": "The country code of the voice receiver." + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the voice receiver." + } + }, + "required": [ + "name", + "countryCode", + "phoneNumber" + ] + }, + "LogicAppReceiver": { + "description": "A logic app receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the logic app receiver. Names must be unique across all receivers within an action group." + }, + "resourceId": { + "type": "string", + "description": "The azure resource id of the logic app receiver." + }, + "callbackUrl": { + "type": "string", + "description": "The callback url where http request sent to." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "resourceId", + "callbackUrl" + ] + }, + "AzureFunctionReceiver": { + "description": "An azure function receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the azure function receiver. Names must be unique across all receivers within an action group." + }, + "functionAppResourceId": { + "type": "string", + "description": "The azure resource id of the function app." + }, + "functionName": { + "type": "string", + "description": "The function name in the function app." + }, + "httpTriggerUrl": { + "type": "string", + "description": "The http trigger url where http request sent to." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "functionAppResourceId", + "functionName", + "httpTriggerUrl" + ] + }, + "ArmRoleReceiver": { + "description": "An arm role receiver.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the arm role receiver. Names must be unique across all receivers within an action group." + }, + "roleId": { + "type": "string", + "description": "The arm role id." + }, + "useCommonAlertSchema": { + "type": "boolean", + "default": false, + "description": "Indicates whether to use common alert schema." + } + }, + "required": [ + "name", + "roleId" + ] + }, + "ReceiverStatus": { + "type": "string", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ReceiverStatus", + "modelAsString": false + }, + "description": "Indicates the status of the receiver. Receivers that are not Enabled will not receive any communications." + }, + "EnableRequest": { + "description": "Describes a receiver that should be resubscribed.", + "type": "object", + "properties": { + "receiverName": { + "type": "string", + "description": "The name of the receiver to resubscribe." + } + }, + "required": [ + "receiverName" + ] + }, + "ErrorResponse": { + "description": "Describes the format of Error response.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ActionGroupPatchBody": { + "description": "An action group object for the body of patch operations.", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ActionGroupPatch", + "description": "The action group settings for an update operation." + } + } + }, + "ActionGroupPatch": { + "description": "An Azure action group for patch operations.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "default": true, + "description": "Indicates whether this action group is enabled. If an action group is not enabled, then none of its actions will be activated." + } + } + } + }, + "parameters": { + "NotificationIdParameter": { + "name": "notificationId", + "in": "path", + "required": true, + "type": "string", + "description": "The notification id", + "x-ms-parameter-location": "method" + }, + "ActionGroupNameParameter": { + "name": "actionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the action group.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Insights/activityLogAlerts_API.json b/App_Data/SwaggerSpecs/Microsoft.Insights/activityLogAlerts_API.json index 2dd1c58d..80019dd9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Insights/activityLogAlerts_API.json +++ b/App_Data/SwaggerSpecs/Microsoft.Insights/activityLogAlerts_API.json @@ -1,526 +1,540 @@ { - "swagger": "2.0", - "info": { - "title": "Azure Activity Log Alerts API", - "x-ms-code-generation-settings": { - "name": "MonitorManagementClient" + "swagger": "2.0", + "info": { + "title": "Azure Activity Log Alerts API", + "description": "API for Azure Activity Log Alert rules CRUD operations.", + "version": "2020-10-01", + "x-ms-code-generation-settings": { + "name": "MonitorManagementClient" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts/{activityLogAlertName}": { + "put": { + "description": "Create a new Activity Log Alert rule or update an existing one.", + "operationId": "ActivityLogAlerts_CreateOrUpdate", + "x-ms-examples": { + "Create or update an Activity Log Alert rule": { + "$ref": "./examples/ActivityLogAlertRule_CreateOrUpdate.json" + }, + "Create or update an Activity Log Alert rule with 'anyOf' condition": { + "$ref": "./examples/ActivityLogAlertRule_CreateOrUpdateRuleWithAnyOfCondition.json" + }, + "Create or update an Activity Log Alert rule with 'containsAny'": { + "$ref": "./examples/ActivityLogAlertRule_CreateOrUpdateRuleWithContainsAny.json" + } }, - "version": "2017-04-01" - }, - "host": "management.azure.com", - "schemes": [ - "https" - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], - "securityDefinitions": { - "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActivityLogAlertNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "activityLogAlertRule", + "description": "The Activity Log Alert rule to create or use for the update.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ActivityLogAlertResource" + } + } + ], + "responses": { + "200": { + "description": "An existing Activity Log Alert rule was successfully updated.", + "schema": { + "$ref": "#/definitions/ActivityLogAlertResource" + } + }, + "201": { + "description": "A new Activity Log Alert rule was successfully created.", + "schema": { + "$ref": "#/definitions/ActivityLogAlertResource" } + }, + "default": { + "description": "An error occurred and the Activity Log Alert rule could not be created or updated.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } - }, - "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts/{activityLogAlertName}": { - "put": { - "description": "Create a new activity log alert or update an existing one.", - "operationId": "ActivityLogAlerts_CreateOrUpdate", - "x-ms-examples": { - "Create or update an activity log alert": { - "$ref": "../examples/createOrUpdateActivityLogAlert.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActivityLogAlertNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "activityLogAlert", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ActivityLogAlertResource" - }, - "description": "The activity log alert to create or use for the update." - } - ], - "responses": { - "200": { - "description": "An existing activity log alert was successfully updated.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertResource" - } - }, - "201": { - "description": "A new activity log alert was successfully created.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertResource" - } - }, - "default": { - "description": "An error occurred and the activity log alert could not be created or updated.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "get": { - "description": "Get an activity log alert.", - "operationId": "ActivityLogAlerts_Get", - "x-ms-examples": { - "Get an activity log alert": { - "$ref": "../examples/getActivityLogAlert.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActivityLogAlertNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertResource" - } - }, - "default": { - "description": "An error occurred and the activity log alert could not be retrieved.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "delete": { - "description": "Delete an activity log alert.", - "operationId": "ActivityLogAlerts_Delete", - "x-ms-examples": { - "Delete an activity log alert": { - "$ref": "../examples/deleteActivityLogAlert.json" - } - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActivityLogAlertNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The activity log alert was successfully deleted." - }, - "204": { - "description": "The activity log alert does not exist. It may have already been deleted." - }, - "default": { - "description": "An error occurred and the activity log alert could not be deleted.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } - }, - "patch": { - "description": "Updates an existing ActivityLogAlertResource's tags. To update other fields use the CreateOrUpdate method.", - "operationId": "ActivityLogAlerts_Update", - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ActivityLogAlertNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "activityLogAlertPatch", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ActivityLogAlertPatchBody" - }, - "description": "Parameters supplied to the operation." - } - ], - "responses": { - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - }, - "200": { - "description": "An existing activity log alert was successfully updated.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertResource" - } - } - }, - "x-ms-examples": { - "Path an activity log alert": { - "$ref": "../examples/patchActivityLogAlert.json" - } - } + }, + "get": { + "description": "Get an Activity Log Alert rule.", + "operationId": "ActivityLogAlerts_Get", + "x-ms-examples": { + "Get an Activity Log Alert rule": { + "$ref": "./examples/ActivityLogAlertRule_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActivityLogAlertNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/ActivityLogAlertResource" + } + }, + "default": { + "description": "An error occurred and the Activity Log Alert rule could not be retrieved.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } + } + }, + "delete": { + "description": "Delete an Activity Log Alert rule.", + "operationId": "ActivityLogAlerts_Delete", + "x-ms-examples": { + "Delete an Activity Log Alert rule": { + "$ref": "./examples/ActivityLogAlertRule_Delete.json" + } }, - "/subscriptions/{subscriptionId}/providers/microsoft.insights/activityLogAlerts": { - "get": { - "description": "Get a list of all activity log alerts in a subscription.", - "operationId": "ActivityLogAlerts_ListBySubscriptionId", - "x-ms-examples": { - "List activity log alerts": { - "$ref": "../examples/listActivityLogAlerts.json" - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertList" - } - }, - "default": { - "description": "An error occurred and the list of activity log alerts could not be retrieved.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActivityLogAlertNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Activity Log Alert rule was successfully deleted." + }, + "204": { + "description": "The Activity Log Alert rule does not exist. It may have already been deleted." + }, + "default": { + "description": "An error occurred and the Activity Log Alert rule could not be deleted.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } + } + }, + "patch": { + "description": "Updates 'tags' and 'enabled' fields in an existing Alert rule. This method is used to update the Alert rule tags, and to enable or disable the Alert rule. To update other fields use CreateOrUpdate operation.", + "operationId": "ActivityLogAlerts_Update", + "x-ms-examples": { + "Patch an Activity Log Alert rule": { + "$ref": "./examples/ActivityLogAlertRule_Update.json" + } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/activityLogAlerts": { - "get": { - "description": "Get a list of all activity log alerts in a resource group.", - "operationId": "ActivityLogAlerts_ListByResourceGroup", - "x-ms-examples": { - "List activity log alerts": { - "$ref": "../examples/listActivityLogAlerts.json" - } - }, - "x-ms-pageable": { - "nextLinkName": null - }, - "parameters": [ - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ResourceGroupNameParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" - } - ], - "responses": { - "200": { - "description": "The request succeeded.", - "schema": { - "$ref": "#/definitions/ActivityLogAlertList" - } - }, - "default": { - "description": "An error occurred and the list of activity log alerts could not be retrieved.", - "schema": { - "$ref": "#/definitions/ErrorResponse" - } - } - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ActivityLogAlertNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "activityLogAlertRulePatch", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AlertRulePatchObject" + }, + "description": "Parameters supplied to the operation." + } + ], + "responses": { + "200": { + "description": "An existing Activity Log Alert rule was successfully updated.", + "schema": { + "$ref": "#/definitions/ActivityLogAlertResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } + } } + } }, - "definitions": { - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "Azure resource Id" - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Azure resource name" - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Azure resource type" - }, - "location": { - "type": "string", - "description": "Resource location", - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - } - }, - "required": [ - "location" - ], - "x-ms-azure-resource": true, - "description": "An azure resource object" + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/activityLogAlerts": { + "get": { + "description": "Get a list of all Activity Log Alert rules in a subscription.", + "operationId": "ActivityLogAlerts_ListBySubscriptionId", + "x-ms-examples": { + "Get list of all Activity Log Alert rules under a subscription": { + "$ref": "./examples/ActivityLogAlertRule_ListBySubscriptionId.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "ActivityLogAlertResource": { - "description": "An activity log alert resource.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ActivityLogAlert" - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/AlertRuleList" } + }, + "default": { + "description": "An error occurred and the list of Activity Log Alert rules could not be retrieved.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/activityLogAlerts": { + "get": { + "description": "Get a list of all Activity Log Alert rules in a resource group.", + "operationId": "ActivityLogAlerts_ListByResourceGroup", + "x-ms-examples": { + "List activity log alerts": { + "$ref": "./examples/ActivityLogAlertRule_ListByResourceGroupName.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" }, - "ActivityLogAlertList": { - "description": "A list of activity log alerts.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/ActivityLogAlertResource" - }, - "description": "The list of activity log alerts." - }, - "nextLink": { - "type": "string", - "description": "Provides the link to retrive the next set of elements." - } + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request succeeded.", + "schema": { + "$ref": "#/definitions/AlertRuleList" } + }, + "default": { + "description": "An error occurred and the list of Activity Log Alert rules could not be retrieved.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "AzureResource": { + "description": "An Azure resource object.", + "x-ms-azure-resource": true, + "type": "object", + "properties": { + "id": { + "description": "The resource Id.", + "type": "string", + "readOnly": true }, - "ActivityLogAlert": { - "description": "An Azure activity log alert.", - "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - }, - "description": "A list of resourceIds that will be used as prefixes. The alert will only apply to activityLogs with resourceIds that fall under one of these prefixes. This list must include at least one item." - }, - "enabled": { - "type": "boolean", - "default": true, - "description": "Indicates whether this activity log alert is enabled. If an activity log alert is not enabled, then none of its actions will be activated." - }, - "condition": { - "$ref": "#/definitions/ActivityLogAlertAllOfCondition", - "description": "The conditon that will cause this alert to activate." - }, - "actions": { - "$ref": "#/definitions/ActivityLogAlertActionList", - "description": "The actions that will activate when the condition is met." - }, - "description": { - "type": "string", - "description": "A description of this activity log alert." - } - }, - "required": [ - "scopes", - "condition", - "actions" - ] + "name": { + "description": "The name of the resource.", + "type": "string", + "readOnly": true }, - "ActivityLogAlertAllOfCondition": { - "properties": { - "allOf": { - "type": "array", - "items": { - "$ref": "#/definitions/ActivityLogAlertLeafCondition" - }, - "description": "The list of activity log alert conditions." - } - }, - "description": "An Activity Log alert condition that is met when all its member conditions are met.", - "required": [ - "allOf" - ] + "type": { + "description": "The type of the resource.", + "type": "string", + "readOnly": true }, - "ActivityLogAlertLeafCondition": { - "properties": { - "field": { - "type": "string", - "description": "The name of the field that this condition will examine. The possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties.'." - }, - "equals": { - "type": "string", - "description": "The field value will be compared to this value (case-insensitive) to determine if the condition is met." - } - }, - "description": "An Activity Log alert condition that is met by comparing an activity log field and value.", - "required": [ - "field", - "equals" - ] + "location": { + "description": "The location of the resource. Since Azure Activity Log Alerts is a global service, the location of the rules should always be 'global'.", + "type": "string", + "default": "global", + "x-ms-mutability": [ + "read", + "create" + ] }, - "ActivityLogAlertActionList": { - "description": "A list of activity log alert actions.", - "properties": { - "actionGroups": { - "type": "array", - "items": { - "$ref": "#/definitions/ActivityLogAlertActionGroup" - }, - "description": "The list of activity log alerts." - } - } + "tags": { + "description": "The tags of the resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ActivityLogAlertResource": { + "description": "An Activity Log Alert rule resource.", + "allOf": [ + { + "$ref": "#/definitions/AzureResource" + } + ], + "properties": { + "properties": { + "description": "The Activity Log Alert rule properties of the resource.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertRuleProperties" + } + } + }, + "AlertRuleList": { + "description": "A list of Activity Log Alert rules.", + "properties": { + "value": { + "description": "The list of Activity Log Alert rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ActivityLogAlertResource" + } }, - "ActivityLogAlertActionGroup": { - "description": "A pointer to an Azure Action Group.", - "properties": { - "actionGroupId": { - "type": "string", - "description": "The resourceId of the action group. This cannot be null or empty." - }, - "webhookProperties": { - "additionalProperties": { - "type": "string" - }, - "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload." - } - }, - "required": [ - "actionGroupId" - ] + "nextLink": { + "description": "Provides the link to retrieve the next set of elements.", + "type": "string" + } + } + }, + "AlertRuleProperties": { + "description": "An Azure Activity Log Alert rule.", + "type": "object", + "properties": { + "scopes": { + "description": "A list of resource IDs that will be used as prefixes. The alert will only apply to Activity Log events with resource IDs that fall under one of these prefixes. This list must include at least one item.", + "type": "array", + "items": { + "type": "string" + } }, - "ErrorResponse": { - "description": "Describes the format of Error response.", - "type": "object", - "properties": { - "code": { - "description": "Error code", - "type": "string" - }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" - } - } + "condition": { + "description": "The condition that will cause this alert to activate.", + "$ref": "#/definitions/AlertRuleAllOfCondition" }, - "ActivityLogAlertPatchBody": { - "description": "An activity log alert object for the body of patch operations.", - "properties": { - "tags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ActivityLogAlertPatch" - } - } + "actions": { + "description": "The actions that will activate when the condition is met.", + "$ref": "#/definitions/ActionList" }, - "ActivityLogAlertPatch": { - "description": "An Azure activity log alert for patch operations.", - "properties": { - "enabled": { - "type": "boolean", - "default": true, - "description": "Indicates whether this activity log alert is enabled. If an activity log alert is not enabled, then none of its actions will be activated." - } - } + "enabled": { + "description": "Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then none of its actions will be activated.", + "type": "boolean", + "default": true + }, + "description": { + "description": "A description of this Activity Log Alert rule.", + "type": "string" } + }, + "required": [ + "scopes", + "condition", + "actions" + ] }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "The Azure subscription Id." + "AlertRuleAllOfCondition": { + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met.", + "type": "object", + "properties": { + "allOf": { + "description": "The list of Activity Log Alert rule conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleAnyOfOrLeafCondition" + } + } + }, + "required": [ + "allOf" + ] + }, + "AlertRuleAnyOfOrLeafCondition": { + "description": "An Activity Log Alert rule condition that is met when all its member conditions are met.\nEach condition can be of one of the following types:\n__Important__: Each type has its unique subset of properties. Properties from different types CANNOT exist in one condition.\n * __Leaf Condition -__ must contain 'field' and either 'equals' or 'containsAny'.\n _Please note, 'anyOf' should __not__ be set in a Leaf Condition._\n * __AnyOf Condition -__ must contain __only__ 'anyOf' (which is an array of Leaf Conditions).\n _Please note, 'field', 'equals' and 'containsAny' should __not__ be set in an AnyOf Condition._\n", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AlertRuleLeafCondition" + } + ], + "properties": { + "anyOf": { + "title": "An Activity Log Alert rule 'anyOf' condition.", + "description": "An Activity Log Alert rule condition that is met when at least one of its member leaf conditions are met.", + "type": "array", + "items": { + "$ref": "#/definitions/AlertRuleLeafCondition" + } + } + } + }, + "AlertRuleLeafCondition": { + "description": "An Activity Log Alert rule condition that is met by comparing the field and value of an Activity Log event.\nThis condition must contain 'field' and either 'equals' or 'containsAny'.", + "type": "object", + "properties": { + "field": { + "description": "The name of the Activity Log event's field that this condition will examine.\nThe possible values for this field are (case-insensitive): 'resourceId', 'category', 'caller', 'level', 'operationName', 'resourceGroup', 'resourceProvider', 'status', 'subStatus', 'resourceType', or anything beginning with 'properties'.", + "type": "string" }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group.", - "x-ms-parameter-location": "method" + "equals": { + "description": "The value of the event's field will be compared to this value (case-insensitive) to determine if the condition is met.", + "type": "string" }, - "ActivityLogAlertNameParameter": { - "name": "activityLogAlertName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the activity log alert.", - "x-ms-parameter-location": "method" + "containsAny": { + "description": "The value of the event's field will be compared to the values in this array (case-insensitive) to determine if the condition is met.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ActionList": { + "description": "A list of Activity Log Alert rule actions.", + "properties": { + "actionGroups": { + "description": "The list of the Action Groups.", + "type": "array", + "items": { + "$ref": "#/definitions/ActionGroup" + } + } + } + }, + "ActionGroup": { + "description": "A pointer to an Azure Action Group.", + "properties": { + "actionGroupId": { + "description": "The resource ID of the Action Group. This cannot be null or empty.", + "type": "string" }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "webhookProperties": { + "description": "the dictionary of custom properties to include with the post operation. These data are appended to the webhook payload.", + "additionalProperties": { + "type": "string" + } } + }, + "required": [ + "actionGroupId" + ] + }, + "AlertRulePatchObject": { + "description": "An Activity Log Alert rule object for the body of patch operations.", + "properties": { + "tags": { + "description": "The resource tags", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AlertRulePatchProperties", + "description": "The activity log alert settings for an update operation." + } + } + }, + "AlertRulePatchProperties": { + "description": "An Activity Log Alert rule properties for patch operations.", + "properties": { + "enabled": { + "description": "Indicates whether this Activity Log Alert rule is enabled. If an Activity Log Alert rule is not enabled, then none of its actions will be activated.", + "type": "boolean", + "default": true + } + } + }, + "ErrorResponse": { + "description": "The error response.", + "type": "object", + "properties": { + "code": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The error message indicating why the operation failed.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ActivityLogAlertNameParameter": { + "name": "activityLogAlertName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Activity Log Alert rule.", + "x-ms-parameter-location": "method" } -} \ No newline at end of file + } +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Insights/components_API.json b/App_Data/SwaggerSpecs/Microsoft.Insights/components_API.json index f6c7d3b5..8b7c68c3 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Insights/components_API.json +++ b/App_Data/SwaggerSpecs/Microsoft.Insights/components_API.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "AppInsightsManagementClient", - "description": "Azure Application Insights client for Components.", - "version": "2015-05-01" + "title": "ApplicationInsightsManagementClient", + "description": "Azure Application Insights client for Components", + "version": "2020-02-02" }, "host": "management.azure.com", "schemes": [ @@ -34,16 +34,16 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/providers/microsoft.insights/components": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/components": { "get": { "description": "Gets a list of all Application Insights components within a subscription.", "operationId": "Components_List", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -52,11 +52,17 @@ "schema": { "$ref": "#/definitions/ApplicationInsightsComponentListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } } }, "x-ms-examples": { "ComponentsList.json": { - "$ref": "../examples/ComponentsList.json" + "$ref": "./examples/ComponentsList.json" } }, "x-ms-pageable": { @@ -64,19 +70,19 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components": { "get": { "description": "Gets a list of Application Insights components within a resource group.", "operationId": "Components_ListByResourceGroup", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -85,11 +91,17 @@ "schema": { "$ref": "#/definitions/ApplicationInsightsComponentListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } } }, "x-ms-examples": { "ComponentListByResourceGroup": { - "$ref": "../examples/ComponentsListByResourceGroup.json" + "$ref": "./examples/ComponentsListByResourceGroup.json" } }, "x-ms-pageable": { @@ -97,19 +109,19 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{resourceName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}": { "delete": { "description": "Deletes an Application Insights component.", "operationId": "Components_Delete", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ResourceNameParameter" @@ -121,6 +133,17 @@ }, "204": { "description": "The specified component does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } + } + }, + "x-ms-examples": { + "ComponentsDelete": { + "$ref": "./examples/ComponentsDelete.json" } } }, @@ -129,13 +152,13 @@ "operationId": "Components_Get", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ResourceNameParameter" @@ -147,11 +170,17 @@ "schema": { "$ref": "#/definitions/ApplicationInsightsComponent" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } } }, "x-ms-examples": { "ComponentGet": { - "$ref": "../examples/ComponentsGet.json" + "$ref": "./examples/ComponentsGet.json" } } }, @@ -160,13 +189,13 @@ "operationId": "Components_CreateOrUpdate", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ResourceNameParameter" @@ -187,14 +216,20 @@ "schema": { "$ref": "#/definitions/ApplicationInsightsComponent" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } } }, "x-ms-examples": { "ComponentCreate": { - "$ref": "../examples/ComponentsCreate.json" + "$ref": "./examples/ComponentsCreate.json" }, "ComponentUpdate": { - "$ref": "../examples/ComponentsUpdate.json" + "$ref": "./examples/ComponentsUpdate.json" } } }, @@ -203,13 +238,13 @@ "operationId": "Components_UpdateTags", "parameters": [ { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "#/parameters/ResourceNameParameter" @@ -230,18 +265,129 @@ "schema": { "$ref": "#/definitions/ApplicationInsightsComponent" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } } }, "x-ms-examples": { "ComponentUpdateTagsOnly": { - "$ref": "../examples/ComponentsUpdateTagsOnly.json" + "$ref": "./examples/ComponentsUpdateTagsOnly.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge": { + "post": { + "description": "Purges data in an Application Insights component by a set of user-defined filters.\n\nIn order to manage system resources, purge requests are throttled at 50 requests per hour. You should batch the execution of purge requests by sending a single command whose predicate includes all user identities that require purging. Use the in operator to specify multiple identities. You should run the query prior to using for a purge request to verify that the results are expected.", + "operationId": "Components_Purge", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ComponentPurgeParameter" + } + ], + "responses": { + "202": { + "description": "Accepted request for purging an Application Insights component.", + "schema": { + "$ref": "#/definitions/ComponentPurgeResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } + } + }, + "x-ms-examples": { + "ComponentPurge": { + "$ref": "./examples/ComponentsPurge.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/operations/{purgeId}": { + "get": { + "description": "Get status for an ongoing purge operation.", + "operationId": "Components_GetPurgeStatus", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceNameParameter" + }, + { + "$ref": "#/parameters/ComponentPurgeIdParameter" + } + ], + "responses": { + "200": { + "description": "Returns status of purge operation in body of response. e.g.: running, completed.", + "schema": { + "$ref": "#/definitions/ComponentPurgeStatusResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponseComponents" + } + } + }, + "x-ms-examples": { + "ComponentPurge": { + "$ref": "./examples/ComponentsPurgeStatus.json" } } } } }, "definitions": { - "Resource": { + "ErrorResponseComponents": { + "type": "object", + "properties": { + "error": { + "description": "Error response indicates Insights service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "readOnly": true, + "description": "Error code.", + "type": "string" + }, + "message": { + "readOnly": true, + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + } + } + }, + "ComponentsResource": { "properties": { "id": { "type": "string", @@ -260,7 +406,11 @@ }, "location": { "type": "string", - "description": "Resource location" + "description": "Resource location", + "x-ms-mutability": [ + "create", + "read" + ] }, "tags": { "additionalProperties": { @@ -292,14 +442,19 @@ "type": "string", "description": "The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone." }, + "etag": { + "type": "string", + "description": "Resource etag" + }, "properties": { "x-ms-client-flatten": true, + "description": "Properties that define an Application Insights component resource.", "$ref": "#/definitions/ApplicationInsightsComponentProperties" } }, "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ComponentsResource" } ], "required": [ @@ -320,6 +475,11 @@ "readOnly": true, "description": "Application Insights Unique ID for your Application." }, + "Name": { + "type": "string", + "readOnly": true, + "description": "Application name." + }, "Application_Type": { "type": "string", "description": "Type of application being monitored.", @@ -332,7 +492,10 @@ "name": "ApplicationType", "modelAsString": true }, - "x-ms-mutability": ["create", "read"] + "x-ms-mutability": [ + "create", + "read" + ] }, "Flow_Type": { "type": "string", @@ -401,12 +564,90 @@ "externalDocs": { "url": "https://aka.ms/sl0yqd" } + }, + "ConnectionString": { + "type": "string", + "readOnly": true, + "description": "Application Insights component connection string." + }, + "RetentionInDays": { + "type": "integer", + "description": "Retention period in days." + }, + "DisableIpMasking": { + "type": "boolean", + "description": "Disable IP masking." + }, + "ImmediatePurgeDataOn30Days": { + "type": "boolean", + "description": "Purge data immediately after 30 days." + }, + "WorkspaceResourceId": { + "type": "string", + "description": "Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property." + }, + "LaMigrationDate": { + "type": "string", + "readOnly": true, + "description": "The date which the component got migrated to LA, in ISO 8601 format.", + "format": "date-time" + }, + "PrivateLinkScopedResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkScopedResource" + }, + "description": "List of linked private link scope resources." + }, + "publicNetworkAccessForIngestion": { + "description": "The network access type for accessing Application Insights ingestion.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "publicNetworkAccessForQuery": { + "description": "The network access type for accessing Application Insights query.", + "$ref": "#/definitions/PublicNetworkAccessType" + }, + "IngestionMode": { + "type": "string", + "description": "Indicates the flow of the ingestion.", + "default": "LogAnalytics", + "enum": [ + "ApplicationInsights", + "ApplicationInsightsWithDiagnosticSettings", + "LogAnalytics" + ], + "x-ms-enum": { + "name": "IngestionMode", + "modelAsString": true + } + }, + "DisableLocalAuth": { + "type": "boolean", + "description": "Disable Non-AAD based Auth." + }, + "ForceCustomerStorageForProfiler": { + "type": "boolean", + "description": "Force users to create their own storage account for profiler and debugger." } }, "required": [ "Application_Type" ] }, + "PrivateLinkScopedResource": { + "properties": { + "ResourceId": { + "type": "string", + "description": "The full resource Id of the private link scope resource." + }, + "ScopeId": { + "type": "string", + "description": "The private link scope unique Identifier." + } + }, + "description": "The private link scope resource reference." + }, "ApplicationInsightsComponentListResult": { "description": "Describes the list of Application Insights Resources.", "required": [ @@ -422,41 +663,132 @@ }, "nextLink": { "type": "string", - "description": "The URI to get the next set of Application Insights component defintions if too many components where returned in the result set." + "description": "The URI to get the next set of Application Insights component definitions if too many components where returned in the result set." + } + } + }, + "ComponentPurgeBody": { + "description": "Describes the body of a purge request for an App Insights component", + "required": [ + "table", + "filters" + ], + "properties": { + "table": { + "type": "string", + "description": "Table from which to purge data." + }, + "filters": { + "type": "array", + "description": "The set of columns and filters (queries) to run over them to purge the resulting data.", + "items": { + "$ref": "#/definitions/ComponentPurgeBodyFilters" + } } } + }, + "ComponentPurgeBodyFilters": { + "description": "User-defined filters to return data which will be purged from the table.", + "properties": { + "column": { + "description": "The column of the table over which the given query should run", + "type": "string" + }, + "operator": { + "description": "A query operator to evaluate over the provided column and value(s). Supported operators are ==, =~, in, in~, >, >=, <, <=, between, and have the same behavior as they would in a KQL query.", + "type": "string" + }, + "value": { + "description": "the value for the operator to function over. This can be a number (e.g., > 100), a string (timestamp >= '2017-09-01') or array of values." + }, + "key": { + "description": "When filtering over custom dimensions, this key will be used as the name of the custom dimension.", + "type": "string" + } + } + }, + "ComponentPurgeResponse": { + "description": "Response containing operationId for a specific purge action.", + "properties": { + "operationId": { + "description": "Id to use when querying for status for a particular purge operation.", + "type": "string" + } + }, + "required": [ + "operationId" + ] + }, + "ComponentPurgeStatusResponse": { + "description": "Response containing status for a specific purge operation.", + "properties": { + "status": { + "description": "Status of the operation represented by the requested Id.", + "type": "string", + "enum": [ + "pending", + "completed" + ], + "x-ms-enum": { + "name": "PurgeState", + "modelAsString": true + } + } + }, + "required": [ + "status" + ] + }, + "PublicNetworkAccessType": { + "type": "string", + "description": "The network access type for operating on the Application Insights Component. By default it is Enabled", + "default": "Enabled", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccessType", + "modelAsString": true, + "values": [ + { + "value": "Enabled", + "description": "Enables connectivity to Application Insights through public DNS." + }, + { + "value": "Disabled", + "description": "Disables public connectivity to Application Insights through public DNS." + } + ] + } } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", + "ResourceNameParameter": { + "name": "resourceName", "in": "path", "required": true, "type": "string", - "description": "The Azure subscription Id." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + "description": "The name of the Application Insights component resource.", + "x-ms-parameter-location": "method" }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", + "ComponentPurgeParameter": { + "name": "body", + "in": "body", + "description": "Describes the body of a request to purge data in a single table of an Application Insights component", "required": true, - "type": "string", - "description": "The name of the resource group.", + "schema": { + "$ref": "#/definitions/ComponentPurgeBody" + }, "x-ms-parameter-location": "method" }, - "ResourceNameParameter": { - "name": "resourceName", + "ComponentPurgeIdParameter": { + "name": "purgeId", "in": "path", "required": true, "type": "string", - "description": "The name of the Application Insights component resource.", + "description": "In a purge status request, this is the Id of the operation the status of which is returned.", "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.KeyVault/keyvault.json b/App_Data/SwaggerSpecs/Microsoft.KeyVault/keyvault.json index 98a5f68b..24a6776a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.KeyVault/keyvault.json +++ b/App_Data/SwaggerSpecs/Microsoft.KeyVault/keyvault.json @@ -1,20 +1,14 @@ { "swagger": "2.0", "info": { + "version": "2019-09-01", "title": "KeyVaultManagementClient", - "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.", - "version": "2016-10-01" + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." }, "host": "management.azure.com", "schemes": [ "https" ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], "paths": { "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": { "put": { @@ -22,6 +16,7 @@ "Vaults" ], "operationId": "Vaults_CreateOrUpdate", + "x-ms-long-running-operation": true, "description": "Create or update a key vault in the specified subscription.", "parameters": [ { @@ -67,8 +62,126 @@ "schema": { "$ref": "#/definitions/Vault" } + }, + "400": { + "description": "Bad request.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "409": { + "description": "A conflict occurred to prevent the operation from completing.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - } + }, + "x-ms-examples": { + "Create a new vault or update an existing vault": { + "$ref": "./examples/createVault.json" + }, + "Create or update a vault with network acls": { + "$ref": "./examples/createVaultWithNetworkAcls.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Update", + "description": "Update a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the server belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultPatchParameters" + }, + "description": "Parameters to patch the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "200": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "400": { + "description": "Bad request.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "409": { + "description": "A conflict occurred to prevent the operation from completing.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update an existing vault": { + "$ref": "./examples/updateVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] }, "delete": { "tags": [ @@ -101,8 +214,35 @@ "responses": { "200": { "description": "OK Response." + }, + "204": { + "description": "No Content." + }, + "400": { + "description": "Bad request.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - } + }, + "x-ms-examples": { + "Delete a vault": { + "$ref": "./examples/deleteVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] }, "get": { "tags": [ @@ -138,8 +278,134 @@ "schema": { "$ref": "#/definitions/Vault" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - } + }, + "x-ms-examples": { + "Retrieve a vault": { + "$ref": "./examples/getVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": { + "put": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_UpdateAccessPolicy", + "description": "Update access policies in a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "operationKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ], + "x-ms-enum": { + "name": "AccessPolicyUpdateKind", + "modelAsString": false + }, + "description": "Name of the operation" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + }, + "description": "Access policy to merge into the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + }, + "200": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + }, + "400": { + "description": "Bad request.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "409": { + "description": "A conflict occurred to prevent the operation from completing.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Add an access policy, or update an access policy with new permissions": { + "$ref": "./examples/updateAccessPoliciesAdd.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": { @@ -177,11 +443,80 @@ "schema": { "$ref": "#/definitions/VaultListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-examples": { + "List vaults in the specified resource group": { + "$ref": "./examples/listVaultByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListBySubscription", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the specified subscription.", + "schema": { + "$ref": "#/definitions/VaultListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVaultBySubscription.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": { @@ -205,11 +540,28 @@ "schema": { "$ref": "#/definitions/DeletedVaultListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-examples": { + "List deleted vaults in the specified subscription": { + "$ref": "./examples/listDeletedVaults.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": { @@ -247,8 +599,25 @@ "schema": { "$ref": "#/definitions/DeletedVault" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - } + }, + "x-ms-examples": { + "Retrieve a deleted vault": { + "$ref": "./examples/getDeletedVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] } }, "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": { @@ -287,33 +656,440 @@ }, "202": { "description": "Vault is being purged." - } - } - } - } - }, - "definitions": { - "Sku": { - "properties": { - "family": { - "type": "string", - "description": "SKU family name", - "enum": [ "A" ], - "x-ms-enum": { - "name": "SkuFamily", - "modelAsString": true + }, + "400": { + "description": "Bad request.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "404": { + "description": "The specified resource does not exist.", + "schema": { + "$ref": "#/definitions/CloudError" + }, + "x-ms-error-response": true + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "name": { - "type": "string", - "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.", - "enum": [ "standard", "premium" ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false + "x-ms-examples": { + "Purge a deleted vault": { + "$ref": "./examples/purgeDeletedVault.json" } - } - }, + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resources": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_List", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "resourceType eq 'Microsoft.KeyVault/vaults'" + ], + "description": "The filter to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "x-ms-api-version": false, + "type": "string", + "enum": [ + "2015-11-01" + ], + "description": "Azure Resource Manager Api Version." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the subscription.", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVault.json" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": { + "post": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_CheckNameAvailability", + "description": "Checks that the vault name is valid and is not already in use.", + "parameters": [ + { + "name": "vaultName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultCheckNameAvailabilityParameters" + }, + "description": "The name of the vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the vault name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate a vault name": { + "$ref": "./examples/checkVaultNameAvailability.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultGetPrivateEndpointConnection": { + "$ref": "./examples/getPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Private endpoint connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Updates the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultPutPrivateEndpointConnection": { + "$ref": "./examples/putPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The intended state of private endpoint connection." + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The state of private endpoint connection was updated successfully.", + "headers": { + "Retry-After": { + "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultDeletePrivateEndpointConnection": { + "$ref": "./examples/deletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The private endpoint connection is being deleted.", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in the location header.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByVault", + "description": "Gets the private link resources supported for the key vault.", + "x-ms-examples": { + "KeyVaultListPrivateLinkResources": { + "$ref": "./examples/listPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "description": "An error response from Key Vault resource provider", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true + }, + "CloudErrorBody": { + "description": "An error response from Key Vault resource provider", + "properties": { + "code": { + "type": "string", + "description": "Error code. This is a mnemonic that can be consumed programmatically." + }, + "message": { + "type": "string", + "description": "User friendly error message. The message is typically localized and may vary with service version." + } + }, + "x-ms-external": true + }, + "Sku": { + "properties": { + "family": { + "type": "string", + "description": "SKU family name", + "enum": [ + "A" + ], + "x-ms-client-default": "A", + "x-ms-enum": { + "name": "SkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.", + "enum": [ + "standard", + "premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, "description": "SKU details", "required": [ "name", @@ -354,7 +1130,25 @@ "type": "array", "items": { "type": "string", - "enum": [ "encrypt", "decrypt", "wrapKey", "unwrapKey", "sign", "verify", "get", "list", "create", "update", "import", "delete", "backup", "restore", "recover", "purge" ], + "enum": [ + "all", + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], "x-ms-enum": { "name": "KeyPermissions", "modelAsString": true @@ -366,7 +1160,17 @@ "type": "array", "items": { "type": "string", - "enum": [ "get", "list", "set", "delete", "backup", "restore", "recover", "purge" ], + "enum": [ + "all", + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], "x-ms-enum": { "name": "SecretPermissions", "modelAsString": true @@ -378,7 +1182,25 @@ "type": "array", "items": { "type": "string", - "enum": [ "get", "list", "delete", "create", "import", "update", "managecontacts", "getissuers", "listissuers", "setissuers", "deleteissuers", "manageissuers", "recover", "purge" ], + "enum": [ + "all", + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge", + "backup", + "restore" + ], "x-ms-enum": { "name": "CertificatePermissions", "modelAsString": true @@ -390,7 +1212,23 @@ "type": "array", "items": { "type": "string", - "enum": [ "get", "list", "delete", "set", "update", "regeneratekey", "setsas", "listsas", "getsas", "deletesas" ], + "enum": [ + "all", + "get", + "list", + "delete", + "set", + "update", + "regeneratekey", + "recover", + "purge", + "backup", + "restore", + "setsas", + "listsas", + "getsas", + "deletesas" + ], "x-ms-enum": { "name": "StoragePermissions", "modelAsString": true @@ -417,12 +1255,113 @@ "items": { "$ref": "#/definitions/AccessPolicyEntry" }, - "maxItems": 16, - "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required." }, "vaultUri": { "type": "string", - "description": "The URI of the vault for performing operations on keys and secrets." + "description": "The URI of the vault for performing operations on keys and secrets. This property is readonly" + }, + "hsmPoolResourceId": { + "type": "string", + "description": "The resource id of HSM Pool.", + "readOnly": true + }, + "enabledForDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "type": "boolean", + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enableSoftDelete": { + "type": "boolean", + "default": true, + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "default": 90, + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "enableRbacAuthorization": { + "type": "boolean", + "default": false, + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC." + }, + "createMode": { + "type": "string", + "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Rules governing the accessibility of the key vault from specific network locations." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the vault.", + "enum": [ + "Succeeded", + "RegisteringDns" + ], + "x-ms-enum": { + "name": "VaultProvisioningState", + "modelAsString": true + } + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionItem" + }, + "description": "List of private endpoint connections associated with the key vault." + } + }, + "required": [ + "tenantId", + "sku" + ], + "description": "Properties of the vault" + }, + "VaultPatchProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU details" + }, + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." }, "enabledForDeployment": { "type": "boolean", @@ -438,23 +1377,54 @@ }, "enableSoftDelete": { "type": "boolean", - "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. It does not accept false value." + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false." + }, + "enableRbacAuthorization": { + "type": "boolean", + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "description": "softDelete data retention days. It accepts >=7 and <=90." }, "createMode": { "type": "string", "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", - "enum": [ "recover", "default" ], + "enum": [ + "recover", + "default" + ], "x-ms-enum": { "name": "CreateMode", "modelAsString": false } + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility of the vault from specific network locations." + } + }, + "description": "Properties of the vault" + }, + "VaultAccessPolicyProperties": { + "properties": { + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." } }, "required": [ - "tenantId", - "sku" + "accessPolicies" ], - "description": "Properties of the vault" + "description": "Properties of the vault access policy" }, "DeletedVaultProperties": { "properties": { @@ -487,6 +1457,11 @@ "type": "string" }, "description": "Tags of the original vault." + }, + "purgeProtectionEnabled": { + "readOnly": true, + "type": "boolean", + "description": "Purge protection status of the original vault." } }, "description": "Properties of the deleted vault." @@ -516,22 +1491,94 @@ ], "x-ms-azure-resource": true }, - "Vault": { + "VaultPatchParameters": { "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key vault. " + }, "properties": { - "$ref": "#/definitions/VaultProperties", + "$ref": "#/definitions/VaultPatchProperties", "description": "Properties of the vault" } }, + "description": "Parameters for creating or updating a vault", + "x-ms-azure-resource": true + }, + "VaultAccessPolicyParameters": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id of the access policy." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The resource type of the access policy." + }, + "properties": { + "$ref": "#/definitions/VaultAccessPolicyProperties", + "description": "Properties of the access policy" + } + }, + "description": "Parameters for updating the access policy in a vault", "required": [ "properties" ], - "allOf": [ - { - "$ref": "#/definitions/Resource" + "x-ms-azure-resource": true + }, + "Vault": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified identifier of the key vault resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the key vault resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type of the key vault resource." + }, + "location": { + "type": "string", + "description": "Azure location of the key vault resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the key vault resource." + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" } + }, + "required": [ + "properties" ], - "description": "Resource information with extended details." + "description": "Resource information with extended details.", + "x-ms-azure-resource": true }, "DeletedVault": { "properties": { @@ -564,11 +1611,11 @@ "items": { "$ref": "#/definitions/Vault" }, - "description": "Gets or sets the list of vaults." + "description": "The list of vaults." }, "nextLink": { "type": "string", - "description": "Gets or sets the URL to get the next set of vaults." + "description": "The URL to get the next set of vaults." } }, "description": "List of vaults" @@ -596,11 +1643,11 @@ "items": { "$ref": "#/definitions/Resource" }, - "description": "Gets the list of vault resources." + "description": "The list of vault resources." }, "nextLink": { "type": "string", - "description": "Gets the URL to get the next set of vault resources." + "description": "The URL to get the next set of vault resources." } }, "description": "List of vault resources." @@ -610,35 +1657,322 @@ "id": { "readOnly": true, "type": "string", - "description": "The Azure Resource Manager resource ID for the key vault." + "description": "Fully qualified identifier of the key vault resource." }, "name": { + "readOnly": true, "type": "string", - "description": "The name of the key vault." + "description": "Name of the key vault resource." }, "type": { "readOnly": true, "type": "string", - "description": "The resource type of the key vault." + "description": "Resource type of the key vault resource." }, "location": { + "readOnly": true, "type": "string", - "description": "The supported Azure location where the key vault should be created." + "description": "Azure location of the key vault resource." }, "tags": { + "readOnly": true, "type": "object", "additionalProperties": { "type": "string" }, - "description": "The tags that will be assigned to the key vault. " + "description": "Tags assigned to the key vault resource." } }, "description": "Key Vault resource", + "x-ms-azure-resource": true + }, + "VaultCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The vault name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.KeyVault/vaults" + } + }, "required": [ - "location", - "name" + "name", + "type" + ], + "description": "The parameters used to check the availability of the vault name." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "A boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "The reason that a vault name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "An error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.", + "enum": [ + "AzureServices", + "None" + ], + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "defaultAction": { + "type": "string", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a vault." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a vault from a specific ip address or ip range." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Property to specify whether NRP will ignore the check if parent subnet has serviceEndpoints configured." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a vault from a specific virtual network." + }, + "PrivateEndpointConnectionItem": { + "properties": { + "id": { + "type": "string", + "description": "Id of private endpoint connection." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Private endpoint connection properties." + } + }, + "description": "Private endpoint connection item." + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], + "description": "Private endpoint connection resource.", "x-ms-azure-resource": true + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Properties of the private endpoint object." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Approval state of the private link connection." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource." + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full identifier of the private endpoint resource." + } + }, + "description": "Private endpoint object properties." + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer." + } + }, + "description": "An object that represents the approval state of the private link connection." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource" + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "Group identifier of private link resource.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "Required member names of private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required DNS zone names of the the private link resource." + } + }, + "description": "Properties of a private link resource." } }, "parameters": { @@ -647,7 +1981,32 @@ "in": "path", "required": true, "type": "string", - "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the resource group that contains the key vault.", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the key vault.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the key vault.", + "x-ms-parameter-location": "method" }, "ApiVersionParameter": { "name": "api-version", @@ -656,5 +2015,16 @@ "type": "string", "description": "Client Api Version." } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Kusto/kusto.json b/App_Data/SwaggerSpecs/Microsoft.Kusto/kusto.json index 82184df2..c163a868 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Kusto/kusto.json +++ b/App_Data/SwaggerSpecs/Microsoft.Kusto/kusto.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "KustoManagementClient", - "version": "2019-11-09" + "version": "2021-08-27" }, "host": "management.azure.com", "schemes": [ @@ -84,6 +84,22 @@ }, "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation." }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, + { + "name": "If-None-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfNoneMatch", + "description": "Set to '*' to allow a new cluster to be created, but to prevent updating an existing cluster. Other values will result in a 412 Pre-condition Failed response." + }, { "$ref": "#/parameters/SubscriptionIdParameter" }, @@ -140,6 +156,14 @@ }, "description": "The Kusto cluster parameters supplied to the Update operation." }, + { + "name": "If-Match", + "in": "header", + "required": false, + "type": "string", + "x-ms-client-name": "IfMatch", + "description": "The ETag of the cluster. Omit this value to always overwrite the current cluster. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." + }, { "$ref": "#/parameters/SubscriptionIdParameter" }, @@ -835,11 +859,7 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "location", - "in": "path", - "description": "Azure location.", - "required": true, - "type": "string" + "$ref": "#/parameters/LocationNameParameter" }, { "name": "clusterName", @@ -874,11 +894,11 @@ ], "operationId": "Databases_CheckNameAvailability", "x-ms-examples": { - "KustoDatabaseCheckNameAvailability": { + "KustoDatabasesCheckNameAvailability": { "$ref": "./examples/KustoDatabasesCheckNameAvailability.json" } }, - "description": "Checks that the database name is valid and is not already in use.", + "description": "Checks that the databases resource name is valid and is not already in use.", "parameters": [ { "$ref": "#/parameters/ResourceGroupParameter" @@ -918,6 +938,108 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurationCheckNameAvailability": { + "post": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "operationId": "AttachedDatabaseConfigurations_CheckNameAvailability", + "x-ms-examples": { + "KustoAttachedDatabaseConfigurationCheckNameAvailability": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationCheckNameAvailability.json" + } + }, + "description": "Checks that the attached database configuration resource name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfigurationsCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpointsCheckNameAvailability": { + "post": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_CheckNameAvailability", + "x-ms-examples": { + "KustoManagedPrivateEndpointsCheckNameAvailability": { + "$ref": "./examples/KustoManagedPrivateEndpointsCheckNameAvailability.json" + } + }, + "description": "Checks that the managed private endpoints resource name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpointsCheckNameRequest" + }, + "description": "The name of the resource." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": { "get": { "tags": [ @@ -1059,8 +1181,11 @@ "description": "Creates or updates a database.", "operationId": "Databases_CreateOrUpdate", "x-ms-examples": { - "KustoDatabasesCreateOrUpdate": { + "Kusto ReadWrite database create or update": { "$ref": "./examples/KustoDatabasesCreateOrUpdate.json" + }, + "Kusto ReadOnly database update": { + "$ref": "./examples/KustoDatabaseReadonlyUpdate.json" } }, "parameters": [ @@ -1594,19 +1719,22 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts": { "get": { "tags": [ - "AttachedDatabaseConfigurations" + "scripts" ], - "description": "Returns the list of attached database configurations of the given Kusto cluster.", - "operationId": "AttachedDatabaseConfigurations_ListByCluster", + "operationId": "Scripts_ListByDatabase", "x-ms-examples": { - "KustoAttachedDatabaseConfigurationsListByCluster": { - "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json" + "KustoScriptsList": { + "$ref": "./examples/KustoScriptsListByDatabase.json" } }, + "description": "Returns the list of database scripts for given database.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1614,7 +1742,7 @@ "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/DatabaseNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1622,9 +1750,9 @@ ], "responses": { "200": { - "description": "Successfully retrieved the list of attached database configurations.", + "description": "The list result of Kusto database scripts.", "schema": { - "$ref": "#/definitions/AttachedDatabaseConfigurationListResult" + "$ref": "#/definitions/ScriptListResult" } }, "default": { @@ -1639,19 +1767,22 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scripts/{scriptName}": { "get": { "tags": [ - "AttachedDatabaseConfigurations" + "Scripts" ], - "description": "Returns an attached database configuration.", - "operationId": "AttachedDatabaseConfigurations_Get", + "operationId": "Scripts_Get", "x-ms-examples": { - "AttachedDatabaseConfigurationsGet": { - "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json" + "KustoScriptsGet": { + "$ref": "./examples/KustoScriptsGet.json" } }, + "description": "Gets a Kusto cluster database script.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1659,10 +1790,10 @@ "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + "$ref": "#/parameters/DatabaseNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ScriptNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1670,9 +1801,9 @@ ], "responses": { "200": { - "description": "Successfully retrieved the specified attached database configuration.", + "description": "The Kusto cluster database script object.", "schema": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" + "$ref": "#/definitions/Script" } }, "default": { @@ -1685,16 +1816,20 @@ }, "put": { "tags": [ - "AttachedDatabaseConfigurations" + "Scripts" ], - "description": "Creates or updates an attached database configuration.", - "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate", + "operationId": "Scripts_CreateOrUpdate", "x-ms-examples": { - "AttachedDatabaseConfigurationsCreateOrUpdate": { - "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json" + "KustoScriptsCreateOrUpdate": { + "$ref": "./examples/KustoScriptsCreateOrUpdate.json" } }, + "x-ms-long-running-operation": true, + "description": "Creates a Kusto database script.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1702,41 +1837,41 @@ "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ScriptNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" + "$ref": "#/definitions/Script" }, - "description": "The database parameters supplied to the CreateOrUpdate operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "The Kusto Script parameters contains the KQL to run." } ], "responses": { "200": { - "description": "Successfully updated the database.", + "description": "Successfully updated the Script.", "schema": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" + "$ref": "#/definitions/Script" } }, "201": { - "description": "Successfully created the database.", + "description": "Successfully created the script.", "schema": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" + "$ref": "#/definitions/Script" } }, "202": { - "description": "Accepted the create database request.", + "description": "Successfully accepted the Script.", "schema": { - "$ref": "#/definitions/AttachedDatabaseConfiguration" + "$ref": "#/definitions/Script" } }, "default": { @@ -1745,21 +1880,24 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true + } }, - "delete": { + "patch": { "tags": [ - "AttachedDatabaseConfigurations" + "Scripts" ], - "description": "Deletes the attached database configuration with the given name.", - "operationId": "AttachedDatabaseConfigurations_Delete", + "operationId": "Scripts_Update", "x-ms-examples": { - "AttachedDatabaseConfigurationsDelete": { - "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json" + "KustoScriptsUpdate": { + "$ref": "./examples/KustoScriptsUpdate.json" } }, + "x-ms-long-running-operation": true, + "description": "Updates a database script.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1767,24 +1905,36 @@ "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + "$ref": "#/parameters/DatabaseNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ScriptNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Script" + }, + "description": "The Kusto Script parameters contains to the KQL to run." } ], "responses": { "200": { - "description": "Successfully deleted the database." + "description": "Successfully updated the database script.", + "schema": { + "$ref": "#/definitions/Script" + } }, "202": { - "description": "Accepted." - }, - "204": { - "description": "The specified database does not exist." + "description": "Accepted the update request of the database script.", + "schema": { + "$ref": "#/definitions/Script" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -1792,23 +1942,24 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": { - "post": { + } + }, + "delete": { "tags": [ - "Databases" + "Scripts" ], - "operationId": "Databases_RemovePrincipals", + "operationId": "Scripts_Delete", "x-ms-examples": { - "KustoDatabaseRemovePrincipals": { - "$ref": "./examples/KustoDatabaseRemovePrincipals.json" + "KustoScriptsDelete": { + "$ref": "./examples/KustoScriptsDelete.json" } }, - "description": "Remove Database principals permissions.", + "x-ms-long-running-operation": true, + "description": "Deletes a Kusto principalAssignment.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1819,27 +1970,21 @@ "$ref": "#/parameters/DatabaseNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ScriptNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "name": "databasePrincipalsToRemove", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DatabasePrincipalListRequest" - }, - "description": "List of database principals to remove." } ], "responses": { "200": { - "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.", - "schema": { - "$ref": "#/definitions/DatabasePrincipalListResult" - } + "description": "OK -- Script deleted successfully." + }, + "202": { + "description": "Accepted the delete Script request." + }, + "204": { + "description": "NoContent -- If the Script resource is already deleted, this is the expected status code." }, "default": { "description": "Error response describing why the operation failed.", @@ -1850,30 +1995,27 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints": { "get": { "tags": [ - "DataConnections" + "ManagedPrivateEndpoints" ], - "description": "Returns the list of data connections of the given Kusto database.", - "operationId": "DataConnections_ListByDatabase", + "operationId": "ManagedPrivateEndpoints_List", "x-ms-examples": { - "KustoDatabasesListByCluster": { - "$ref": "./examples/KustoDataConnectionsListByDatabase.json" + "KustoManagedPrivateEndpointsList": { + "$ref": "./examples/KustoManagedPrivateEndpointsList.json" } }, + "description": "Returns the list of managed private endpoints.", "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/ResourceGroupParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ClusterNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1881,9 +2023,9 @@ ], "responses": { "200": { - "description": "Successfully retrieved the list of data connections.", + "description": "The list result of managed private endpoints.", "schema": { - "$ref": "#/definitions/DataConnectionListResult" + "$ref": "#/definitions/ManagedPrivateEndpointListResult" } }, "default": { @@ -1898,19 +2040,22 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/managedPrivateEndpoints/{managedPrivateEndpointName}": { + "get": { "tags": [ - "DataConnections" + "ManagedPrivateEndpoints" ], - "operationId": "DataConnections_dataConnectionValidation", + "operationId": "ManagedPrivateEndpoints_Get", "x-ms-examples": { - "KustoDataConnectionValidation": { - "$ref": "./examples/KustoDataConnectionValidation.json" + "KustoManagedPrivateEndpointsGet": { + "$ref": "./examples/KustoManagedPrivateEndpointsGet.json" } }, - "description": "Checks that the data connection parameters are valid.", + "description": "Gets a managed private endpoint.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, { "$ref": "#/parameters/ResourceGroupParameter" }, @@ -1918,46 +2063,960 @@ "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { + } + ], + "responses": { + "200": { + "description": "The managed private endpoint object.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_CreateOrUpdate", + "x-ms-examples": { + "KustoManagedPrivateEndpointsCreateOrUpdate": { + "$ref": "./examples/KustoManagedPrivateEndpointsCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Creates a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The managed private endpoint parameters." + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "201": { + "description": "Successfully created the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "202": { + "description": "Successfully accepted the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Update", + "x-ms-examples": { + "KustoManagedPrivateEndpointsUpdate": { + "$ref": "./examples/KustoManagedPrivateEndpointsUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Updates a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The managed private endpoint parameters." + } + ], + "responses": { + "200": { + "description": "Successfully updated the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "202": { + "description": "Accepted the update request of the managed private endpoint.", + "schema": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ManagedPrivateEndpoints" + ], + "operationId": "ManagedPrivateEndpoints_Delete", + "x-ms-examples": { + "ManagedPrivateEndpointsDelete": { + "$ref": "./examples/KustoManagedPrivateEndpointsDelete.json" + } + }, + "x-ms-long-running-operation": true, + "description": "Deletes a managed private endpoint.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ManagedPrivateEndpointNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK -- managed private endpoint deleted successfully." + }, + "202": { + "description": "Accepted the delete managed private endpoint request." + }, + "204": { + "description": "NoContent -- If the managed private endpoint resource is already deleted, this is the expected status code." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "x-ms-examples": { + "KustoPrivateEndpointConnectionsList": { + "$ref": "./examples/KustoPrivateEndpointConnectionsList.json" + } + }, + "description": "Returns the list of private endpoint connections.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list result of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Gets a private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Approve or reject a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "x-ms-examples": { + "Approve or reject a private endpoint connection with a given name.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully approved or rejected private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Accepted. The private endpoint connection update will complete asynchronously.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Deletes a private endpoint connection with a given name.", + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "Deletes a private endpoint connection with a given name.": { + "$ref": "./examples/KustoPrivateEndpointConnectionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the private endpoint connection." + }, + "202": { + "description": "Accepted. The private endpoint connection delete will complete asynchronously." + }, + "204": { + "description": "Private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Returns the list of private link resources.", + "operationId": "PrivateLinkResources_List", + "x-ms-examples": { + "Gets private endpoint connections.": { + "$ref": "./examples/KustoPrivateLinkResourcesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Gets a private link resource.", + "operationId": "PrivateLinkResources_Get", + "x-ms-examples": { + "Gets private endpoint connection.": { + "$ref": "./examples/KustoPrivateLinkResourcesGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/PrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved a specified private link resource.", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/outboundNetworkDependenciesEndpoints": { + "get": { + "tags": [ + "OutboundNetworkDependenciesEndpoints" + ], + "operationId": "Clusters_ListOutboundNetworkDependenciesEndpoints", + "x-ms-examples": { + "Get Kusto cluster outbound network dependencies": { + "$ref": "./examples/KustoOutboundNetworkDependenciesList.json" + } + }, + "description": "Gets the network endpoints of all outbound dependencies of a Kusto cluster", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OutboundNetworkDependenciesEndpointListResult" + } + }, + "default": { + "description": "Error from the RP", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns the list of attached database configurations of the given Kusto cluster.", + "operationId": "AttachedDatabaseConfigurations_ListByCluster", + "x-ms-examples": { + "KustoAttachedDatabaseConfigurationsListByCluster": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of attached database configurations.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": { + "get": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Returns an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_Get", + "x-ms-examples": { + "AttachedDatabaseConfigurationsGet": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the specified attached database configuration.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Creates or updates an attached database configuration.", + "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate", + "x-ms-examples": { + "AttachedDatabaseConfigurationsCreateOrUpdate": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + }, + "description": "The database parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "201": { + "description": "Successfully created the database.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "202": { + "description": "Accepted the create database request.", + "schema": { + "$ref": "#/definitions/AttachedDatabaseConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AttachedDatabaseConfigurations" + ], + "description": "Deletes the attached database configuration with the given name.", + "operationId": "AttachedDatabaseConfigurations_Delete", + "x-ms-examples": { + "AttachedDatabaseConfigurationsDelete": { + "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the database." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified database does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": { + "post": { + "tags": [ + "Databases" + ], + "operationId": "Databases_RemovePrincipals", + "x-ms-examples": { + "KustoDatabaseRemovePrincipals": { + "$ref": "./examples/KustoDatabaseRemovePrincipals.json" + } + }, + "description": "Remove Database principals permissions.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "databasePrincipalsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DatabasePrincipalListRequest" + }, + "description": "List of database principals to remove." + } + ], + "responses": { + "200": { + "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.", + "schema": { + "$ref": "#/definitions/DatabasePrincipalListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": { + "get": { + "tags": [ + "DataConnections" + ], + "description": "Returns the list of data connections of the given Kusto database.", + "operationId": "DataConnections_ListByDatabase", + "x-ms-examples": { + "KustoDatabasesListByCluster": { + "$ref": "./examples/KustoDataConnectionsListByDatabase.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of data connections.", + "schema": { + "$ref": "#/definitions/DataConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_dataConnectionValidation", + "x-ms-examples": { + "KustoDataConnectionValidation": { + "$ref": "./examples/KustoDataConnectionValidationAsync.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "description": "Checks that the data connection parameters are valid.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnectionValidation" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the kusto resource name availability was successful.", + "schema": { + "$ref": "#/definitions/DataConnectionValidationListResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": { + "post": { + "tags": [ + "DataConnections" + ], + "operationId": "DataConnections_CheckNameAvailability", + "x-ms-examples": { + "KustoDataConnectionsCheckNameAvailability": { + "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json" + } + }, + "description": "Checks that the data connection name is valid and is not already in use.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "parameters", + "name": "dataConnectionName", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DataConnectionValidation" + "$ref": "#/definitions/DataConnectionCheckNameRequest" }, - "description": "The data connection parameters supplied to the CreateOrUpdate operation." + "description": "The name of the data connection." } ], "responses": { "200": { - "description": "OK -- Operation to check the kusto resource name availability was successful.", + "description": "OK -- Operation to check the Kusto resource name availability was successful.", "schema": { - "$ref": "#/definitions/DataConnectionValidationListResult" + "$ref": "#/definitions/CheckNameResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/checkNameAvailability": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/scriptsCheckNameAvailability": { "post": { "tags": [ - "DataConnections" + "Scripts" ], - "operationId": "DataConnections_CheckNameAvailability", + "operationId": "Scripts_CheckNameAvailability", "x-ms-examples": { - "KustoDataConnectionsCheckNameAvailability": { - "$ref": "./examples/KustoDataConnectionsCheckNameAvailability.json" + "KustoScriptsCheckNameAvailability": { + "$ref": "./examples/KustoScriptsCheckNameAvailability.json" } }, - "description": "Checks that the data connection name is valid and is not already in use.", + "description": "Checks that the script name is valid and is not already in use.", "parameters": [ { "$ref": "#/parameters/ResourceGroupParameter" @@ -1975,13 +3034,13 @@ "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "dataConnectionName", + "name": "scriptName", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DataConnectionCheckNameRequest" + "$ref": "#/definitions/ScriptCheckNameRequest" }, - "description": "The name of the data connection." + "description": "The name of the script." } ], "responses": { @@ -2072,16 +3131,225 @@ "$ref": "#/parameters/DataConnectionNameParameter" }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/DataConnection" - }, - "description": "The data connection parameters supplied to the CreateOrUpdate operation." + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the CreateOrUpdate operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully created the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the create data connection request.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "DataConnections" + ], + "description": "Updates a data connection.", + "operationId": "DataConnections_Update", + "x-ms-examples": { + "KustoDataConnectionsUpdate": { + "$ref": "./examples/KustoDataConnectionsUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DataConnection" + }, + "description": "The data connection parameters supplied to the Update operation." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "201": { + "description": "Successfully updated the data connection.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "202": { + "description": "Accepted the update data connection request.", + "schema": { + "$ref": "#/definitions/DataConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "DataConnections" + ], + "description": "Deletes the data connection with the given name.", + "operationId": "DataConnections_Delete", + "x-ms-examples": { + "KustoDataConnectionsDelete": { + "$ref": "./examples/KustoDataConnectionsDelete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupParameter" + }, + { + "$ref": "#/parameters/ClusterNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "$ref": "#/parameters/DataConnectionNameParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted the data connection." + }, + "202": { + "description": "Accepted." + }, + "204": { + "description": "The specified data connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.Kusto/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "KustoOperationsList": { + "$ref": "./examples/KustoOperationsList.json" + } + }, + "description": "Lists available operations for the Microsoft.Kusto provider.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The operation was successful. The response contains the list of available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/listLanguageExtensions": { + "post": { + "tags": [ + "Clusters" + ], + "description": "Returns a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_ListLanguageExtensions", + "x-ms-examples": { + "KustoClusterListLanguageExtensions": { + "$ref": "./examples/KustoClusterListLanguageExtensions.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ClusterNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" @@ -2089,21 +3357,9 @@ ], "responses": { "200": { - "description": "Successfully updated the data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } - }, - "201": { - "description": "Successfully created the data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } - }, - "202": { - "description": "Accepted the create data connection request.", + "description": "Successfully retrieved the list of language extensions.", "schema": { - "$ref": "#/definitions/DataConnection" + "$ref": "#/definitions/LanguageExtensionsList" } }, "default": { @@ -2113,66 +3369,53 @@ } } }, - "x-ms-long-running-operation": true - }, - "patch": { + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/addLanguageExtensions": { + "post": { "tags": [ - "DataConnections" + "Clusters" ], - "description": "Updates a data connection.", - "operationId": "DataConnections_Update", + "description": "Add a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_AddLanguageExtensions", "x-ms-examples": { - "KustoDataConnectionsUpdate": { - "$ref": "./examples/KustoDataConnectionsUpdate.json" + "KustoClusterAddLanguageExtensions": { + "$ref": "./examples/KustoClusterAddLanguageExtensions.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "#/parameters/ResourceGroupParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/DataConnectionNameParameter" + "$ref": "#/parameters/ApiVersionParameter" }, { - "name": "parameters", + "name": "languageExtensionsToAdd", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/DataConnection" + "$ref": "#/definitions/LanguageExtensionsList" }, - "description": "The data connection parameters supplied to the Update operation." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "The language extensions to add." } ], "responses": { "200": { - "description": "Successfully updated the data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } - }, - "201": { - "description": "Successfully updated the data connection.", - "schema": { - "$ref": "#/definitions/DataConnection" - } + "description": "OK." }, "202": { - "description": "Accepted the update data connection request.", - "schema": { - "$ref": "#/definitions/DataConnection" - } + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -2180,49 +3423,51 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true - }, - "delete": { + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/removeLanguageExtensions": { + "post": { "tags": [ - "DataConnections" + "Clusters" ], - "description": "Deletes the data connection with the given name.", - "operationId": "DataConnections_Delete", + "description": "Remove a list of language extensions that can run within KQL queries.", + "operationId": "Clusters_RemoveLanguageExtensions", "x-ms-examples": { - "KustoDataConnectionsDelete": { - "$ref": "./examples/KustoDataConnectionsDelete.json" + "KustoClusterRemoveLanguageExtensions": { + "$ref": "./examples/KustoClusterRemoveLanguageExtensions.json" } }, + "x-ms-long-running-operation": true, "parameters": [ { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ClusterNameParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/DatabaseNameParameter" + "$ref": "#/parameters/ResourceGroupParameter" }, { - "$ref": "#/parameters/DataConnectionNameParameter" + "$ref": "#/parameters/ClusterNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "languageExtensionsToRemove", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LanguageExtensionsList" + }, + "description": "The language extensions to remove." } ], "responses": { "200": { - "description": "Successfully deleted the data connection." + "description": "OK." }, "202": { - "description": "Accepted." - }, - "204": { - "description": "The specified data connection does not exist." + "description": "Accepted" }, "default": { "description": "Error response describing why the operation failed.", @@ -2230,32 +3475,40 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-long-running-operation": true + } } }, - "/providers/Microsoft.Kusto/operations": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Kusto/locations/{location}/operationresults/{operationId}": { "get": { "tags": [ - "Operations" + "OperationResults" ], - "operationId": "Operations_List", + "description": "Returns operation results.", + "operationId": "OperationsResults_Get", "x-ms-examples": { - "KustoOperationsList": { - "$ref": "./examples/KustoOperationsList.json" + "KustoOperationResultsGet": { + "$ref": "./examples/KustoOperationResultsGet.json" } }, - "description": "Lists available operations for the Microsoft.Kusto provider.", "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationNameParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + }, { "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "The operation was successful. The response contains the list of available operations.", + "description": "Successfully retrieved the operation result.", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "#/definitions/OperationResult" } }, "default": { @@ -2264,9 +3517,6 @@ "$ref": "#/definitions/CloudError" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } } @@ -2295,21 +3545,9 @@ } }, "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The provisioned state of the resource." }, "uri": { "type": "string", @@ -2321,6 +3559,11 @@ "readOnly": true, "description": "The cluster data ingestion URI." }, + "stateReason": { + "type": "string", + "readOnly": true, + "description": "The reason for the cluster's current state." + }, "trustedExternalTenants": { "type": "array", "items": { @@ -2335,6 +3578,7 @@ }, "enableDiskEncryption": { "description": "A boolean value that indicates if the cluster's disks are encrypted.", + "default": false, "type": "boolean" }, "enableStreamingIngest": { @@ -2351,6 +3595,87 @@ "type": "object", "$ref": "#/definitions/KeyVaultProperties", "description": "KeyVault properties for the cluster encryption." + }, + "enablePurge": { + "description": "A boolean value that indicates if the purge operations are enabled.", + "default": false, + "type": "boolean" + }, + "languageExtensions": { + "type": "object", + "$ref": "#/definitions/LanguageExtensionsList", + "readOnly": true, + "description": "List of the cluster's language extensions." + }, + "enableDoubleEncryption": { + "description": "A boolean value that indicates if double encryption is enabled.", + "default": false, + "type": "boolean" + }, + "publicNetworkAccess": { + "type": "string", + "description": "Public network access to the cluster is enabled by default. When disabled, only private endpoint connection to the cluster is allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "default": "Enabled" + }, + "allowedIpRangeList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of ips in the format of CIDR allowed to connect to the cluster." + }, + "engineType": { + "type": "string", + "description": "The engine type", + "enum": [ + "V2", + "V3" + ], + "x-ms-enum": { + "name": "EngineType", + "modelAsString": true + }, + "default": "V3" + }, + "acceptedAudiences": { + "type": "array", + "items": { + "$ref": "#/definitions/AcceptedAudiences" + }, + "description": "The cluster's accepted audiences." + }, + "enableAutoStop": { + "description": "A boolean value that indicates if the cluster could be automatically stopped (due to lack of data or no activity for many days).", + "default": true, + "type": "boolean" + }, + "restrictOutboundNetworkAccess": { + "description": "Whether or not to restrict outbound network access. Value is optional but if passed in, must be 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ClusterNetworkAccessFlag", + "modelAsString": true + } + }, + "allowedFqdnList": { + "description": "List of allowed FQDNs(Fully Qualified Domain Name) for egress from Cluster.", + "type": "array", + "items": { + "description": "FQDN to be allowed for egress. Example: my-storageaccount.blob.core.windows.net", + "type": "string" + } } }, "description": "Class representing the Kusto cluster properties." @@ -2405,15 +3730,18 @@ }, "minimum": { "description": "Minimum allowed capacity.", - "type": "integer" + "type": "integer", + "format": "int32" }, "maximum": { "description": "Maximum allowed capacity.", - "type": "integer" + "type": "integer", + "format": "int32" }, "default": { "description": "The default capacity that would be used.", - "type": "integer" + "type": "integer", + "format": "int32" } }, "description": "Azure capacity definition." @@ -2516,10 +3844,23 @@ "Standard_D14_v2", "Standard_L8s", "Standard_L16s", + "Standard_L8s_v2", + "Standard_L16s_v2", "Standard_D11_v2", "Standard_D12_v2", "Standard_L4s", - "Dev(No SLA)_Standard_D11_v2" + "Dev(No SLA)_Standard_D11_v2", + "Standard_E64i_v3", + "Standard_E80ids_v4", + "Standard_E2a_v4", + "Standard_E4a_v4", + "Standard_E8a_v4", + "Standard_E16a_v4", + "Standard_E8as_v4+1TB_PS", + "Standard_E8as_v4+2TB_PS", + "Standard_E16as_v4+3TB_PS", + "Standard_E16as_v4+4TB_PS", + "Dev(No SLA)_Standard_E2a_v4" ], "x-ms-enum": { "name": "AzureSkuName", @@ -2528,7 +3869,8 @@ }, "capacity": { "description": "The number of instances of the cluster.", - "type": "integer" + "type": "integer", + "format": "int32" }, "tier": { "description": "SKU tier.", @@ -2563,7 +3905,8 @@ "properties": { "version": { "description": "The version of the template defined, for instance 1.", - "type": "integer" + "type": "integer", + "format": "int32" }, "isEnabled": { "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.", @@ -2571,11 +3914,13 @@ }, "minimum": { "description": "Minimum allowed instances count.", - "type": "integer" + "type": "integer", + "format": "int32" }, "maximum": { "description": "Maximum allowed instances count.", - "type": "integer" + "type": "integer", + "format": "int32" } }, "description": "A class that contains the optimized auto scale definition." @@ -2590,15 +3935,27 @@ "properties": { "subnetId": { "description": "The subnet resource id.", - "type": "string" + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] }, "enginePublicIpId": { "description": "Engine service's public IP address resource id.", - "type": "string" + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] }, "dataManagementPublicIpId": { "description": "Data management's service public IP address resource id.", - "type": "string" + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] } }, "description": "A class that contains virtual network definition." @@ -2617,21 +3974,9 @@ "AttachedDatabaseConfigurationProperties": { "properties": { "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The provisioned state of the resource." }, "databaseName": { "type": "string", @@ -2661,6 +4006,11 @@ "modelAsString": true }, "description": "The default principals modification kind" + }, + "tableLevelSharingProperties": { + "type": "object", + "$ref": "#/definitions/TableLevelSharingProperties", + "description": "Table level sharing specifications" } }, "description": "Class representing the an attached database configuration properties of kind specific.", @@ -2673,21 +4023,9 @@ "ReadWriteDatabaseProperties": { "properties": { "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The provisioned state of the resource." }, "softDeletePeriod": { "type": "string", @@ -2701,10 +4039,11 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "isFollowed": { - "type": "string", + "type": "boolean", "readOnly": true, "description": "Indicates whether the database is followed." } @@ -2714,21 +4053,9 @@ "ReadOnlyFollowingDatabaseProperties": { "properties": { "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The provisioned state of the resource." }, "softDeletePeriod": { "type": "string", @@ -2743,6 +4070,7 @@ }, "statistics": { "$ref": "#/definitions/DatabaseStatistics", + "readOnly": true, "description": "The statistics of the database." }, "leaderClusterResourceId": { @@ -2804,6 +4132,15 @@ "compression": { "$ref": "#/definitions/Compression", "description": "The event hub messages compression type" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + }, + "managedIdentityResourceId": { + "type": "string", + "description": "The resource ID of a managed identity (system or user assigned) to be used to authenticate with event hub." } }, "required": [ @@ -2844,6 +4181,11 @@ "sharedAccessPolicyName": { "type": "string", "description": "The name of the share access policy" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." } }, "required": [ @@ -2870,7 +4212,9 @@ "AVRO", "TSVE", "PARQUET", - "ORC" + "ORC", + "APACHEAVRO", + "W3CLOGFILE" ], "x-ms-enum": { "name": "eventHubDataFormat", @@ -2894,7 +4238,9 @@ "AVRO", "TSVE", "PARQUET", - "ORC" + "ORC", + "APACHEAVRO", + "W3CLOGFILE" ], "x-ms-enum": { "name": "iotHubDataFormat", @@ -2918,13 +4264,27 @@ "AVRO", "TSVE", "PARQUET", - "ORC" + "ORC", + "APACHEAVRO", + "W3CLOGFILE" ], "x-ms-enum": { "name": "eventGridDataFormat", "modelAsString": true } }, + "BlobStorageEventType": { + "description": "The name of blob storage event type to process.", + "type": "string", + "enum": [ + "Microsoft.Storage.BlobCreated", + "Microsoft.Storage.BlobRenamed" + ], + "x-ms-enum": { + "name": "blobStorageEventType", + "modelAsString": true + } + }, "Compression": { "description": "The compression type", "type": "string", @@ -2935,7 +4295,8 @@ "x-ms-enum": { "name": "compression", "modelAsString": true - } + }, + "default": "None" }, "EventGridConnectionProperties": { "properties": { @@ -2962,14 +4323,25 @@ "dataFormat": { "$ref": "#/definitions/EventGridDataFormat", "description": "The data format of the message. Optionally the data format can be added to each message." + }, + "ignoreFirstRecord": { + "type": "boolean", + "description": "A Boolean value that, if set to true, indicates that ingestion should ignore the first record of every file" + }, + "blobStorageEventType": { + "$ref": "#/definitions/BlobStorageEventType", + "description": "The name of blob storage event type to process." + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." } }, "required": [ "storageAccountResourceId", "eventHubResourceId", - "consumerGroup", - "tableName", - "dataFormat" + "consumerGroup" ], "description": "Class representing the Kusto event grid connection properties." }, @@ -2982,6 +4354,10 @@ "$ref": "#/definitions/AzureSku", "description": "The SKU of the cluster." }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + }, "zones": { "$ref": "#/definitions/Zones", "description": "The availability zones of the cluster." @@ -2994,11 +4370,16 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/ClusterProperties", "description": "The cluster properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." } }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" } ], "description": "Class representing a Kusto cluster." @@ -3037,7 +4418,7 @@ }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" } ], "description": "Class representing an update to a Kusto cluster." @@ -3068,7 +4449,7 @@ }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Class representing an attached database configuration." @@ -3097,7 +4478,7 @@ }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Class representing a Kusto database.", @@ -3151,7 +4532,7 @@ "Ingestor", "Monitor", "User", - "UnrestrictedViewers", + "UnrestrictedViewer", "Viewer" ], "x-ms-enum": { @@ -3216,7 +4597,7 @@ "Ingestor", "Monitor", "User", - "UnrestrictedViewers", + "UnrestrictedViewer", "Viewer" ], "x-ms-enum": { @@ -3252,21 +4633,9 @@ "description": "The principal name" }, "provisioningState": { - "type": "string", + "$ref": "#/definitions/ProvisioningState", "readOnly": true, - "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The provisioned state of the resource." } }, "description": "A class representing database principal property." @@ -3323,54 +4692,416 @@ "description": "The principal name" }, "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing cluster principal property." + }, + "ScriptProperties": { + "type": "object", + "required": [ + "scriptUrl", + "scriptUrlSasToken" + ], + "properties": { + "scriptUrl": { + "description": "The url to the KQL script blob file.", + "type": "string" + }, + "scriptUrlSasToken": { + "description": "The SaS token.", "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "forceUpdateTag": { + "description": "A unique string. If changed the script will be applied again.", + "type": "string" + }, + "continueOnErrors": { + "description": "Flag that indicates whether to continue if one of the command fails.", + "type": "boolean", + "default": false + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", "readOnly": true, + "description": "The provisioned state of the resource." + } + }, + "description": "A class representing database script property." + }, + "ManagedPrivateEndpointProperties": { + "type": "object", + "required": [ + "privateLinkResourceId", + "groupId" + ], + "properties": { + "privateLinkResourceId": { + "description": "The ARM resource ID of the resource for which the managed private endpoint is created.", + "type": "string" + }, + "privateLinkResourceRegion": { + "description": "The region of the resource to which the managed private endpoint is created.", + "type": "string" + }, + "groupId": { + "description": "The groupId in which the managed private endpoint is created.", + "type": "string" + }, + "requestMessage": { + "description": "The user request message.", + "type": "string" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", "description": "The provisioned state of the resource.", - "enum": [ - "Running", - "Creating", - "Deleting", - "Succeeded", - "Failed", - "Moving" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true + "readOnly": true + } + }, + "description": "A class representing the properties of a managed private endpoint object." + }, + "DatabasePrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DatabasePrincipalProperties", + "description": "The database principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a database principal assignment." + }, + "ClusterPrincipalAssignment": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterPrincipalProperties", + "description": "The cluster principal." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a cluster principal assignment." + }, + "ScriptListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Script" + }, + "description": "The list of Kusto scripts." + } + }, + "description": "The list Kusto database script operation response." + }, + "Script": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScriptProperties", + "description": "The database script." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a database script." + }, + "ManagedPrivateEndpointListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedPrivateEndpoint" + }, + "description": "The list of managed private endpoints." + } + }, + "description": "The list managed private endpoints operation response." + }, + "ManagedPrivateEndpoint": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedPrivateEndpointProperties", + "description": "A managed private endpoint." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Class representing a managed private endpoint." + }, + "PrivateEndpointConnectionListResult": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" } } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } }, - "description": "A class representing cluster principal property." + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "description": "Properties of a private endpoint connection.", + "required": [ + "privateLinkServiceConnectionState" + ], + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpointProperty", + "description": "Private endpoint which the connection belongs to.", + "readOnly": true + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty", + "description": "Connection State of the Private Endpoint Connection." + }, + "groupId": { + "type": "string", + "description": "Group id of the private endpoint.", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the private endpoint.", + "readOnly": true + } + } + }, + "PrivateEndpointProperty": { + "type": "object", + "description": "Private endpoint which the connection belongs to.", + "properties": { + "id": { + "type": "string", + "description": "Resource id of the private endpoint.", + "readOnly": true + } + } + }, + "PrivateLinkServiceConnectionStateProperty": { + "type": "object", + "description": "Connection State of the Private Endpoint Connection.", + "properties": { + "status": { + "type": "string", + "description": "The private link service connection status." + }, + "description": { + "type": "string", + "description": "The private link service connection description." + }, + "actionsRequired": { + "type": "string", + "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)", + "readOnly": true + } + } + }, + "PrivateLinkResourceListResult": { + "description": "A list of private link resources", + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + } + }, + "PrivateLinkResource": { + "description": "A private link resource", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "PrivateLinkResourceProperties": { + "description": "Properties of a private link resource.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group id.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "The private link resource required member names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The private link resource required zone names.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "OutboundNetworkDependenciesEndpointListResult": { + "description": "Collection of Outbound Environment Endpoints", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/OutboundNetworkDependenciesEndpoint" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } }, - "DatabasePrincipalAssignment": { + "OutboundNetworkDependenciesEndpoint": { + "description": "Endpoints accessed for a common purpose that the Kusto Service Environment requires outbound network access to.", + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/DatabasePrincipalProperties", - "description": "The database principal." + "$ref": "#/definitions/OutboundNetworkDependenciesEndpointProperties", + "description": "The outbound environment endpoint properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." } }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } - ], - "description": "Class representing a database principal assignment." + ] }, - "ClusterPrincipalAssignment": { + "OutboundNetworkDependenciesEndpointProperties": { + "description": "Endpoints accessed for a common purpose that the Kusto Service Environment requires outbound network access to.", + "type": "object", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterPrincipalProperties", - "description": "The cluster principal." + "category": { + "description": "The type of service accessed by the Kusto Service Environment, e.g., Azure Storage, Azure SQL Database, and Azure Active Directory.", + "type": "string" + }, + "endpoints": { + "description": "The endpoints that the Kusto Service Environment reaches the service at.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDependency" + } + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioned state of the resource." } - }, - "allOf": [ - { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + }, + "EndpointDependency": { + "description": "A domain name that a service is reached at, including details of the current connection status.", + "type": "object", + "properties": { + "domainName": { + "description": "The domain name of the dependency.", + "type": "string" + }, + "endpointDetails": { + "description": "The ports used when connecting to DomainName.", + "type": "array", + "items": { + "$ref": "#/definitions/EndpointDetail" + } } - ], - "description": "Class representing a cluster principal assignment." + } + }, + "EndpointDetail": { + "description": "Current TCP connectivity information from the Kusto cluster to a single endpoint.", + "type": "object", + "properties": { + "port": { + "format": "int32", + "description": "The port an endpoint is connected to.", + "type": "integer" + } + } }, "ClusterListResult": { "properties": { @@ -3462,14 +5193,14 @@ ], "type": "string", "x-ms-enum": { - "name": "Kind", + "name": "DataConnectionKind", "modelAsString": true } } }, "allOf": [ { - "$ref": "../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" } ], "description": "Class representing an data connection.", @@ -3639,7 +5370,7 @@ "Microsoft.Kusto/clusters" ], "x-ms-enum": { - "name": "Type", + "name": "ClusterType", "modelAsString": false }, "description": "The type of resource, Microsoft.Kusto/clusters." @@ -3677,6 +5408,56 @@ ], "description": "The result returned from a database check name availability request." }, + "AttachedDatabaseConfigurationsCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Attached database resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/attachedDatabaseConfigurations" + ], + "x-ms-enum": { + "name": "AttachedDatabaseType", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/attachedDatabaseConfigurations." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a AttachedDatabaseConfigurations check name availability request." + }, + "ManagedPrivateEndpointsCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Managed private endpoint resource name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/managedPrivateEndpoints" + ], + "x-ms-enum": { + "name": "ManagedPrivateEndpointsType", + "modelAsString": false + }, + "description": "The type of resource, for instance Microsoft.Kusto/clusters/managedPrivateEndpoints." + } + }, + "required": [ + "name", + "type" + ], + "description": "The result returned from a managedPrivateEndpoints check name availability request." + }, "ClusterPrincipalAssignmentCheckNameRequest": { "type": "object", "properties": { @@ -3690,7 +5471,7 @@ "Microsoft.Kusto/clusters/principalAssignments" ], "x-ms-enum": { - "name": "Type", + "name": "PrincipalAssignmentType", "modelAsString": false }, "description": "The type of resource, Microsoft.Kusto/clusters/principalAssignments." @@ -3715,7 +5496,7 @@ "Microsoft.Kusto/clusters/databases/dataConnections" ], "x-ms-enum": { - "name": "Type", + "name": "DataConnectionType", "modelAsString": false }, "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections." @@ -3727,6 +5508,31 @@ ], "description": "A data connection check name availability request." }, + "ScriptCheckNameRequest": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Script name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Kusto/clusters/databases/scripts" + ], + "x-ms-enum": { + "name": "ScriptType", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Kusto/clusters/databases/scripts." + } + }, + "required": [ + "name", + "type" + ], + "description": "A script name availability request." + }, "DatabasePrincipalAssignmentCheckNameRequest": { "type": "object", "properties": { @@ -3740,7 +5546,7 @@ "Microsoft.Kusto/clusters/databases/principalAssignments" ], "x-ms-enum": { - "name": "Type", + "name": "DatabasePrincipalAssignmentType", "modelAsString": false }, "description": "The type of resource, Microsoft.Kusto/clusters/databases/principalAssignments." @@ -3892,14 +5698,16 @@ }, "type": { "type": "string", - "description": "The identity type.", + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove all identities.", "enum": [ "None", - "SystemAssigned" + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned" ], "x-ms-enum": { "name": "IdentityType", - "modelAsString": false + "modelAsString": true } }, "userAssignedIdentities": { @@ -3929,11 +5737,6 @@ }, "KeyVaultProperties": { "description": "Properties of the key vault.", - "required": [ - "keyName", - "keyVersion", - "keyVaultUri" - ], "properties": { "keyName": { "type": "string", @@ -3949,8 +5752,209 @@ "type": "string", "description": "The Uri of the key vault.", "x-ms-client-name": "KeyVaultUri" + }, + "userIdentity": { + "type": "string", + "description": "The user assigned identity (ARM resource id) that has access to the key.", + "x-ms-client-name": "UserIdentity" + } + } + }, + "LanguageExtensionName": { + "description": "Language extension that can run within KQL query.", + "type": "string", + "enum": [ + "PYTHON", + "R" + ], + "x-ms-enum": { + "name": "languageExtensionName", + "modelAsString": true + } + }, + "LanguageExtension": { + "type": "object", + "description": "The language extension object.", + "properties": { + "languageExtensionName": { + "$ref": "#/definitions/LanguageExtensionName", + "description": "The language extension name." + } + } + }, + "LanguageExtensionsList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/LanguageExtension" + }, + "description": "The list of language extensions." + } + }, + "description": "The list of language extension objects." + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The provisioned state of the resource.", + "enum": [ + "Running", + "Creating", + "Deleting", + "Succeeded", + "Failed", + "Moving" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "OperationResult": { + "description": "Operation Result Entity.", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "description": "ID of the resource.", + "type": "string" + }, + "name": { + "readOnly": true, + "description": "Name of the resource.", + "type": "string" + }, + "status": { + "description": "status of the Operation result.", + "$ref": "#/definitions/Status" + }, + "startTime": { + "description": "The operation start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The operation end time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100, + "description": "Percentage completed." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationResultProperties", + "description": "Properties of the operation results" + }, + "error": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OperationResultErrorProperties", + "description": "Object that contains the error code and message if the operation failed." } } + }, + "Status": { + "readOnly": true, + "description": "The status of operation.", + "type": "string", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "Running" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true + } + }, + "OperationResultProperties": { + "properties": { + "operationKind": { + "type": "string", + "description": "The kind of the operation." + }, + "operationState": { + "type": "string", + "description": "The state of the operation." + } + }, + "description": "Operation result properties" + }, + "OperationResultErrorProperties": { + "properties": { + "code": { + "type": "string", + "description": "The code of the error." + }, + "message": { + "type": "string", + "description": "The error message." + } + }, + "description": "Operation result error properties" + }, + "TableLevelSharingProperties": { + "properties": { + "tablesToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tables to include in the follower database" + }, + "tablesToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of tables to exclude from the follower database" + }, + "externalTablesToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of external tables to include in the follower database" + }, + "externalTablesToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of external tables exclude from the follower database" + }, + "materializedViewsToInclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of materialized views to include in the follower database" + }, + "materializedViewsToExclude": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of materialized views exclude from the follower database" + } + }, + "description": "Tables that will be included and excluded in the follower database" + }, + "AcceptedAudiences": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "GUID or valid URL representing an accepted audience." + } + }, + "description": "Represents an accepted audience trusted by the cluster." } }, "parameters": { @@ -3976,6 +5980,14 @@ "type": "string", "x-ms-parameter-location": "method" }, + "LocationNameParameter": { + "name": "location", + "in": "path", + "description": "Azure location (region) name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, "AttachedDatabaseConfigurationNameParameter": { "name": "attachedDatabaseConfigurationName", "in": "path", @@ -4015,6 +6027,46 @@ "required": true, "type": "string", "x-ms-parameter-location": "method" + }, + "ScriptNameParameter": { + "name": "scriptName", + "in": "path", + "description": "The name of the Kusto database script.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "The Guid of the operation ID", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "description": "The name of the private endpoint connection." + }, + "PrivateLinkResourceNameParameter": { + "name": "privateLinkResourceName", + "in": "path", + "description": "The name of the private link resource.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" + }, + "ManagedPrivateEndpointNameParameter": { + "name": "managedPrivateEndpointName", + "in": "path", + "description": "The name of the managed private endpoint.", + "required": true, + "x-ms-parameter-location": "method", + "type": "string" } }, "securityDefinitions": { @@ -4028,4 +6080,4 @@ } } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Logic/logic.json b/App_Data/SwaggerSpecs/Microsoft.Logic/logic.json index 9837f6dc..71195d2d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Logic/logic.json +++ b/App_Data/SwaggerSpecs/Microsoft.Logic/logic.json @@ -3,7 +3,7 @@ "info": { "title": "LogicManagementClient", "description": "REST API for Azure Logic Apps.", - "version": "2016-06-01" + "version": "2019-05-01" }, "host": "management.azure.com", "schemes": [ @@ -41,6 +41,11 @@ ], "operationId": "Workflows_ListBySubscription", "description": "Gets a list of workflows by subscription.", + "x-ms-examples": { + "List all workflows in a subscription": { + "$ref": "./examples/Workflows_ListBySubscription.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -58,7 +63,7 @@ }, { "name": "$filter", - "description": "The filter to apply on the operation.", + "description": "The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId.", "in": "query", "required": false, "type": "string" @@ -70,6 +75,12 @@ "schema": { "$ref": "#/definitions/WorkflowListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -85,6 +96,11 @@ ], "operationId": "Workflows_ListByResourceGroup", "description": "Gets a list of workflows by resource group.", + "x-ms-examples": { + "List all workflows in a resource group": { + "$ref": "./examples/Workflows_ListByResourceGroup.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -109,7 +125,7 @@ }, { "name": "$filter", - "description": "The filter to apply on the operation.", + "description": "The filter to apply on the operation. Options for filters include: State, Trigger, and ReferencedResourceId.", "in": "query", "required": false, "type": "string" @@ -121,6 +137,12 @@ "schema": { "$ref": "#/definitions/WorkflowListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -136,6 +158,11 @@ ], "operationId": "Workflows_Get", "description": "Gets a workflow.", + "x-ms-examples": { + "Get a workflow": { + "$ref": "./examples/Workflows_Get.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -164,6 +191,12 @@ "schema": { "$ref": "#/definitions/Workflow" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -173,6 +206,11 @@ ], "operationId": "Workflows_CreateOrUpdate", "description": "Creates or updates a workflow.", + "x-ms-examples": { + "Create or update a workflow": { + "$ref": "./examples/Workflows_CreateOrUpdate.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -216,6 +254,12 @@ "schema": { "$ref": "#/definitions/Workflow" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -225,6 +269,11 @@ ], "operationId": "Workflows_Update", "description": "Updates a workflow.", + "x-ms-examples": { + "Patch a workflow": { + "$ref": "./examples/Workflows_Update.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -245,15 +294,6 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "name": "workflow", - "description": "The workflow.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Workflow" - } } ], "responses": { @@ -262,6 +302,12 @@ "schema": { "$ref": "#/definitions/Workflow" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } }, @@ -271,6 +317,11 @@ ], "operationId": "Workflows_Delete", "description": "Deletes a workflow.", + "x-ms-examples": { + "Delete a workflow": { + "$ref": "./examples/Workflows_Delete.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -299,6 +350,12 @@ }, "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -310,6 +367,11 @@ ], "operationId": "Workflows_Disable", "description": "Disables a workflow.", + "x-ms-examples": { + "Disable a workflow": { + "$ref": "./examples/Workflows_Disable.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -335,6 +397,12 @@ "responses": { "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -346,6 +414,11 @@ ], "operationId": "Workflows_Enable", "description": "Enables a workflow.", + "x-ms-examples": { + "Enable a workflow": { + "$ref": "./examples/Workflows_Enable.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -371,6 +444,12 @@ "responses": { "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -382,6 +461,11 @@ ], "operationId": "Workflows_GenerateUpgradedDefinition", "description": "Generates the upgraded definition for a workflow.", + "x-ms-examples": { + "Generate an upgraded definition": { + "$ref": "./examples/Workflows_GenerateUpgradedDefinition.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -419,6 +503,71 @@ "schema": { "$ref": "#/definitions/Object" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/listCallbackUrl": { + "post": { + "tags": [ + "Workflows" + ], + "operationId": "Workflows_ListCallbackUrl", + "description": "Get the workflow callback Url.", + "x-ms-examples": { + "Get callback url": { + "$ref": "./examples/Workflows_ListCallbackUrl.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "listCallbackUrl", + "description": "Which callback url to list.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } @@ -430,6 +579,11 @@ ], "operationId": "Workflows_ListSwagger", "description": "Gets an OpenAPI definition for the workflow.", + "x-ms-examples": { + "Get the swagger for a workflow": { + "$ref": "./examples/Workflows_ListSwagger.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -458,20 +612,27 @@ "schema": { "$ref": "#/definitions/Object" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/move": { "post": { "tags": [ "Workflows" ], - "operationId": "Workflows_RegenerateAccessKey", - "description": "Regenerates the callback URL access key for request triggers.", + "operationId": "Workflows_Move", + "x-ms-long-running-operation": true, + "description": "Moves an existing workflow.", "x-ms-examples": { - "Regenerate the callback URL access key for request triggers": { - "$ref": "../examples/WorkflowsRegenerateAccessKey.json" + "Move a workflow": { + "$ref": "./examples/Workflows_Move.json" } }, "parameters": [ @@ -493,12 +654,12 @@ "type": "string" }, { - "name": "keyType", - "description": "The access key type.", + "name": "move", + "description": "The workflow to move.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RegenerateActionParameter" + "$ref": "#/definitions/WorkflowReference" } }, { @@ -508,17 +669,31 @@ "responses": { "200": { "description": "OK" + }, + "202": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/regenerateAccessKey": { + "post": { "tags": [ - "WorkflowVersions" + "Workflows" ], - "operationId": "WorkflowVersions_List", - "description": "Gets a list of workflow versions.", + "operationId": "Workflows_RegenerateAccessKey", + "description": "Regenerates the callback URL access key for request triggers.", + "x-ms-examples": { + "Regenerate the callback URL access key for request triggers": { + "$ref": "./examples/Workflows_RegenerateAccessKey.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -538,37 +713,43 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "keyType", + "description": "The access key type.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateActionParameter" + } }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/WorkflowVersionListResult" + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/validate": { + "post": { "tags": [ - "WorkflowVersions" + "Workflows" ], - "operationId": "WorkflowVersions_Get", - "description": "Gets a workflow version.", + "operationId": "Workflows_ValidateByResourceGroup", + "description": "Validates the workflow.", + "x-ms-examples": { + "Validate a workflow": { + "$ref": "./examples/Workflows_ValidateByResourceGroup.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -588,11 +769,13 @@ "type": "string" }, { - "name": "versionId", - "description": "The workflow versionId.", - "in": "path", + "name": "validate", + "description": "The workflow.", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/Workflow" + } }, { "$ref": "#/parameters/api-version" @@ -600,21 +783,29 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/WorkflowVersion" + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions": { "get": { "tags": [ - "WorkflowTriggers" + "WorkflowVersions" ], - "operationId": "WorkflowTriggers_List", - "description": "Gets a list of workflow triggers.", + "operationId": "WorkflowVersions_List", + "description": "Gets a list of workflow versions.", + "x-ms-examples": { + "List a workflows versions": { + "$ref": "./examples/WorkflowVersions_List.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -643,39 +834,42 @@ "required": false, "type": "integer", "format": "int32" - }, - { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowTriggerListResult" + "$ref": "#/definitions/WorkflowVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/WorkflowTriggerFilter" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}": { "get": { "tags": [ - "WorkflowTriggers" + "WorkflowVersions" ], - "operationId": "WorkflowTriggers_Get", - "description": "Gets a workflow trigger.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" + "operationId": "WorkflowVersions_Get", + "description": "Gets a workflow version.", + "x-ms-examples": { + "Get a workflow version": { + "$ref": "./examples/WorkflowVersions_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" }, { "name": "resourceGroupName", @@ -692,8 +886,8 @@ "type": "string" }, { - "name": "triggerName", - "description": "The workflow trigger name.", + "name": "versionId", + "description": "The workflow versionId.", "in": "path", "required": true, "type": "string" @@ -706,19 +900,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowTrigger" + "$ref": "#/definitions/WorkflowVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers": { + "get": { "tags": [ "WorkflowTriggers" ], - "operationId": "WorkflowTriggers_Run", - "description": "Runs a workflow trigger.", + "operationId": "WorkflowTriggers_List", + "description": "Gets a list of workflow triggers.", + "x-ms-examples": { + "List workflow triggers": { + "$ref": "./examples/WorkflowTriggers_List.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -738,33 +943,56 @@ "type": "string" }, { - "name": "triggerName", - "description": "The workflow trigger name.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/api-version" }, { - "$ref": "#/parameters/api-version" + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation.", + "in": "query", + "required": false, + "type": "string" } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerListResult" + } + }, "default": { - "description": "All status codes are acceptable.", + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Object" + "$ref": "#/definitions/ErrorResponse" } } - } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/WorkflowTriggerFilter" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}": { + "get": { "tags": [ "WorkflowTriggers" ], - "operationId": "WorkflowTriggers_ListCallbackUrl", - "description": "Gets the callback URL for a workflow trigger.", + "operationId": "WorkflowTriggers_Get", + "description": "Gets a workflow trigger.", + "x-ms-examples": { + "Get a workflow trigger": { + "$ref": "./examples/WorkflowTriggers_Get.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -798,22 +1026,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + "$ref": "#/definitions/WorkflowTrigger" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/reset": { "post": { "tags": [ "WorkflowTriggers" ], - "operationId": "WorkflowVersions_ListCallbackUrl", - "description": "Lists the callback URL for a trigger of a workflow version.", + "operationId": "WorkflowTriggers_Reset", + "description": "Resets a workflow trigger.", "x-ms-examples": { - "Get callback URL for a trigger of a workflow version": { - "$ref": "../examples/WorkflowVersionsListCallbackUrl.json" + "Reset trigger": { + "$ref": "./examples/WorkflowTriggers_Reset.json" } }, "parameters": [ @@ -834,13 +1068,6 @@ "required": true, "type": "string" }, - { - "name": "versionId", - "description": "The workflow versionId.", - "in": "path", - "required": true, - "type": "string" - }, { "name": "triggerName", "description": "The workflow trigger name.", @@ -848,36 +1075,35 @@ "required": true, "type": "string" }, - { - "name": "parameters", - "description": "The callback URL parameters.", - "in": "body", - "required": false, - "schema": { - "$ref": "#/definitions/GetCallbackUrlParameters" - } - }, { "$ref": "#/parameters/api-version" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/run": { + "post": { "tags": [ - "WorkflowTriggerHistories" + "WorkflowTriggers" ], - "operationId": "WorkflowTriggerHistories_List", - "description": "Gets a list of workflow trigger histories.", + "operationId": "WorkflowTriggers_Run", + "description": "Runs a workflow trigger.", + "x-ms-examples": { + "Run a workflow trigger": { + "$ref": "./examples/WorkflowTriggers_Run.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -905,44 +1131,36 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the trigger run failed.", "schema": { - "$ref": "#/definitions/WorkflowTriggerHistoryListResult" + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/WorkflowTriggerHistoryFilter" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/schemas/json": { "get": { "tags": [ - "WorkflowTriggerHistories" + "WorkflowTriggers" ], - "operationId": "WorkflowTriggerHistories_Get", - "description": "Gets a workflow trigger history.", + "operationId": "WorkflowTriggers_GetSchemaJson", + "description": "Get the trigger schema as JSON.", + "x-ms-examples": { + "Get trigger schema": { + "$ref": "./examples/WorkflowTriggers_GetSchemaJson.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -968,13 +1186,6 @@ "required": true, "type": "string" }, - { - "name": "historyName", - "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.", - "in": "path", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/api-version" } @@ -983,22 +1194,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowTriggerHistory" + "$ref": "#/definitions/JsonSchema" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/setState": { "post": { "tags": [ - "WorkflowTriggerHistories" + "WorkflowTriggers" ], - "operationId": "WorkflowTriggerHistories_Resubmit", - "description": "Resubmits a workflow run based on the trigger history.", + "operationId": "WorkflowTriggers_SetState", + "description": "Sets the state of a workflow trigger.", "x-ms-examples": { - "Resubmit a workflow run based on the trigger history": { - "$ref": "../examples/WorkflowTriggerHistoriesResubmit.json" + "Set trigger state": { + "$ref": "./examples/WorkflowTriggers_SetState.json" } }, "parameters": [ @@ -1027,30 +1244,43 @@ "type": "string" }, { - "name": "historyName", - "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.", - "in": "path", + "name": "setState", + "description": "The workflow trigger state.", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/SetTriggerStateActionDefinition" + } }, { "$ref": "#/parameters/api-version" } ], "responses": { - "202": { + "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/listCallbackUrl": { + "post": { "tags": [ - "WorkflowRuns" + "WorkflowTriggers" ], - "operationId": "WorkflowRuns_List", - "description": "Gets a list of workflow runs.", + "operationId": "WorkflowTriggers_ListCallbackUrl", + "description": "Get the callback URL for a workflow trigger.", + "x-ms-examples": { + "Get the callback URL for a trigger": { + "$ref": "./examples/WorkflowTriggers_ListCallbackUrl.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1070,45 +1300,44 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" - }, - { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "triggerName", + "description": "The workflow trigger name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowRunListResult" + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/WorkflowRunFilter" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/versions/{versionId}/triggers/{triggerName}/listCallbackUrl": { + "post": { "tags": [ - "WorkflowRuns" + "WorkflowTriggers" ], - "operationId": "WorkflowRuns_Get", - "description": "Gets a workflow run.", + "operationId": "WorkflowVersionTriggers_ListCallbackUrl", + "description": "Get the callback url for a trigger of a workflow version.", + "x-ms-examples": { + "Get the callback url for a trigger of a workflow version": { + "$ref": "./examples/WorkflowVersionTriggers_ListCallbackUrl.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1128,57 +1357,27 @@ "type": "string" }, { - "name": "runName", - "description": "The workflow run name.", + "name": "versionId", + "description": "The workflow versionId.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/WorkflowRun" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel": { - "post": { - "tags": [ - "WorkflowRuns" - ], - "operationId": "WorkflowRuns_Cancel", - "description": "Cancels a workflow run.", - "parameters": [ - { - "$ref": "#/parameters/subscriptionId" - }, - { - "name": "resourceGroupName", - "description": "The resource group name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "description": "The workflow name.", + "name": "triggerName", + "description": "The workflow trigger name.", "in": "path", "required": true, "type": "string" }, { - "name": "runName", - "description": "The workflow run name.", - "in": "path", - "required": true, - "type": "string" + "name": "parameters", + "description": "The callback URL parameters.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } }, { "$ref": "#/parameters/api-version" @@ -1186,18 +1385,32 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories": { "get": { "tags": [ - "WorkflowRunActions" + "WorkflowTriggerHistories" ], - "operationId": "WorkflowRunActions_List", - "description": "Gets a list of workflow run actions.", + "operationId": "WorkflowTriggerHistories_List", + "description": "Gets a list of workflow trigger histories.", + "x-ms-examples": { + "List a workflow trigger history": { + "$ref": "./examples/WorkflowTriggerHistories_List.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1217,8 +1430,8 @@ "type": "string" }, { - "name": "runName", - "description": "The workflow run name.", + "name": "triggerName", + "description": "The workflow trigger name.", "in": "path", "required": true, "type": "string" @@ -1236,7 +1449,7 @@ }, { "name": "$filter", - "description": "The filter to apply on the operation.", + "description": "The filter to apply on the operation. Options for filters include: Status, StartTime, and ClientTrackingId.", "in": "query", "required": false, "type": "string" @@ -1246,23 +1459,34 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowRunActionListResult" + "$ref": "#/definitions/WorkflowTriggerHistoryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "#/definitions/WorkflowRunActionFilter" + "x-ms-odata": "#/definitions/WorkflowTriggerHistoryFilter" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}": { "get": { "tags": [ - "WorkflowRunActions" + "WorkflowTriggerHistories" ], - "operationId": "WorkflowRunActions_Get", - "description": "Gets a workflow run action.", + "operationId": "WorkflowTriggerHistories_Get", + "description": "Gets a workflow trigger history.", + "x-ms-examples": { + "Get a workflow trigger history": { + "$ref": "./examples/WorkflowTriggerHistories_Get.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1282,15 +1506,15 @@ "type": "string" }, { - "name": "runName", - "description": "The workflow run name.", + "name": "triggerName", + "description": "The workflow trigger name.", "in": "path", "required": true, "type": "string" }, { - "name": "actionName", - "description": "The workflow action name.", + "name": "historyName", + "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.", "in": "path", "required": true, "type": "string" @@ -1303,19 +1527,30 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowRunAction" + "$ref": "#/definitions/WorkflowTriggerHistory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/triggers/{triggerName}/histories/{historyName}/resubmit": { "post": { "tags": [ - "Workflows" + "WorkflowTriggerHistories" ], - "operationId": "Workflows_Validate", - "description": "Validates the workflow definition.", + "operationId": "WorkflowTriggerHistories_Resubmit", + "description": "Resubmits a workflow run based on the trigger history.", + "x-ms-examples": { + "Resubmit a workflow run based on the trigger history": { + "$ref": "./examples/WorkflowTriggerHistories_Resubmit.json" + } + }, "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1328,55 +1563,73 @@ "type": "string" }, { - "name": "location", - "description": "The workflow location.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "workflowName", - "description": "The workflow name.", + "name": "triggerName", + "description": "The workflow trigger name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "historyName", + "description": "The workflow trigger history name. Corresponds to the run name for triggers that resulted in a run.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "workflow", - "description": "The workflow definition.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Workflow" - } + "$ref": "#/parameters/api-version" } ], "responses": { - "200": { + "202": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs": { "get": { "tags": [ - "IntegrationAccounts" + "WorkflowRuns" ], - "operationId": "IntegrationAccounts_ListBySubscription", - "description": "Gets a list of integration accounts by subscription.", + "operationId": "WorkflowRuns_List", + "description": "Gets a list of workflow runs.", "x-ms-examples": { - "List IntegrationAccounts by subscription": { - "$ref": "../examples/IntegrationAccountsListBySubscription.json" + "List workflow runs": { + "$ref": "./examples/WorkflowRuns_List.json" } }, "parameters": [ { "$ref": "#/parameters/subscriptionId" }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/api-version" }, @@ -1387,31 +1640,45 @@ "required": false, "type": "integer", "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: Status, StartTime, and ClientTrackingId.", + "in": "query", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountListResult" + "$ref": "#/definitions/WorkflowRunListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - } + }, + "x-ms-odata": "#/definitions/WorkflowRunFilter" } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}": { "get": { "tags": [ - "IntegrationAccounts" + "WorkflowRuns" ], - "operationId": "IntegrationAccounts_ListByResourceGroup", - "description": "Gets a list of integration accounts by resource group.", + "operationId": "WorkflowRuns_Get", + "description": "Gets a workflow run.", "x-ms-examples": { - "List IntegrationAccounts by resourcegroup name": { - "$ref": "../examples/IntegrationAccountsListByResourceGroup.json" + "Get a run for a workflow": { + "$ref": "./examples/WorkflowRuns_Get.json" } }, "parameters": [ @@ -1426,40 +1693,49 @@ "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountListResult" + "$ref": "#/definitions/WorkflowRun" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/cancel": { + "post": { "tags": [ - "IntegrationAccounts" + "WorkflowRuns" ], - "operationId": "IntegrationAccounts_Get", - "description": "Gets an integration account.", + "operationId": "WorkflowRuns_Cancel", + "description": "Cancels a workflow run.", "x-ms-examples": { - "Get IntegrationAccount by name": { - "$ref": "../examples/IntegrationAccountsGet.json" + "Cancel a workflow run": { + "$ref": "./examples/WorkflowRuns_Cancel.json" } }, "parameters": [ @@ -1474,8 +1750,15 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "runName", + "description": "The workflow run name.", "in": "path", "required": true, "type": "string" @@ -1486,22 +1769,27 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccount" + "$ref": "#/definitions/ErrorResponse" } } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions": { + "get": { "tags": [ - "IntegrationAccounts" + "WorkflowRunActions" ], - "operationId": "IntegrationAccounts_CreateOrUpdate", - "description": "Creates or updates an integration account.", + "operationId": "WorkflowRunActions_List", + "description": "Gets a list of workflow run actions.", "x-ms-examples": { - "Create or update an IntegrationAccount": { - "$ref": "../examples/IntegrationAccountsCreateOrUpdate.json" + "List a workflow run actions": { + "$ref": "./examples/WorkflowRunActions_List.json" } }, "parameters": [ @@ -1516,9 +1804,16 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", - "in": "path", + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "runName", + "description": "The workflow run name.", + "in": "path", "required": true, "type": "string" }, @@ -1526,39 +1821,51 @@ "$ref": "#/parameters/api-version" }, { - "name": "integrationAccount", - "description": "The integration account.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationAccount" - } + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: Status.", + "in": "query", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccount" + "$ref": "#/definitions/WorkflowRunActionListResult" } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccount" + "$ref": "#/definitions/ErrorResponse" } } - } - }, - "patch": { + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/WorkflowRunActionFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}": { + "get": { "tags": [ - "IntegrationAccounts" + "WorkflowRunActions" ], - "operationId": "IntegrationAccounts_Update", - "description": "Updates an integration account.", + "operationId": "WorkflowRunActions_Get", + "description": "Gets a workflow run action.", "x-ms-examples": { - "Patch an IntegrationAccount": { - "$ref": "../examples/IntegrationAccountsUpdate.json" + "Get a workflow run action": { + "$ref": "./examples/WorkflowRunActions_Get.json" } }, "parameters": [ @@ -1573,43 +1880,56 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "integrationAccount", - "description": "The integration account.", - "in": "body", + "name": "actionName", + "description": "The workflow action name.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/IntegrationAccount" - } + "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccount" + "$ref": "#/definitions/WorkflowRunAction" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/listExpressionTraces": { + "post": { "tags": [ - "IntegrationAccounts" + "WorkflowRunActions" ], - "operationId": "IntegrationAccounts_Delete", - "description": "Deletes an integration account.", + "operationId": "WorkflowRunActions_ListExpressionTraces", + "description": "Lists a workflow run expression trace.", "x-ms-examples": { - "Delete an IntegrationAccount": { - "$ref": "../examples/IntegrationAccountsDelete.json" + "List expression traces": { + "$ref": "./examples/WorkflowRunActions_ListExpressionTraces.json" } }, "parameters": [ @@ -1624,8 +1944,22 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "actionName", + "description": "The workflow action name.", "in": "path", "required": true, "type": "string" @@ -1636,24 +1970,34 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/ExpressionTraces" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } + }, + "x-ms-pageable": { + "nextLinkName": null, + "itemName": "inputs" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions": { + "get": { "tags": [ - "IntegrationAccounts" + "WorkflowRunActions" ], - "operationId": "IntegrationAccounts_GetCallbackUrl", - "description": "Gets the integration account callback URL.", + "operationId": "WorkflowRunActionRepetitions_List", + "description": "Get all of a workflow run action repetitions.", "x-ms-examples": { - "Get IntegrationAccount callback URL": { - "$ref": "../examples/IntegrationAccountsGetCallbackUrl.json" + "List repetitions": { + "$ref": "./examples/WorkflowRunActionRepetitions_List.json" } }, "parameters": [ @@ -1668,45 +2012,59 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "parameters", - "description": "The callback URL parameters.", - "in": "body", + "name": "actionName", + "description": "The workflow action name.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/GetCallbackUrlParameters" - } + "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CallbackUrl" + "$ref": "#/definitions/WorkflowRunActionRepetitionDefinitionCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}": { "get": { "tags": [ - "IntegrationAccountSchemas" + "WorkflowRunActions" ], - "operationId": "Schemas_ListByIntegrationAccounts", - "description": "Gets a list of integration account schemas.", + "operationId": "WorkflowRunActionRepetitions_Get", + "description": "Get a workflow run action repetition.", "x-ms-examples": { - "Get schemas by integration account name": { - "$ref": "../examples/SchemasListByIntegrationAccounts.json" + "Get a repetition": { + "$ref": "./examples/WorkflowRunActionRepetitions_Get.json" } }, "parameters": [ @@ -1721,55 +2079,63 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, + "name": "repetitionName", + "description": "The workflow repetition.", + "in": "path", + "required": true, "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSchemaListResult" + "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/IntegrationAccountSchemaFilter" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/listExpressionTraces": { + "post": { "tags": [ - "IntegrationAccountSchemas" + "WorkflowRunActions" ], - "operationId": "Schemas_Get", - "description": "Gets an integration account schema.", + "operationId": "WorkflowRunActionRepetitions_ListExpressionTraces", + "description": "Lists a workflow run expression trace.", "x-ms-examples": { - "Get schema by name": { - "$ref": "../examples/SchemasGet.json" + "List expression traces for a repetition": { + "$ref": "./examples/WorkflowRunActionRepetitions_ListExpressionTraces.json" } }, "parameters": [ @@ -1784,15 +2150,29 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "schemaName", - "description": "The integration account schema name.", + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "repetitionName", + "description": "The workflow repetition.", "in": "path", "required": true, "type": "string" @@ -1805,20 +2185,32 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSchema" + "$ref": "#/definitions/ExpressionTraces" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null, + "itemName": "inputs" } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories": { + "get": { "tags": [ - "IntegrationAccountSchemas" + "WorkflowRunActions" ], - "operationId": "Schemas_CreateOrUpdate", - "description": "Creates or updates an integration account schema.", + "operationId": "WorkflowRunActionRepetitionsRequestHistories_List", + "description": "List a workflow run repetition request history.", "x-ms-examples": { - "Create or update schema": { - "$ref": "../examples/SchemasCreateOrUpdate.json" + "List repetition request history": { + "$ref": "./examples/WorkflowRunActionRepetitionsRequestHistories_List.json" } }, "parameters": [ @@ -1833,56 +2225,66 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "schemaName", - "description": "The integration account schema name.", + "name": "runName", + "description": "The workflow run name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "schema", - "description": "The integration account schema.", - "in": "body", + "name": "repetitionName", + "description": "The workflow repetition.", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/IntegrationAccountSchema" - } + "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSchema" + "$ref": "#/definitions/RequestHistoryListResult" } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccountSchema" + "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/repetitions/{repetitionName}/requestHistories/{requestHistoryName}": { + "get": { "tags": [ - "IntegrationAccountSchemas" + "WorkflowRunActions" ], - "operationId": "Schemas_Delete", - "description": "Deletes an integration account schema.", + "operationId": "WorkflowRunActionRepetitionsRequestHistories_Get", + "description": "Gets a workflow run repetition request history.", "x-ms-examples": { - "Delete a schema by name": { - "$ref": "../examples/SchemasDelete.json" + "Get a repetition request history": { + "$ref": "./examples/WorkflowRunActionRepetitionsRequestHistories_Get.json" } }, "parameters": [ @@ -1897,15 +2299,36 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "schemaName", - "description": "The integration account schema name.", + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "repetitionName", + "description": "The workflow repetition.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "requestHistoryName", + "description": "The request history name.", "in": "path", "required": true, "type": "string" @@ -1916,24 +2339,30 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/RequestHistory" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories": { "get": { "tags": [ - "IntegrationAccountMaps" + "WorkflowRunActions" ], - "operationId": "Maps_ListByIntegrationAccounts", - "description": "Gets a list of integration account maps.", + "operationId": "WorkflowRunActionRequestHistories_List", + "description": "List a workflow run request history.", "x-ms-examples": { - "Get maps by integration account name": { - "$ref": "../examples/MapsListByIntegrationAccounts.json" + "List a request history": { + "$ref": "./examples/WorkflowRunActionRequestHistories_List.json" } }, "parameters": [ @@ -1948,55 +2377,59 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountMapListResult" + "$ref": "#/definitions/RequestHistoryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/IntegrationAccountMapFilter" + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/requestHistories/{requestHistoryName}": { "get": { "tags": [ - "IntegrationAccountMaps" + "WorkflowRunActions" ], - "operationId": "Maps_Get", - "description": "Gets an integration account map.", + "operationId": "WorkflowRunActionRequestHistories_Get", + "description": "Gets a workflow run request history.", "x-ms-examples": { - "Get map by name": { - "$ref": "../examples/MapsGet.json" + "Get a request history": { + "$ref": "./examples/WorkflowRunActionRequestHistories_Get.json" } }, "parameters": [ @@ -2011,15 +2444,29 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "mapName", - "description": "The integration account map name.", + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "requestHistoryName", + "description": "The request history name.", "in": "path", "required": true, "type": "string" @@ -2032,20 +2479,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountMap" + "$ref": "#/definitions/RequestHistory" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions": { + "get": { "tags": [ - "IntegrationAccountMaps" + "WorkflowRunActions" ], - "operationId": "Maps_CreateOrUpdate", - "description": "Creates or updates an integration account map.", + "operationId": "WorkflowRunActionScopeRepetitions_List", + "description": "List the workflow run action scoped repetitions.", "x-ms-examples": { - "Create or update a map": { - "$ref": "../examples/MapsCreateOrUpdate.json" + "List the scoped repetitions": { + "$ref": "./examples/WorkflowRunActionScopeRepetitions_List.json" } }, "parameters": [ @@ -2060,56 +2515,59 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "mapName", - "description": "The integration account map name.", + "name": "runName", + "description": "The workflow run name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "map", - "description": "The integration account map.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationAccountMap" - } + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountMap" + "$ref": "#/definitions/WorkflowRunActionRepetitionDefinitionCollection" } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccountMap" + "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": null } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/actions/{actionName}/scopeRepetitions/{repetitionName}": { + "get": { "tags": [ - "IntegrationAccountMaps" + "WorkflowRunActions" ], - "operationId": "Maps_Delete", - "description": "Deletes an integration account map.", + "operationId": "WorkflowRunActionScopeRepetitions_Get", + "description": "Get a workflow run action scoped repetition.", "x-ms-examples": { - "Delete a map": { - "$ref": "../examples/MapsDelete.json" + "Get a scoped repetition": { + "$ref": "./examples/WorkflowRunActionScopeRepetitions_Get.json" } }, "parameters": [ @@ -2124,15 +2582,29 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "name": "mapName", - "description": "The integration account map name.", + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "actionName", + "description": "The workflow action name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "repetitionName", + "description": "The workflow repetition.", "in": "path", "required": true, "type": "string" @@ -2143,24 +2615,30 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/workflows/{workflowName}/runs/{runName}/operations/{operationId}": { "get": { "tags": [ - "IntegrationAccountPartners" + "WorkflowRunOperations" ], - "operationId": "Partners_ListByIntegrationAccounts", - "description": "Gets a list of integration account partners.", + "operationId": "WorkflowRunOperations_Get", + "description": "Gets an operation for a run.", "x-ms-examples": { - "Get partners by integrationaccount name": { - "$ref": "../examples/PartnersListByIntegrationAccounts.json" + "Get a run operation": { + "$ref": "./examples/WorkflowRunOperations_Get.json" } }, "parameters": [ @@ -2175,55 +2653,56 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" + "name": "runName", + "description": "The workflow run name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "operationId", + "description": "The workflow operation id.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountPartnerListResult" + "$ref": "#/definitions/WorkflowRun" } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/IntegrationAccountPartnerFilter" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/locations/{location}/workflows/{workflowName}/validate": { + "post": { "tags": [ - "IntegrationAccountPartners" + "Workflows" ], - "operationId": "Partners_Get", - "description": "Gets an integration account partner.", + "operationId": "Workflows_ValidateByLocation", + "description": "Validates the workflow definition.", "x-ms-examples": { - "Get partner by name": { - "$ref": "../examples/PartnersGet.json" + "Validate a workflow": { + "$ref": "./examples/Workflows_ValidateByLocation.json" } }, "parameters": [ @@ -2238,105 +2717,102 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", + "name": "location", + "description": "The workflow location.", "in": "path", "required": true, "type": "string" }, { - "name": "partnerName", - "description": "The integration account partner name.", + "name": "workflowName", + "description": "The workflow name.", "in": "path", "required": true, "type": "string" }, + { + "name": "validate", + "description": "The workflow.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workflow" + } + }, { "$ref": "#/parameters/api-version" } ], "responses": { "200": { - "description": "OK", + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccountPartner" + "$ref": "#/definitions/ErrorResponse" } } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationAccounts": { + "get": { "tags": [ - "IntegrationAccountPartners" + "IntegrationAccounts" ], - "operationId": "Partners_CreateOrUpdate", - "description": "Creates or updates an integration account partner.", + "operationId": "IntegrationAccounts_ListBySubscription", + "description": "Gets a list of integration accounts by subscription.", "x-ms-examples": { - "Create or update a partner": { - "$ref": "../examples/PartnersCreateOrUpdate.json" + "List integration accounts by subscription": { + "$ref": "./examples/IntegrationAccounts_ListBySubscription.json" } }, "parameters": [ { "$ref": "#/parameters/subscriptionId" }, - { - "name": "resourceGroupName", - "description": "The resource group name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "integrationAccountName", - "description": "The integration account name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "partnerName", - "description": "The integration account partner name.", - "in": "path", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/api-version" }, { - "name": "partner", - "description": "The integration account partner.", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/IntegrationAccountPartner" - } + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountPartner" + "$ref": "#/definitions/IntegrationAccountListResult" } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccountPartner" + "$ref": "#/definitions/ErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts": { + "get": { "tags": [ - "IntegrationAccountPartners" + "IntegrationAccounts" ], - "operationId": "Partners_Delete", - "description": "Deletes an integration account partner.", + "operationId": "IntegrationAccounts_ListByResourceGroup", + "description": "Gets a list of integration accounts by resource group.", "x-ms-examples": { - "Delete a partner": { - "$ref": "../examples/PartnersDelete.json" + "List integration accounts by resource group name": { + "$ref": "./examples/IntegrationAccounts_ListByResourceGroup.json" } }, "parameters": [ @@ -2351,43 +2827,46 @@ "type": "string" }, { - "name": "integrationAccountName", - "description": "The integration account name.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "partnerName", - "description": "The integration account partner name.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/api-version" }, { - "$ref": "#/parameters/api-version" + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" } ], "responses": { "200": { - "description": "OK" + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountListResult" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}": { "get": { "tags": [ - "IntegrationAccountAgreements" + "IntegrationAccounts" ], - "operationId": "Agreements_ListByIntegrationAccounts", - "description": "Gets a list of integration account agreements.", + "operationId": "IntegrationAccounts_Get", + "description": "Gets an integration account.", "x-ms-examples": { - "Get agreements by integrationaccount name": { - "$ref": "../examples/AgreementsListByIntegrationAccounts.json" + "Get integration account by name": { + "$ref": "./examples/IntegrationAccounts_Get.json" } }, "parameters": [ @@ -2410,47 +2889,32 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" - }, - { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountAgreementListResult" + "$ref": "#/definitions/IntegrationAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/IntegrationAccountAgreementFilter" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}": { - "get": { + } + }, + "put": { "tags": [ - "IntegrationAccountAgreements" + "IntegrationAccounts" ], - "operationId": "Agreements_Get", - "description": "Gets an integration account agreement.", + "operationId": "IntegrationAccounts_CreateOrUpdate", + "description": "Creates or updates an integration account.", "x-ms-examples": { - "Get agreement by name": { - "$ref": "../examples/AgreementsGet.json" + "Create or update an integration account": { + "$ref": "./examples/IntegrationAccounts_CreateOrUpdate.json" } }, "parameters": [ @@ -2472,34 +2936,48 @@ "type": "string" }, { - "name": "agreementName", - "description": "The integration account agreement name.", - "in": "path", - "required": true, - "type": "string" + "$ref": "#/parameters/api-version" }, { - "$ref": "#/parameters/api-version" + "name": "integrationAccount", + "description": "The integration account.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccount" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountAgreement" + "$ref": "#/definitions/IntegrationAccount" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } }, - "put": { + "patch": { "tags": [ - "IntegrationAccountAgreements" + "IntegrationAccounts" ], - "operationId": "Agreements_CreateOrUpdate", - "description": "Creates or updates an integration account agreement.", + "operationId": "IntegrationAccounts_Update", + "description": "Updates an integration account.", "x-ms-examples": { - "Create or update an agreement": { - "$ref": "../examples/AgreementsCreateOrUpdate.json" + "Patch an integration account": { + "$ref": "./examples/IntegrationAccounts_Update.json" } }, "parameters": [ @@ -2520,23 +2998,16 @@ "required": true, "type": "string" }, - { - "name": "agreementName", - "description": "The integration account agreement name.", - "in": "path", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/api-version" }, { - "name": "agreement", - "description": "The integration account agreement.", + "name": "integrationAccount", + "description": "The integration account.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IntegrationAccountAgreement" + "$ref": "#/definitions/IntegrationAccount" } } ], @@ -2544,26 +3015,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountAgreement" + "$ref": "#/definitions/IntegrationAccount" } }, - "201": { - "description": "Created", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/IntegrationAccountAgreement" + "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ - "IntegrationAccountAgreements" + "IntegrationAccounts" ], - "operationId": "Agreements_Delete", - "description": "Deletes an integration account agreement.", + "operationId": "IntegrationAccounts_Delete", + "description": "Deletes an integration account.", "x-ms-examples": { - "Delete an agreement": { - "$ref": "../examples/AgreementsDelete.json" + "Delete an integration account": { + "$ref": "./examples/IntegrationAccounts_Delete.json" } }, "parameters": [ @@ -2584,13 +3055,6 @@ "required": true, "type": "string" }, - { - "name": "agreementName", - "description": "The integration account agreement name.", - "in": "path", - "required": true, - "type": "string" - }, { "$ref": "#/parameters/api-version" } @@ -2601,20 +3065,26 @@ }, "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies": { "get": { "tags": [ - "IntegrationAccountCertificates" + "IntegrationAccountAssemblies" ], - "operationId": "Certificates_ListByIntegrationAccounts", - "description": "Gets a list of integration account certificates.", + "operationId": "IntegrationAccountAssemblies_List", + "description": "List the assemblies for an integration account.", "x-ms-examples": { - "Get certificates by integrationAccount name": { - "$ref": "../examples/CertificatesListByIntegrationAccounts.json" + "List integration account assemblies": { + "$ref": "./examples/IntegrationAccountAssemblies_List.json" } }, "parameters": [ @@ -2637,39 +3107,37 @@ }, { "$ref": "#/parameters/api-version" - }, - { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountCertificateListResult" + "$ref": "#/definitions/AssemblyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { - "nextLinkName": "nextLink" + "nextLinkName": null } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}": { "get": { "tags": [ - "IntegrationAccountCertificates" + "IntegrationAccountAssemblies" ], - "operationId": "Certificates_Get", - "description": "Gets an integration account certificate.", + "operationId": "IntegrationAccountAssemblies_Get", + "description": "Get an assembly for an integration account.", "x-ms-examples": { - "Get certificate by name": { - "$ref": "../examples/CertificatesGet.json" + "Get an integration account assembly": { + "$ref": "./examples/IntegrationAccountAssemblies_Get.json" } }, "parameters": [ @@ -2691,8 +3159,8 @@ "type": "string" }, { - "name": "certificateName", - "description": "The integration account certificate name.", + "name": "assemblyArtifactName", + "description": "The assembly artifact name.", "in": "path", "required": true, "type": "string" @@ -2705,20 +3173,26 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountCertificate" + "$ref": "#/definitions/AssemblyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } }, "put": { "tags": [ - "IntegrationAccountCertificates" + "IntegrationAccountAssemblies" ], - "operationId": "Certificates_CreateOrUpdate", - "description": "Creates or updates an integration account certificate.", + "operationId": "IntegrationAccountAssemblies_CreateOrUpdate", + "description": "Create or update an assembly for an integration account.", "x-ms-examples": { - "Create or update a certificate": { - "$ref": "../examples/CertificatesCreateOrUpdate.json" + "Create or update an account assembly": { + "$ref": "./examples/IntegrationAccountAssemblies_CreateOrUpdate.json" } }, "parameters": [ @@ -2740,49 +3214,55 @@ "type": "string" }, { - "name": "certificateName", - "description": "The integration account certificate name.", + "name": "assemblyArtifactName", + "description": "The assembly artifact name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" - }, - { - "name": "certificate", - "description": "The integration account certificate.", + "name": "assemblyArtifact", + "description": "The assembly artifact.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IntegrationAccountCertificate" + "$ref": "#/definitions/AssemblyDefinition" } + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountCertificate" + "$ref": "#/definitions/AssemblyDefinition" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/IntegrationAccountCertificate" + "$ref": "#/definitions/AssemblyDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ - "IntegrationAccountCertificates" + "IntegrationAccountAssemblies" ], - "operationId": "Certificates_Delete", - "description": "Deletes an integration account certificate.", + "operationId": "IntegrationAccountAssemblies_Delete", + "description": "Delete an assembly for an integration account.", "x-ms-examples": { - "Delete a certificate": { - "$ref": "../examples/CertificatesDelete.json" + "Delete an integration account assembly": { + "$ref": "./examples/IntegrationAccountAssemblies_Delete.json" } }, "parameters": [ @@ -2804,8 +3284,8 @@ "type": "string" }, { - "name": "certificateName", - "description": "The integration account certificate name.", + "name": "assemblyArtifactName", + "description": "The assembly artifact name.", "in": "path", "required": true, "type": "string" @@ -2820,22 +3300,28 @@ }, "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/assemblies/{assemblyArtifactName}/listContentCallbackUrl": { + "post": { "tags": [ - "IntegrationAccountSessions" + "IntegrationAccountAssemblies" ], - "operationId": "Sessions_ListByIntegrationAccounts", + "operationId": "IntegrationAccountAssemblies_ListContentCallbackUrl", + "description": "Get the content callback url for an integration account assembly.", "x-ms-examples": { - "SessionsListByIntegrationAccounts": { - "$ref": "../examples/SessionsListByIntegrationAccounts.json" + "Get the callback url for an integration account assembly": { + "$ref": "./examples/IntegrationAccountAssemblies_ListContentCallbackUrl.json" } }, - "description": "Gets a list of integration account sessions.", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2854,57 +3340,98 @@ "required": true, "type": "string" }, + { + "name": "assemblyArtifactName", + "description": "The assembly artifact name.", + "in": "path", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations": { + "get": { + "tags": [ + "IntegrationAccountBatchConfigurations" + ], + "operationId": "IntegrationAccountBatchConfigurations_List", + "description": "List the batch configurations for an integration account.", + "x-ms-examples": { + "List batch configurations": { + "$ref": "./examples/IntegrationAccountBatchConfigurations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" }, { - "name": "$top", - "description": "The number of items to be included in the result.", - "in": "query", - "required": false, - "type": "integer", - "format": "int32" + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "$filter", - "description": "The filter to apply on the operation.", - "in": "query", - "required": false, + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, "type": "string" + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSessionListResult" + "$ref": "#/definitions/BatchConfigurationCollection" } }, "default": { - "description": "Logic error response describing why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } }, "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/IntegrationAccountSessionFilter" + "nextLinkName": null + } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/batchConfigurations/{batchConfigurationName}": { "get": { "tags": [ - "IntegrationAccountSessions" + "IntegrationAccountBatchConfigurations" ], - "operationId": "Sessions_Get", + "operationId": "IntegrationAccountBatchConfigurations_Get", + "description": "Get a batch configuration for an integration account.", "x-ms-examples": { - "SessionsGet": { - "$ref": "../examples/SessionsGet.json" + "Get a batch configuration": { + "$ref": "./examples/IntegrationAccountBatchConfigurations_Get.json" } }, - "description": "Gets an integration account session.", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2924,8 +3451,8 @@ "type": "string" }, { - "name": "sessionName", - "description": "The integration account session name.", + "name": "batchConfigurationName", + "description": "The batch configuration name.", "in": "path", "required": true, "type": "string" @@ -2938,11 +3465,11 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSession" + "$ref": "#/definitions/BatchConfiguration" } }, "default": { - "description": "Logic error response describing why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -2951,15 +3478,15 @@ }, "put": { "tags": [ - "IntegrationAccountSessions" + "IntegrationAccountBatchConfigurations" ], - "operationId": "Sessions_CreateOrUpdate", + "operationId": "IntegrationAccountBatchConfigurations_CreateOrUpdate", + "description": "Create or update a batch configuration for an integration account.", "x-ms-examples": { - "SessionsCreateOrUpdate": { - "$ref": "../examples/SessionsCreateOrUpdate.json" + "Create or update a batch configuration": { + "$ref": "./examples/IntegrationAccountBatchConfigurations_CreateOrUpdate.json" } }, - "description": "Creates or updates an integration account session.", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2979,40 +3506,40 @@ "type": "string" }, { - "name": "sessionName", - "description": "The integration account session name.", + "name": "batchConfigurationName", + "description": "The batch configuration name.", "in": "path", "required": true, "type": "string" }, { - "$ref": "#/parameters/api-version" - }, - { - "name": "session", - "description": "The integration account session.", + "name": "batchConfiguration", + "description": "The batch configuration.", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/IntegrationAccountSession" + "$ref": "#/definitions/BatchConfiguration" } + }, + { + "$ref": "#/parameters/api-version" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/IntegrationAccountSession" + "$ref": "#/definitions/BatchConfiguration" } }, "201": { "description": "Created", "schema": { - "$ref": "#/definitions/IntegrationAccountSession" + "$ref": "#/definitions/BatchConfiguration" } }, "default": { - "description": "Logic error response describing why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -3021,15 +3548,15 @@ }, "delete": { "tags": [ - "IntegrationAccountSessions" + "IntegrationAccountBatchConfigurations" ], - "operationId": "Sessions_Delete", + "operationId": "IntegrationAccountBatchConfigurations_Delete", + "description": "Delete a batch configuration for an integration account.", "x-ms-examples": { - "SessionsDelete": { - "$ref": "../examples/SessionsDelete.json" + "Delete a batch configuration": { + "$ref": "./examples/IntegrationAccountBatchConfigurations_Delete.json" } }, - "description": "Deletes an integration account session.", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -3049,8 +3576,8 @@ "type": "string" }, { - "name": "sessionName", - "description": "The integration account session name.", + "name": "batchConfigurationName", + "description": "The batch configuration name.", "in": "path", "required": true, "type": "string" @@ -3067,7 +3594,7 @@ "description": "No Content" }, "default": { - "description": "Logic error response describing why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } @@ -3075,1322 +3602,5746 @@ } } }, - "/providers/Microsoft.Logic/operations": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listCallbackUrl": { + "post": { "tags": [ - "Operations" + "IntegrationAccounts" ], - "description": "Lists all of the available Logic REST API operations.", - "operationId": "ListOperations", + "operationId": "IntegrationAccounts_ListCallbackUrl", + "description": "Gets the integration account callback URL.", + "x-ms-examples": { + "List IntegrationAccount callback URL": { + "$ref": "./examples/IntegrationAccounts_ListCallbackUrl.json" + } + }, "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, { "$ref": "#/parameters/api-version" + }, + { + "name": "parameters", + "description": "The callback URL parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } } ], "responses": { "200": { - "description": "OK. The request has succeeded.", + "description": "OK", "schema": { - "$ref": "#/definitions/OperationListResult" + "$ref": "#/definitions/CallbackUrl" } }, "default": { - "description": "Logic error response describing why the operation failed.", + "description": "Error response describing why the operation failed.", "schema": { "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } - } - }, - "definitions": { - "Resource": { - "properties": { - "id": { - "type": "string", - "readOnly": true, - "description": "The resource id." - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Gets the resource name." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Gets the resource type." - }, - "location": { - "type": "string", - "description": "The resource location." + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/listKeyVaultKeys": { + "post": { + "tags": [ + "IntegrationAccounts" + ], + "operationId": "IntegrationAccounts_ListKeyVaultKeys", + "description": "Gets the integration account's Key Vault keys.", + "x-ms-examples": { + "Get Integration Account callback URL": { + "$ref": "./examples/IntegrationAccounts_ListKeyVaultKeys.json" + } }, - "tags": { - "type": "object", - "additionalProperties": { + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, "type": "string" }, - "description": "The resource tags." - } - }, - "x-ms-azure-resource": true, - "description": "The base resource type." - }, - "SubResource": { - "properties": { - "id": { + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "listKeyVaultKeys", + "description": "The key vault parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ListKeyVaultKeysDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KeyVaultKeyCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/logTrackingEvents": { + "post": { + "tags": [ + "IntegrationAccounts" + ], + "operationId": "IntegrationAccounts_LogTrackingEvents", + "description": "Logs the integration account's tracking events.", + "x-ms-examples": { + "Log a tracked event": { + "$ref": "./examples/IntegrationAccounts_LogTrackingEvents.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "logTrackingEvents", + "description": "The callback URL parameters.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TrackingEventsDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/regenerateAccessKey": { + "post": { + "tags": [ + "IntegrationAccounts" + ], + "operationId": "IntegrationAccounts_RegenerateAccessKey", + "description": "Regenerates the integration account access key.", + "x-ms-examples": { + "Regenerate access key": { + "$ref": "./examples/IntegrationAccounts_RegenerateAccessKey.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "regenerateAccessKey", + "description": "The access key type.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateActionParameter" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas": { + "get": { + "tags": [ + "IntegrationAccountSchemas" + ], + "operationId": "IntegrationAccountSchemas_List", + "description": "Gets a list of integration account schemas.", + "x-ms-examples": { + "Get schemas by integration account name": { + "$ref": "./examples/IntegrationAccountSchemas_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: SchemaType.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSchemaListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/IntegrationAccountSchemaFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}": { + "get": { + "tags": [ + "IntegrationAccountSchemas" + ], + "operationId": "IntegrationAccountSchemas_Get", + "description": "Gets an integration account schema.", + "x-ms-examples": { + "Get schema by name": { + "$ref": "./examples/IntegrationAccountSchemas_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "schemaName", + "description": "The integration account schema name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSchema" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountSchemas" + ], + "operationId": "IntegrationAccountSchemas_CreateOrUpdate", + "description": "Creates or updates an integration account schema.", + "x-ms-examples": { + "Create or update schema": { + "$ref": "./examples/IntegrationAccountSchemas_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "schemaName", + "description": "The integration account schema name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "schema", + "description": "The integration account schema.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountSchema" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSchema" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountSchema" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountSchemas" + ], + "operationId": "IntegrationAccountSchemas_Delete", + "description": "Deletes an integration account schema.", + "x-ms-examples": { + "Delete a schema by name": { + "$ref": "./examples/IntegrationAccountSchemas_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "schemaName", + "description": "The integration account schema name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/schemas/{schemaName}/listContentCallbackUrl": { + "post": { + "tags": [ + "IntegrationAccountSchemas" + ], + "operationId": "IntegrationAccountSchemas_ListContentCallbackUrl", + "description": "Get the content callback url.", + "x-ms-examples": { + "Get the content callback url": { + "$ref": "./examples/IntegrationAccountSchemas_ListContentCallbackUrl.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "schemaName", + "description": "The integration account schema name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "listContentCallbackUrl", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps": { + "get": { + "tags": [ + "IntegrationAccountMaps" + ], + "operationId": "IntegrationAccountMaps_List", + "description": "Gets a list of integration account maps.", + "x-ms-examples": { + "Get maps by integration account name": { + "$ref": "./examples/IntegrationAccountMaps_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: MapType.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountMapListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/IntegrationAccountMapFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}": { + "get": { + "tags": [ + "IntegrationAccountMaps" + ], + "operationId": "IntegrationAccountMaps_Get", + "description": "Gets an integration account map.", + "x-ms-examples": { + "Get map by name": { + "$ref": "./examples/IntegrationAccountMaps_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "mapName", + "description": "The integration account map name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountMap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountMaps" + ], + "operationId": "IntegrationAccountMaps_CreateOrUpdate", + "description": "Creates or updates an integration account map.", + "x-ms-examples": { + "Create or update a map": { + "$ref": "./examples/IntegrationAccountMaps_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "mapName", + "description": "The integration account map name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "map", + "description": "The integration account map.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountMap" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountMap" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountMap" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountMaps" + ], + "operationId": "IntegrationAccountMaps_Delete", + "description": "Deletes an integration account map.", + "x-ms-examples": { + "Delete a map": { + "$ref": "./examples/IntegrationAccountMaps_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "mapName", + "description": "The integration account map name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/maps/{mapName}/listContentCallbackUrl": { + "post": { + "tags": [ + "IntegrationAccountMaps" + ], + "operationId": "IntegrationAccountMaps_ListContentCallbackUrl", + "description": "Get the content callback url.", + "x-ms-examples": { + "Get the content callback url": { + "$ref": "./examples/IntegrationAccountMaps_ListContentCallbackUrl.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "mapName", + "description": "The integration account map name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "listContentCallbackUrl", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners": { + "get": { + "tags": [ + "IntegrationAccountPartners" + ], + "operationId": "IntegrationAccountPartners_List", + "description": "Gets a list of integration account partners.", + "x-ms-examples": { + "Get partners by integration account name": { + "$ref": "./examples/IntegrationAccountPartners_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: PartnerType.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountPartnerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/IntegrationAccountPartnerFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}": { + "get": { + "tags": [ + "IntegrationAccountPartners" + ], + "operationId": "IntegrationAccountPartners_Get", + "description": "Gets an integration account partner.", + "x-ms-examples": { + "Get partner by name": { + "$ref": "./examples/IntegrationAccountPartners_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "partnerName", + "description": "The integration account partner name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountPartner" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountPartners" + ], + "operationId": "IntegrationAccountPartners_CreateOrUpdate", + "description": "Creates or updates an integration account partner.", + "x-ms-examples": { + "Create or update a partner": { + "$ref": "./examples/IntegrationAccountPartners_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "partnerName", + "description": "The integration account partner name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "partner", + "description": "The integration account partner.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountPartner" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountPartner" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountPartner" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountPartners" + ], + "operationId": "IntegrationAccountPartners_Delete", + "description": "Deletes an integration account partner.", + "x-ms-examples": { + "Delete a partner": { + "$ref": "./examples/IntegrationAccountPartners_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "partnerName", + "description": "The integration account partner name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/partners/{partnerName}/listContentCallbackUrl": { + "post": { + "tags": [ + "IntegrationAccountPartners" + ], + "operationId": "IntegrationAccountPartners_ListContentCallbackUrl", + "description": "Get the content callback url.", + "x-ms-examples": { + "Get the content callback url": { + "$ref": "./examples/IntegrationAccountPartners_ListContentCallbackUrl.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "partnerName", + "description": "The integration account partner name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "listContentCallbackUrl", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements": { + "get": { + "tags": [ + "IntegrationAccountAgreements" + ], + "operationId": "IntegrationAccountAgreements_List", + "description": "Gets a list of integration account agreements.", + "x-ms-examples": { + "Get agreements by integration account name": { + "$ref": "./examples/IntegrationAccountAgreements_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: AgreementType.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountAgreementListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/IntegrationAccountAgreementFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}": { + "get": { + "tags": [ + "IntegrationAccountAgreements" + ], + "operationId": "IntegrationAccountAgreements_Get", + "description": "Gets an integration account agreement.", + "x-ms-examples": { + "Get agreement by name": { + "$ref": "./examples/IntegrationAccountAgreements_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "agreementName", + "description": "The integration account agreement name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountAgreement" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountAgreements" + ], + "operationId": "IntegrationAccountAgreements_CreateOrUpdate", + "description": "Creates or updates an integration account agreement.", + "x-ms-examples": { + "Create or update an agreement": { + "$ref": "./examples/IntegrationAccountAgreements_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "agreementName", + "description": "The integration account agreement name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "agreement", + "description": "The integration account agreement.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountAgreement" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountAgreement" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountAgreement" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountAgreements" + ], + "operationId": "IntegrationAccountAgreements_Delete", + "description": "Deletes an integration account agreement.", + "x-ms-examples": { + "Delete an agreement": { + "$ref": "./examples/IntegrationAccountAgreements_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "agreementName", + "description": "The integration account agreement name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/agreements/{agreementName}/listContentCallbackUrl": { + "post": { + "tags": [ + "IntegrationAccountAgreements" + ], + "operationId": "IntegrationAccountAgreements_ListContentCallbackUrl", + "description": "Get the content callback url.", + "x-ms-examples": { + "Get the content callback url": { + "$ref": "./examples/IntegrationAccountAgreements_ListContentCallbackUrl.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "agreementName", + "description": "The integration account agreement name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "listContentCallbackUrl", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GetCallbackUrlParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/WorkflowTriggerCallbackUrl" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates": { + "get": { + "tags": [ + "IntegrationAccountCertificates" + ], + "operationId": "IntegrationAccountCertificates_List", + "description": "Gets a list of integration account certificates.", + "x-ms-examples": { + "Get certificates by integration account name": { + "$ref": "./examples/IntegrationAccountCertificates_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountCertificateListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/certificates/{certificateName}": { + "get": { + "tags": [ + "IntegrationAccountCertificates" + ], + "operationId": "IntegrationAccountCertificates_Get", + "description": "Gets an integration account certificate.", + "x-ms-examples": { + "Get certificate by name": { + "$ref": "./examples/IntegrationAccountCertificates_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "description": "The integration account certificate name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountCertificates" + ], + "operationId": "IntegrationAccountCertificates_CreateOrUpdate", + "description": "Creates or updates an integration account certificate.", + "x-ms-examples": { + "Create or update a certificate": { + "$ref": "./examples/IntegrationAccountCertificates_CreateOrUpdate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "description": "The integration account certificate name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "certificate", + "description": "The integration account certificate.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountCertificate" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountCertificate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountCertificates" + ], + "operationId": "IntegrationAccountCertificates_Delete", + "description": "Deletes an integration account certificate.", + "x-ms-examples": { + "Delete a certificate": { + "$ref": "./examples/IntegrationAccountCertificates_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "description": "The integration account certificate name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions": { + "get": { + "tags": [ + "IntegrationAccountSessions" + ], + "operationId": "IntegrationAccountSessions_List", + "x-ms-examples": { + "Get a list of integration account sessions": { + "$ref": "./examples/IntegrationAccountSessions_List.json" + } + }, + "description": "Gets a list of integration account sessions.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + }, + { + "name": "$filter", + "description": "The filter to apply on the operation. Options for filters include: ChangedTime.", + "in": "query", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSessionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/IntegrationAccountSessionFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Logic/integrationAccounts/{integrationAccountName}/sessions/{sessionName}": { + "get": { + "tags": [ + "IntegrationAccountSessions" + ], + "operationId": "IntegrationAccountSessions_Get", + "x-ms-examples": { + "Get an integration account session": { + "$ref": "./examples/IntegrationAccountSessions_Get.json" + } + }, + "description": "Gets an integration account session.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "sessionName", + "description": "The integration account session name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSession" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationAccountSessions" + ], + "operationId": "IntegrationAccountSessions_CreateOrUpdate", + "x-ms-examples": { + "Create or update an integration account session": { + "$ref": "./examples/IntegrationAccountSessions_CreateOrUpdate.json" + } + }, + "description": "Creates or updates an integration account session.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "sessionName", + "description": "The integration account session name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "session", + "description": "The integration account session.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationAccountSession" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationAccountSession" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationAccountSession" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationAccountSessions" + ], + "operationId": "IntegrationAccountSessions_Delete", + "x-ms-examples": { + "Delete an integration account session": { + "$ref": "./examples/IntegrationAccountSessions_Delete.json" + } + }, + "description": "Deletes an integration account session.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroupName", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationAccountName", + "description": "The integration account name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "sessionName", + "description": "The integration account session name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Logic/integrationServiceEnvironments": { + "get": { + "tags": [ + "integrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_ListBySubscription", + "description": "Gets a list of integration service environments by subscription.", + "x-ms-examples": { + "List integration service environments by subscription": { + "$ref": "./examples/IntegrationServiceEnvironments_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentListResult" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments": { + "get": { + "tags": [ + "IntegrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_ListByResourceGroup", + "description": "Gets a list of integration service environments by resource group.", + "x-ms-examples": { + "List integration service environments by resource group name": { + "$ref": "./examples/IntegrationServiceEnvironments_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "$top", + "description": "The number of items to be included in the result.", + "in": "query", + "required": false, + "type": "integer", + "format": "int32" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentListResult" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}": { + "get": { + "tags": [ + "IntegrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_Get", + "description": "Gets an integration service environment.", + "x-ms-examples": { + "Get integration service environment by name": { + "$ref": "./examples/IntegrationServiceEnvironments_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "IntegrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Creates or updates an integration service environment.", + "x-ms-examples": { + "Create or update an integration service environment": { + "$ref": "./examples/IntegrationServiceEnvironments_Put.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "integrationServiceEnvironment", + "description": "The integration service environment.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "IntegrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_Update", + "description": "Updates an integration service environment.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch an integration service environment": { + "$ref": "./examples/IntegrationServiceEnvironments_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "integrationServiceEnvironment", + "description": "The integration service environment.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironment" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "IntegrationServiceEnvironments" + ], + "operationId": "IntegrationServiceEnvironments_Delete", + "description": "Deletes an integration service environment.", + "x-ms-examples": { + "Delete an integration account": { + "$ref": "./examples/IntegrationServiceEnvironments_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/skus": { + "get": { + "tags": [ + "integrationServiceEnvironmentSkus" + ], + "operationId": "IntegrationServiceEnvironmentSkus_List", + "description": "Gets a list of integration service environment Skus.", + "x-ms-examples": { + "List integration service environment skus": { + "$ref": "./examples/IntegrationServiceEnvironments_Skus.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuList" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/restart": { + "post": { + "tags": [ + "integrationServiceEnvironmentRestart" + ], + "operationId": "IntegrationServiceEnvironments_Restart", + "description": "Restarts an integration service environment.", + "x-ms-examples": { + "Restarts an integration service environment": { + "$ref": "./examples/IntegrationServiceEnvironments_Restart.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/health/network": { + "get": { + "tags": [ + "integrationServiceEnvironmentNetworkHealth" + ], + "operationId": "IntegrationServiceEnvironmentNetworkHealth_Get", + "description": "Gets the integration service environment network health.", + "x-ms-examples": { + "Gets the integration service environment network health": { + "$ref": "./examples/IntegrationServiceEnvironments_NetworkHealth.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkHealth" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis": { + "get": { + "tags": [ + "integrationServiceEnvironmentManagedApis" + ], + "operationId": "IntegrationServiceEnvironmentManagedApis_List", + "description": "Gets the integration service environment managed Apis.", + "x-ms-examples": { + "Gets the integration service environment managed Apis": { + "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiListResult" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}": { + "get": { + "tags": [ + "integrationServiceEnvironmentManagedApi" + ], + "operationId": "IntegrationServiceEnvironmentManagedApis_Get", + "description": "Gets the integration service environment managed Api.", + "x-ms-examples": { + "Gets the integration service environment managed Apis": { + "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "apiName", + "description": "The api name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "integrationServiceEnvironmentManagedApi" + ], + "operationId": "IntegrationServiceEnvironmentManagedApis_Put", + "description": "Puts the integration service environment managed Api.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Gets the integration service environment managed Apis": { + "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Put.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "apiName", + "description": "The api name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "integrationServiceEnvironmentManagedApi", + "description": "The integration service environment managed api.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "integrationServiceEnvironmentManagedApi" + ], + "operationId": "IntegrationServiceEnvironmentManagedApis_Delete", + "description": "Deletes the integration service environment managed Api.", + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the integration service environment managed Apis": { + "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "apiName", + "description": "The api name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Logic/integrationServiceEnvironments/{integrationServiceEnvironmentName}/managedApis/{apiName}/apiOperations": { + "get": { + "tags": [ + "integrationServiceEnvironmentManagedApis" + ], + "operationId": "IntegrationServiceEnvironmentManagedApiOperations_List", + "description": "Gets the managed Api operations.", + "x-ms-examples": { + "Gets the integration service environment managed Apis": { + "$ref": "./examples/IntegrationServiceEnvironments_ManagedApis_ListApiOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "name": "resourceGroup", + "description": "The resource group.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "integrationServiceEnvironmentName", + "description": "The integration service environment name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "apiName", + "description": "The api name.", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ApiOperationListResult" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Logic/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Logic REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List Microsoft.Logic operations": { + "$ref": "./examples/Operations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Logic error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Resource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The resource id." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the resource type." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + } + }, + "x-ms-azure-resource": true, + "description": "The base resource type." + }, + "SubResource": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The resource id." + } + }, + "x-ms-azure-resource": true, + "description": "The sub resource type." + }, + "Object": { + "type": "object", + "properties": {} + }, + "ResourceReference": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The resource id." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the resource type." + } + }, + "description": "The resource reference." + }, + "Workflow": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowProperties", + "description": "The workflow properties." + }, + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "description": "The workflow type.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "WorkflowProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/WorkflowProvisioningState", + "readOnly": true, + "description": "Gets the provisioning state." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the created time." + }, + "changedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the changed time." + }, + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The state." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "Gets the version." + }, + "accessEndpoint": { + "type": "string", + "readOnly": true, + "description": "Gets the access endpoint." + }, + "endpointsConfiguration": { + "$ref": "#/definitions/FlowEndpointsConfiguration", + "description": "The endpoints configuration." + }, + "accessControl": { + "$ref": "#/definitions/FlowAccessControlConfiguration", + "description": "The access control configuration." + }, + "sku": { + "$ref": "#/definitions/Sku", + "readOnly": true, + "description": "The sku." + }, + "integrationAccount": { + "$ref": "#/definitions/ResourceReference", + "description": "The integration account." + }, + "integrationServiceEnvironment": { + "$ref": "#/definitions/ResourceReference", + "description": "The integration service environment." + }, + "definition": { + "$ref": "#/definitions/Object", + "description": "The definition." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/WorkflowParameter" + }, + "description": "The parameters." + } + }, + "description": "The workflow properties." + }, + "WorkflowFilter": { + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The state of workflows." + } + }, + "description": "The workflow filter." + }, + "WorkflowListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Workflow" + }, + "description": "The list of workflows." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflows." + }, + "WorkflowVersion": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowVersionProperties", + "description": "The workflow version properties." + } + }, + "description": "The workflow version.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "WorkflowVersionProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/WorkflowProvisioningState", + "readOnly": true, + "description": "The provisioning state." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the created time." + }, + "changedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the changed time." + }, + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The state." + }, + "version": { + "type": "string", + "readOnly": true, + "description": "Gets the version." + }, + "accessEndpoint": { + "type": "string", + "readOnly": true, + "description": "Gets the access endpoint." + }, + "endpointsConfiguration": { + "$ref": "#/definitions/FlowEndpointsConfiguration", + "description": "The endpoints configuration." + }, + "accessControl": { + "$ref": "#/definitions/FlowAccessControlConfiguration", + "description": "The access control configuration." + }, + "sku": { + "$ref": "#/definitions/Sku", + "readOnly": true, + "description": "The sku." + }, + "integrationAccount": { + "$ref": "#/definitions/ResourceReference", + "description": "The integration account." + }, + "definition": { + "$ref": "#/definitions/Object", + "description": "The definition." + }, + "parameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/WorkflowParameter" + }, + "description": "The parameters." + } + }, + "description": "The workflow version properties." + }, + "WorkflowVersionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowVersion", + "description": "The workflow version." + }, + "description": "A list of workflow versions." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow versions." + }, + "WorkflowTrigger": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowTriggerProperties", + "description": "The workflow trigger properties." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger type." + } + }, + "description": "The workflow trigger.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ] + }, + "WorkflowTriggerProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/WorkflowTriggerProvisioningState", + "readOnly": true, + "description": "Gets the provisioning state." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the created time." + }, + "changedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the changed time." + }, + "state": { + "$ref": "#/definitions/WorkflowState", + "readOnly": true, + "description": "Gets the state." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "readOnly": true, + "description": "Gets the status." + }, + "lastExecutionTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the last execution time." + }, + "nextExecutionTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the next execution time." + }, + "recurrence": { + "$ref": "#/definitions/WorkflowTriggerRecurrence", + "readOnly": true, + "description": "Gets the workflow trigger recurrence." + }, + "workflow": { + "$ref": "#/definitions/ResourceReference", + "readOnly": true, + "description": "Gets the reference to workflow." + } + }, + "description": "The workflow trigger properties." + }, + "WorkflowTriggerFilter": { + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The state of workflow trigger." + } + }, + "description": "The workflow trigger filter." + }, + "WorkflowTriggerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowTrigger" + }, + "description": "A list of workflow triggers." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow triggers." + }, + "WorkflowTriggerCallbackUrl": { + "type": "object", + "properties": { + "value": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger callback URL." + }, + "method": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger callback URL HTTP method." + }, + "basePath": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger callback URL base path." + }, + "relativePath": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger callback URL relative path." + }, + "relativePathParameters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Gets the workflow trigger callback URL relative path parameters." + }, + "queries": { + "$ref": "#/definitions/WorkflowTriggerListCallbackUrlQueries", + "description": "Gets the workflow trigger callback URL query parameters." + } + }, + "description": "The workflow trigger callback URL." + }, + "WorkflowTriggerListCallbackUrlQueries": { + "type": "object", + "properties": { + "api-version": { + "type": "string", + "description": "The api version." + }, + "sp": { + "type": "string", + "description": "The SAS permissions." + }, + "sv": { + "type": "string", + "description": "The SAS version." + }, + "sig": { + "type": "string", + "description": "The SAS signature." + }, + "se": { + "type": "string", + "description": "The SAS timestamp." + } + }, + "description": "Gets the workflow trigger callback URL query parameters." + }, + "WorkflowTriggerHistory": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowTriggerHistoryProperties", + "description": "Gets the workflow trigger history properties." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger history name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow trigger history type." + } + }, + "description": "The workflow trigger history.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ] + }, + "WorkflowTriggerHistoryProperties": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the end time." + }, + "scheduledTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The scheduled time." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "readOnly": true, + "description": "Gets the status." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Gets the code." + }, + "error": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the error." + }, + "trackingId": { + "type": "string", + "readOnly": true, + "description": "Gets the tracking id." + }, + "correlation": { + "$ref": "#/definitions/Correlation", + "description": "The run correlation." + }, + "inputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to input parameters." + }, + "outputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to output parameters." + }, + "fired": { + "type": "boolean", + "readOnly": true, + "description": "The value indicating whether trigger was fired." + }, + "run": { + "$ref": "#/definitions/ResourceReference", + "readOnly": true, + "description": "Gets the reference to workflow run." + } + }, + "description": "The workflow trigger history properties." + }, + "WorkflowTriggerHistoryListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowTriggerHistory" + }, + "description": "A list of workflow trigger histories." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow trigger histories." + }, + "WorkflowTriggerHistoryFilter": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "The status of workflow trigger history." + } + }, + "description": "The workflow trigger history filter." + }, + "WorkflowRun": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowRunProperties", + "description": "The workflow run properties." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow run name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow run type." + } + }, + "description": "The workflow run.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ] + }, + "WorkflowRunProperties": { + "type": "object", + "properties": { + "waitEndTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the wait end time." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the end time." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "readOnly": true, + "description": "Gets the status." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Gets the code." + }, + "error": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the error." + }, + "correlationId": { + "type": "string", + "readOnly": true, + "description": "Gets the correlation id." + }, + "correlation": { + "$ref": "#/definitions/Correlation", + "description": "The run correlation." + }, + "workflow": { + "$ref": "#/definitions/ResourceReference", + "readOnly": true, + "description": "Gets the reference to workflow version." + }, + "trigger": { + "$ref": "#/definitions/WorkflowRunTrigger", + "readOnly": true, + "description": "Gets the fired trigger." + }, + "outputs": { + "type": "object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/WorkflowOutputParameter", + "description": "The workflow output parameter." + }, + "description": "Gets the outputs." + }, + "response": { + "$ref": "#/definitions/WorkflowRunTrigger", + "readOnly": true, + "description": "Gets the response of the flow run." + } + }, + "description": "The workflow run properties." + }, + "WorkflowRunFilter": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "The status of workflow run." + } + }, + "description": "The workflow run filter." + }, + "WorkflowRunListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowRun" + }, + "description": "A list of workflow runs." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow runs." + }, + "WorkflowRunAction": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkflowRunActionProperties", + "description": "The workflow run action properties." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow run action name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the workflow run action type." + } + }, + "description": "The workflow run action.", + "allOf": [ + { + "$ref": "#/definitions/SubResource" + } + ] + }, + "WorkflowRunActionProperties": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the end time." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "readOnly": true, + "description": "Gets the status." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Gets the code." + }, + "error": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the error." + }, + "trackingId": { + "type": "string", + "readOnly": true, + "description": "Gets the tracking id." + }, + "correlation": { + "$ref": "#/definitions/RunActionCorrelation", + "description": "The correlation properties." + }, + "inputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to inputs." + }, + "outputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to outputs." + }, + "trackedProperties": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the tracked properties." + }, + "retryHistory": { + "type": "array", + "items": { + "$ref": "#/definitions/RetryHistory" + }, + "description": "Gets the retry histories." + } + }, + "description": "The workflow run action properties." + }, + "WorkflowRunActionFilter": { + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "The status of workflow run action." + } + }, + "description": "The workflow run action filter." + }, + "WorkflowRunActionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowRunAction" + }, + "description": "A list of workflow run actions." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow run actions." + }, + "SkuName": { + "type": "string", + "enum": [ + "NotSpecified", + "Free", + "Shared", + "Basic", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + }, + "description": "The sku name." + }, + "WorkflowState": { + "type": "string", + "description": "The workflow state.", + "enum": [ + "NotSpecified", + "Completed", + "Enabled", + "Disabled", + "Deleted", + "Suspended" + ], + "x-ms-enum": { + "name": "WorkflowState", + "modelAsString": true + } + }, + "WorkflowStatus": { + "type": "string", + "description": "The workflow status.", + "enum": [ + "NotSpecified", + "Paused", + "Running", + "Waiting", + "Succeeded", + "Skipped", + "Suspended", + "Cancelled", + "Failed", + "Faulted", + "TimedOut", + "Aborted", + "Ignored" + ], + "x-ms-enum": { + "name": "WorkflowStatus", + "modelAsString": true + } + }, + "ParameterType": { + "type": "string", + "description": "The parameter type.", + "enum": [ + "NotSpecified", + "String", + "SecureString", + "Int", + "Float", + "Bool", + "Array", + "Object", + "SecureObject" + ], + "x-ms-enum": { + "name": "ParameterType", + "modelAsString": true + } + }, + "KeyType": { + "type": "string", + "description": "The key type.", + "enum": [ + "NotSpecified", + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "Sku": { + "type": "object", + "description": "The sku type.", + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/SkuName", + "description": "The name." + }, + "plan": { + "$ref": "#/definitions/ResourceReference", + "description": "The reference to plan." + } + } + }, + "ContentLink": { + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "The content link URI." + }, + "contentVersion": { + "type": "string", + "description": "The content version.", + "readOnly": true + }, + "contentSize": { + "type": "integer", + "format": "int64", + "description": "The content size.", + "readOnly": true + }, + "contentHash": { + "$ref": "#/definitions/ContentHash", + "description": "The content hash.", + "readOnly": true + }, + "metadata": { + "$ref": "#/definitions/Object", + "description": "The metadata.", + "readOnly": true + } + }, + "description": "The content link." + }, + "ContentHash": { + "type": "object", + "properties": { + "algorithm": { + "type": "string", + "description": "The algorithm of the content hash." + }, + "value": { + "type": "string", + "description": "The value of the content hash." + } + }, + "description": "The content hash." + }, + "RegenerateActionParameter": { + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType", + "description": "The key type." + } + }, + "description": "The access key regenerate action content." + }, + "RetryHistory": { + "type": "object", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "Gets the start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "Gets the end time." + }, + "code": { + "type": "string", + "description": "Gets the status code." + }, + "clientRequestId": { + "type": "string", + "description": "Gets the client request Id." + }, + "serviceRequestId": { + "type": "string", + "description": "Gets the service request Id." + }, + "error": { + "$ref": "#/definitions/ErrorResponse", + "description": "Gets the error response." + } + }, + "description": "The retry history." + }, + "Correlation": { + "type": "object", + "properties": { + "clientTrackingId": { + "type": "string", + "description": "The client tracking id." + } + }, + "description": "The correlation property." + }, + "WorkflowParameter": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ParameterType", + "description": "The type." + }, + "value": { + "$ref": "#/definitions/Object", + "description": "The value." + }, + "metadata": { + "$ref": "#/definitions/Object", + "description": "The metadata." + }, + "description": { + "type": "string", + "description": "The description." + } + }, + "description": "The workflow parameters." + }, + "WorkflowOutputParameter": { + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the error." + } + }, + "description": "The workflow output parameter.", + "allOf": [ + { + "$ref": "#/definitions/WorkflowParameter" + } + ] + }, + "RecurrenceFrequency": { + "type": "string", + "description": "The recurrence frequency.", + "enum": [ + "NotSpecified", + "Second", + "Minute", + "Hour", + "Day", + "Week", + "Month", + "Year" + ], + "x-ms-enum": { + "name": "RecurrenceFrequency", + "modelAsString": true + } + }, + "RecurrenceSchedule": { + "type": "object", + "properties": { + "minutes": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The minutes." + }, + "hours": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The hours." + }, + "weekDays": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DaysOfWeek", + "modelAsString": false + } + }, + "description": "The days of the week." + }, + "monthDays": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "The month days." + }, + "monthlyOccurrences": { + "type": "array", + "items": { + "$ref": "#/definitions/RecurrenceScheduleOccurrence" + }, + "description": "The monthly occurrences." + } + }, + "description": "The recurrence schedule." + }, + "RecurrenceScheduleOccurrence": { + "type": "object", + "properties": { + "day": { + "$ref": "#/definitions/DayOfWeek", + "description": "The day of the week." + }, + "occurrence": { + "type": "integer", + "format": "int32", + "description": "The occurrence." + } + }, + "description": "The recurrence schedule occurrence." + }, + "WorkflowTriggerRecurrence": { + "type": "object", + "properties": { + "frequency": { + "$ref": "#/definitions/RecurrenceFrequency", + "description": "The frequency." + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "The interval." + }, + "startTime": { + "type": "string", + "description": "The start time." + }, + "endTime": { + "type": "string", + "description": "The end time." + }, + "timeZone": { + "type": "string", + "description": "The time zone." + }, + "schedule": { + "$ref": "#/definitions/RecurrenceSchedule", + "description": "The recurrence schedule." + } + }, + "description": "The workflow trigger recurrence." + }, + "WorkflowRunTrigger": { + "type": "object", + "properties": { + "name": { "type": "string", "readOnly": true, - "description": "The resource id." + "description": "Gets the name." + }, + "inputs": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the inputs." + }, + "inputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to inputs." + }, + "outputs": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the outputs." + }, + "outputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to outputs." + }, + "scheduledTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the scheduled time." + }, + "startTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the start time." + }, + "endTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "Gets the end time." + }, + "trackingId": { + "type": "string", + "readOnly": true, + "description": "Gets the tracking id." + }, + "correlation": { + "$ref": "#/definitions/Correlation", + "description": "The run correlation." + }, + "code": { + "type": "string", + "readOnly": true, + "description": "Gets the code." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "readOnly": true, + "description": "Gets the status." + }, + "error": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the error." + }, + "trackedProperties": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the tracked properties." } }, - "x-ms-azure-resource": true, - "description": "The sub resource type." + "description": "The workflow run trigger." + }, + "WorkflowTriggerProvisioningState": { + "type": "string", + "description": "The workflow trigger provisioning state.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Moving", + "Updating", + "Registering", + "Registered", + "Unregistering", + "Unregistered", + "Completed" + ], + "x-ms-enum": { + "name": "WorkflowTriggerProvisioningState", + "modelAsString": true + } + }, + "WorkflowProvisioningState": { + "type": "string", + "description": "The workflow provisioning state.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Moving", + "Updating", + "Registering", + "Registered", + "Unregistering", + "Unregistered", + "Completed", + "Renewing", + "Pending", + "Waiting", + "InProgress" + ], + "x-ms-enum": { + "name": "WorkflowProvisioningState", + "modelAsString": true + } + }, + "DayOfWeek": { + "type": "string", + "description": "The day of the week.", + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + }, + "GenerateUpgradedDefinitionParameters": { + "type": "object", + "properties": { + "targetSchemaVersion": { + "type": "string", + "description": "The target schema version." + } + }, + "description": "The parameters to generate upgraded definition." + }, + "ApiTier": { + "description": "The Api tier.", + "type": "string", + "enum": [ + "NotSpecified", + "Enterprise", + "Standard", + "Premium" + ], + "x-ms-enum": { + "name": "ApiTier", + "modelAsString": true + } }, - "Object": { + "ApiOperationAnnotation": { "type": "object", - "properties": {} + "description": "The Api Operation Annotation.", + "properties": { + "status": { + "$ref": "#/definitions/StatusAnnotation" + }, + "family": { + "type": "string", + "description": "The family." + }, + "revision": { + "type": "integer", + "description": "The revision." + } + } }, - "ResourceReference": { + "SwaggerXml": { "type": "object", + "description": "The Swagger XML.", "properties": { - "id": { + "name": { "type": "string", - "readOnly": true, - "description": "The resource id." + "description": "The xml element or attribute name." }, - "name": { + "namespace": { "type": "string", - "readOnly": true, - "description": "Gets the resource name." + "description": "The xml namespace." }, - "type": { + "prefix": { "type": "string", - "readOnly": true, - "description": "Gets the resource type." + "description": "The name prefix." + }, + "attribute": { + "type": "boolean", + "description": "Indicates whether the property should be an attribute instead of an element." + }, + "wrapped": { + "type": "boolean", + "description": "Indicates whether the array elements are wrapped in a container element." + }, + "extensions": { + "type": "object", + "description": "The vendor extensions.", + "additionalProperties": { + "$ref": "#/definitions/Object" + } } - }, - "description": "The resource reference." + } }, - "Workflow": { + "SwaggerExternalDocumentation": { "type": "object", + "description": "The swagger external documentation", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowProperties", - "description": "The workflow properties." - } - }, - "description": "The workflow type.", - "allOf": [ - { - "$ref": "#/definitions/Resource" + "description": { + "type": "string", + "description": "The document description." + }, + "uri": { + "description": "The documentation Uri.", + "type": "string" + }, + "extensions": { + "type": "object", + "description": "The vendor extensions.", + "additionalProperties": { + "$ref": "#/definitions/Object" + } } - ] + } }, - "WorkflowProperties": { + "SwaggerCustomDynamicSchema": { "type": "object", + "description": "The swagger custom dynamic schema.", "properties": { - "provisioningState": { - "$ref": "#/definitions/WorkflowProvisioningState", - "readOnly": true, - "description": "Gets the provisioning state." + "operationId": { + "type": "string", + "description": "The operation id to fetch dynamic schema." }, - "createdTime": { + "valuePath": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the created time." + "description": "Json pointer to the dynamic schema on the response body." }, - "changedTime": { + "parameters": { + "type": "object", + "description": "The operation parameters.", + "additionalProperties": { + "$ref": "#/definitions/Object" + } + } + } + }, + "SwaggerCustomDynamicProperties": { + "type": "object", + "description": "The swagger custom dynamic properties.", + "properties": { + "operationId": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the changed time." + "description": "The operation id to fetch dynamic schema." }, - "state": { - "$ref": "#/definitions/WorkflowState", - "description": "The state." + "valuePath": { + "type": "string", + "description": "Json pointer to the dynamic schema on the response body." }, - "version": { + "parameters": { + "type": "object", + "description": "The operation parameters.", + "additionalProperties": { + "$ref": "#/definitions/SwaggerCustomDynamicProperties" + } + } + } + }, + "SwaggerCustomDynamicList": { + "type": "object", + "description": "The swagger custom dynamic list.", + "properties": { + "operationId": { "type": "string", - "readOnly": true, - "description": "Gets the version." + "description": "The operation id to fetch dynamic schema." }, - "accessEndpoint": { + "builtInOperation": { "type": "string", - "readOnly": true, - "description": "Gets the access endpoint." + "description": "The built in operation." }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku." + "itemsPath": { + "type": "string", + "description": "The path to a response property (relative to the response object, not the response body) which contains an array of dynamic value items." }, - "integrationAccount": { - "$ref": "#/definitions/ResourceReference", - "description": "The integration account." + "itemValuePath": { + "type": "string", + "description": "The path to a property which defines the value which should be used." }, - "definition": { - "$ref": "#/definitions/Object", - "description": "The definition." + "itemTitlePath": { + "type": "string", + "description": "The path to an item property which defines the display name of the item." }, "parameters": { "type": "object", + "description": "The parameters.", "additionalProperties": { - "$ref": "#/definitions/WorkflowParameter" - }, - "description": "The parameters." + "$ref": "#/definitions/SwaggerCustomDynamicProperties" + } } - }, - "description": "The workflow properties." + } }, - "WorkflowFilter": { + "SwaggerCustomDynamicTree": { "type": "object", + "description": "The swagger custom dynamic tree.", "properties": { - "state": { - "$ref": "#/definitions/WorkflowState", - "description": "The state of workflows." + "settings": { + "description": "The tree settings", + "$ref": "#/definitions/SwaggerCustomDynamicTreeSettings" + }, + "open": { + "description": "The tree on-open configuration", + "$ref": "#/definitions/SwaggerCustomDynamicTreeCommand" + }, + "browse": { + "description": "The tree on-browse configuration", + "$ref": "#/definitions/SwaggerCustomDynamicTreeCommand" } - }, - "description": "The workflow filter." + } }, - "WorkflowListResult": { + "SwaggerCustomDynamicTreeParameter": { "type": "object", + "description": "The swagger custom dynamic tree parameter.", "properties": { + "selectedItemValuePath": { + "type": "string", + "description": "Gets or sets a path to a property in the currently selected item to pass as a value to a parameter for the given operation." + }, "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Workflow" - }, - "description": "The list of workflows." + "$ref": "#/definitions/Object", + "description": "The parameter value." }, - "nextLink": { + "parameterReference": { "type": "string", - "description": "The URL to get the next set of results." - } - }, - "description": "The list of workflows." - }, - "WorkflowVersion": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowVersionProperties", - "description": "The workflow version properties." - } - }, - "description": "The workflow version.", - "allOf": [ - { - "$ref": "#/definitions/Resource" + "description": "The parameter reference." + }, + "required": { + "type": "boolean", + "description": "Indicates whether the parameter is required." } - ] + } }, - "WorkflowVersionProperties": { + "SwaggerCustomDynamicTreeCommand": { "type": "object", + "description": "The swagger tree command.", "properties": { - "createdTime": { + "operationId": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the created time." + "description": "The path to an item property which defines the display name of the item." }, - "changedTime": { + "itemsPath": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the changed time." - }, - "state": { - "$ref": "#/definitions/WorkflowState", - "description": "The state." + "description": "The path to an item property which defines the display name of the item." }, - "version": { + "itemValuePath": { "type": "string", - "readOnly": true, - "description": "Gets the version." + "description": "The path to an item property which defines the display name of the item." }, - "accessEndpoint": { + "itemTitlePath": { "type": "string", - "readOnly": true, - "description": "Gets the access endpoint." + "description": "The path to an item property which defines the display name of the item." }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku." + "itemFullTitlePath": { + "type": "string", + "description": "The path to an item property which defines the display name of the item." }, - "integrationAccount": { - "$ref": "#/definitions/ResourceReference", - "description": "The integration account." + "itemIsParent": { + "type": "string", + "description": "The path to an item property which defines the display name of the item." }, - "definition": { - "$ref": "#/definitions/Object", - "description": "The definition." + "selectableFilter": { + "type": "string", + "description": "The path to an item property which defines the display name of the item." }, "parameters": { "type": "object", "additionalProperties": { - "$ref": "#/definitions/WorkflowParameter" - }, - "description": "The parameters." + "$ref": "#/definitions/SwaggerCustomDynamicTreeParameter" + } + } + } + }, + "SwaggerCustomDynamicTreeSettings": { + "type": "object", + "description": "The swagger custom dynamic tree settings.", + "properties": { + "CanSelectParentNodes": { + "type": "boolean", + "description": "Indicates whether parent nodes can be selected." + }, + "CanSelectLeafNodes": { + "type": "boolean", + "description": "Indicates whether leaf nodes can be selected." } + } + }, + "SwaggerSchemaType": { + "type": "string", + "enum": [ + "String", + "Number", + "Integer", + "Boolean", + "Array", + "File", + "Object", + "Null" + ], + "x-ms-enum": { + "name": "SwaggerSchemaType", + "modelAsString": true }, - "description": "The workflow version properties." + "description": "The swagger schema type." }, - "WorkflowVersionListResult": { + "SwaggerSchema": { "type": "object", + "description": "The swagger schema.", "properties": { - "value": { + "ref": { + "type": "string", + "description": "The reference." + }, + "type": { + "$ref": "#/definitions/SwaggerSchemaType", + "description": "The type" + }, + "title": { + "type": "string", + "description": "The title." + }, + "items": { + "description": "The items schema.", + "$ref": "#/definitions/SwaggerSchema" + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "The object properties", + "additionalProperties": { + "$ref": "#/definitions/SwaggerSchema" + } + }, + "additionalProperties": { + "description": "The additional properties.", + "$ref": "#/definitions/Object" + }, + "required": { "type": "array", + "description": "The object required properties.", "items": { - "$ref": "#/definitions/WorkflowVersion" - }, - "description": "A list of workflow versions." + "type": "string" + } + }, + "maxProperties": { + "type": "integer", + "description": "The maximum number of allowed properties." + }, + "minProperties": { + "type": "integer", + "description": "The minimum number of allowed properties." + }, + "allOf": { + "type": "array", + "description": "The schemas which must pass validation when this schema is used.", + "items": { + "$ref": "#/definitions/SwaggerSchema" + } + }, + "discriminator": { + "type": "string", + "description": "The discriminator." + }, + "readOnly": { + "type": "boolean", + "description": "Indicates whether this property must be present in the a request." + }, + "xml": { + "$ref": "#/definitions/SwaggerXml", + "description": "The xml representation format for a property." + }, + "externalDocs": { + "$ref": "#/definitions/SwaggerExternalDocumentation", + "description": "The external documentation." + }, + "example": { + "description": "The example value.", + "$ref": "#/definitions/Object" + }, + "notificationUrlExtension": { + "type": "boolean", + "description": "Indicates the notification url extension. If this is set, the property's value should be a callback url for a webhook." + }, + "dynamicSchemaOld": { + "$ref": "#/definitions/SwaggerCustomDynamicSchema", + "description": "The dynamic schema configuration." }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of results." + "dynamicSchemaNew": { + "$ref": "#/definitions/SwaggerCustomDynamicProperties", + "description": "The dynamic schema configuration." + }, + "dynamicListNew": { + "$ref": "#/definitions/SwaggerCustomDynamicList", + "description": "The dynamic list." + }, + "dynamicTree": { + "$ref": "#/definitions/SwaggerCustomDynamicTree", + "description": "The dynamic values tree configuration." } - }, - "description": "The list of workflow versions." + } }, - "WorkflowTrigger": { + "ApiOperationPropertiesDefinition": { "type": "object", + "description": "The api operations properties", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowTriggerProperties", - "description": "The workflow trigger properties." + "summary": { + "type": "string", + "description": "The summary of the api operation." }, - "name": { + "description": { "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger name." + "description": "The description of the api operation." }, - "type": { + "visibility": { "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger type." - } - }, - "description": "The workflow trigger.", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ] - }, - "WorkflowTriggerProperties": { - "type": "object", - "properties": { - "provisioningState": { - "$ref": "#/definitions/WorkflowTriggerProvisioningState", - "readOnly": true, - "description": "Gets the provisioning state." + "description": "The visibility of the api operation." }, - "createdTime": { + "trigger": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the created time." + "description": "The trigger type of api operation." }, - "changedTime": { + "triggerHint": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the changed time." + "description": "The trigger hint for the api operation." }, - "state": { - "$ref": "#/definitions/WorkflowState", - "readOnly": true, - "description": "Gets the state." + "pageable": { + "type": "boolean", + "description": "Indicates whether the api operation is pageable." }, - "status": { - "$ref": "#/definitions/WorkflowStatus", - "readOnly": true, - "description": "Gets the status." + "annotation": { + "$ref": "#/definitions/ApiOperationAnnotation", + "description": "The annotation of api operation." }, - "lastExecutionTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the last execution time." + "api": { + "$ref": "#/definitions/ApiReference", + "description": "The api reference." }, - "nextExecutionTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the next execution time." + "inputsDefinition": { + "$ref": "#/definitions/SwaggerSchema", + "description": "The operation inputs definition schema." }, - "recurrence": { - "$ref": "#/definitions/WorkflowTriggerRecurrence", - "readOnly": true, - "description": "Gets the workflow trigger recurrence." + "responsesDefinition": { + "type": "object", + "description": "The operation responses definition schemas.", + "additionalProperties": { + "$ref": "#/definitions/SwaggerSchema" + } }, - "workflow": { - "$ref": "#/definitions/ResourceReference", - "readOnly": true, - "description": "Gets the reference to workflow." + "isWebhook": { + "type": "boolean", + "description": "Indicates whether the API operation is webhook or not." + }, + "isNotification": { + "type": "boolean", + "description": "Indicates whether the API operation is notification or not." } - }, - "description": "The workflow trigger properties." + } }, - "WorkflowTriggerFilter": { + "ApiOperation": { "type": "object", + "description": "The api operation.", "properties": { - "state": { - "$ref": "#/definitions/WorkflowState", - "description": "The state of workflow trigger." + "properties": { + "$ref": "#/definitions/ApiOperationPropertiesDefinition" } }, - "description": "The workflow trigger filter." + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] }, - "WorkflowTriggerListResult": { + "ApiOperationListResult": { "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/WorkflowTrigger" + "$ref": "#/definitions/ApiOperation" }, - "description": "A list of workflow triggers." + "description": "The api operation definitions for an API." }, "nextLink": { "type": "string", "description": "The URL to get the next set of results." } }, - "description": "The list of workflow triggers." + "description": "The list of managed API operations." }, - "WorkflowTriggerCallbackUrl": { - "type": "object", - "properties": { - "value": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger callback URL." - }, - "method": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger callback URL HTTP method." - }, - "basePath": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger callback URL base path." - }, - "relativePath": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger callback URL relative path." - }, - "relativePathParameters": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Gets the workflow trigger callback URL relative path parameters." - }, - "queries": { - "$ref": "#/definitions/WorkflowTriggerListCallbackUrlQueries", - "description": "Gets the workflow trigger callback URL query parameters." - } - }, - "description": "The workflow trigger callback URL." + "StatusAnnotation": { + "type": "string", + "description": "The status annotation.", + "enum": [ + "NotSpecified", + "Preview", + "Production" + ], + "x-ms-enum": { + "name": "StatusAnnotation", + "modelAsString": true + } }, - "WorkflowTriggerListCallbackUrlQueries": { + "WorkflowTriggerReference": { "type": "object", + "description": "The workflow trigger reference.", + "additionalProperties": false, "properties": { - "api-version": { - "type": "string", - "description": "The api version." - }, - "sp": { + "name": { "type": "string", - "description": "The SAS permissions." + "description": "The workflow trigger resource reference name." }, - "sv": { + "flowName": { "type": "string", - "description": "The SAS version." + "description": "The workflow name." }, - "sig": { + "triggerName": { "type": "string", - "description": "The SAS signature." + "description": "The workflow trigger name." } }, - "description": "Gets the workflow trigger callback URL query parameters." + "allOf": [ + { + "$ref": "#/definitions/ResourceReference" + } + ] }, - "WorkflowTriggerHistory": { + "WorkflowReference": { "type": "object", + "description": "The workflow reference.", + "additionalProperties": false, "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowTriggerHistoryProperties", - "description": "Gets the workflow trigger history properties." - }, "name": { "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger history name." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow trigger history type." + "description": "The workflow name." } }, - "description": "The workflow trigger history.", "allOf": [ { - "$ref": "#/definitions/SubResource" + "$ref": "#/definitions/ResourceReference" } ] }, - "WorkflowTriggerHistoryProperties": { + "ApiReference": { "type": "object", + "description": "The Api reference.", "properties": { - "startTime": { + "displayName": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the start time." + "description": "The display name of the api." }, - "endTime": { + "description": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the end time." - }, - "status": { - "$ref": "#/definitions/WorkflowStatus", - "readOnly": true, - "description": "Gets the status." + "description": "The description of the api." }, - "code": { + "iconUri": { "type": "string", - "readOnly": true, - "description": "Gets the code." + "description": "The icon uri of the api." }, - "error": { + "swagger": { "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the error." + "description": "The swagger of the api." }, - "trackingId": { + "brandColor": { "type": "string", - "readOnly": true, - "description": "Gets the tracking id." - }, - "correlation": { - "$ref": "#/definitions/Correlation", - "description": "The run correlation." - }, - "inputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to input parameters." - }, - "outputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to output parameters." + "description": "The brand color of the api." }, - "fired": { - "type": "boolean", - "readOnly": true, - "description": "Gets a value indicating whether trigger was fired." + "category": { + "$ref": "#/definitions/ApiTier", + "description": "The tier." }, - "run": { + "integrationServiceEnvironment": { "$ref": "#/definitions/ResourceReference", - "readOnly": true, - "description": "Gets the reference to workflow run." + "description": "The integration service environment reference." } }, - "description": "The workflow trigger history properties." + "allOf": [ + { + "$ref": "#/definitions/ResourceReference" + } + ] }, - "WorkflowTriggerHistoryListResult": { + "ManagedApiListResult": { "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/WorkflowTriggerHistory" + "$ref": "#/definitions/ManagedApi" }, - "description": "A list of workflow trigger histories." + "description": "The managed APIs." }, "nextLink": { "type": "string", "description": "The URL to get the next set of results." } }, - "description": "The list of workflow trigger histories." - }, - "WorkflowTriggerHistoryFilter": { - "type": "object", - "properties": { - "status": { - "$ref": "#/definitions/WorkflowStatus", - "description": "The status of workflow trigger history." - } - }, - "description": "The workflow trigger history filter." - }, - "WorkflowRun": { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowRunProperties", - "description": "The workflow run properties." - }, - "name": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow run name." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "Gets the workflow run type." - } - }, - "description": "The workflow run.", - "allOf": [ - { - "$ref": "#/definitions/SubResource" - } - ] + "description": "The list of managed APIs." }, - "WorkflowRunProperties": { + "ApiResourceProperties": { "type": "object", + "description": "The API resource properties.", "properties": { - "startTime": { + "name": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the start time." + "description": "The name", + "readOnly": true }, - "endTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the end time." + "connectionParameters": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/Object" + }, + "description": "The connection parameters.", + "readOnly": true }, - "status": { - "$ref": "#/definitions/WorkflowStatus", - "readOnly": true, - "description": "Gets the status." + "metadata": { + "$ref": "#/definitions/ApiResourceMetadata", + "description": "The metadata.", + "readOnly": true }, - "code": { - "type": "string", - "readOnly": true, - "description": "Gets the code." + "runtimeUrls": { + "type": "array", + "description": "The runtime urls.", + "items": { + "type": "string" + }, + "readOnly": true }, - "error": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the error." + "generalInformation": { + "$ref": "#/definitions/ApiResourceGeneralInformation", + "description": "The api general information.", + "readOnly": true }, - "correlationId": { + "capabilities": { + "type": "array", + "description": "The capabilities.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "backendService": { + "$ref": "#/definitions/ApiResourceBackendService", + "description": "The backend service.", + "readOnly": true + }, + "policies": { + "$ref": "#/definitions/ApiResourcePolicies", + "description": "The policies for the API.", + "readOnly": true + }, + "apiDefinitionUrl": { "type": "string", - "readOnly": true, - "description": "Gets the correlation id." + "description": "The API definition.", + "readOnly": true }, - "correlation": { - "$ref": "#/definitions/Correlation", - "description": "The run correlation." + "apiDefinitions": { + "$ref": "#/definitions/ApiResourceDefinitions", + "description": "The api definitions.", + "readOnly": true }, - "workflow": { + "integrationServiceEnvironment": { "$ref": "#/definitions/ResourceReference", - "readOnly": true, - "description": "Gets the reference to workflow version." - }, - "trigger": { - "$ref": "#/definitions/WorkflowRunTrigger", - "readOnly": true, - "description": "Gets the fired trigger." + "description": "The integration service environment reference." }, - "outputs": { - "type": "object", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/WorkflowOutputParameter" - }, - "description": "Gets the outputs." + "provisioningState": { + "$ref": "#/definitions/WorkflowProvisioningState", + "description": "The provisioning state.", + "readOnly": true }, - "response": { - "$ref": "#/definitions/WorkflowRunTrigger", - "readOnly": true, - "description": "Gets the response of the flow run." + "category": { + "$ref": "#/definitions/ApiTier", + "description": "The category.", + "readOnly": true } - }, - "description": "The workflow run properties." + } }, - "WorkflowRunFilter": { + "ApiResourcePolicies": { "type": "object", + "description": "The API resource policies.", "properties": { - "status": { - "$ref": "#/definitions/WorkflowStatus", - "description": "The status of workflow run." + "content": { + "type": "string", + "description": "The API level only policies XML as embedded content." + }, + "contentLink": { + "type": "string", + "description": "The content link to the policies." } - }, - "description": "The workflow run filter." + } }, - "WorkflowRunListResult": { + "ApiResourceDefinitions": { "type": "object", + "description": "The Api resource definition.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/WorkflowRun" - }, - "description": "A list of workflow runs." + "originalSwaggerUrl": { + "type": "string", + "description": "The original swagger url." }, - "nextLink": { + "modifiedSwaggerUrl": { "type": "string", - "description": "The URL to get the next set of results." + "description": "The modified swagger url." } - }, - "description": "The list of workflow runs." + } }, - "WorkflowRunAction": { + "ApiDeploymentParameterMetadataSet": { "type": "object", + "description": "The API deployment parameters metadata.", "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/WorkflowRunActionProperties", - "description": "The workflow run action properties." + "packageContentLink": { + "$ref": "#/definitions/ApiDeploymentParameterMetadata", + "description": "The package content link parameter." }, - "name": { + "redisCacheConnectionString": { + "$ref": "#/definitions/ApiDeploymentParameterMetadata", + "description": "The package content link parameter." + } + } + }, + "ApiDeploymentParameterMetadata": { + "type": "object", + "description": "The API deployment parameter metadata.", + "properties": { + "type": { "type": "string", - "readOnly": true, - "description": "Gets the workflow run action name." + "description": "The type." }, - "type": { + "isRequired": { + "type": "boolean", + "description": "Indicates whether its required." + }, + "displayName": { "type": "string", - "readOnly": true, - "description": "Gets the workflow run action type." + "description": "The display name." + }, + "description": { + "type": "string", + "description": "The description." + }, + "visibility": { + "$ref": "#/definitions/ApiDeploymentParameterVisibility", + "description": "The visibility." } - }, - "description": "The workflow run action.", - "allOf": [ - { - "$ref": "#/definitions/SubResource" + } + }, + "ApiDeploymentParameterVisibility": { + "type": "string", + "description": "The Api deployment parameter visibility.", + "enum": [ + "NotSpecified", + "Default", + "Internal" + ], + "x-ms-enum": { + "name": "ApiDeploymentParameterVisibility", + "modelAsString": true + } + }, + "ApiResourceBackendService": { + "type": "object", + "properties": { + "serviceUrl": { + "type": "string", + "description": "The service URL." } - ] + }, + "description": "The API backend service." }, - "WorkflowRunActionProperties": { + "ApiResourceMetadata": { "type": "object", + "description": "The api resource metadata.", "properties": { - "startTime": { + "source": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the start time." + "description": "The source." }, - "endTime": { + "brandColor": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the end time." - }, - "status": { - "$ref": "#/definitions/WorkflowStatus", - "readOnly": true, - "description": "Gets the status." + "description": "The brand color." }, - "code": { + "hideKey": { "type": "string", - "readOnly": true, - "description": "Gets the code." + "description": "The hide key." }, - "error": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the error." + "tags": { + "type": "object", + "description": "The tags.", + "additionalProperties": { + "type": "string" + } }, - "trackingId": { - "type": "string", - "readOnly": true, - "description": "Gets the tracking id." + "ApiType": { + "$ref": "#/definitions/ApiType", + "description": "The api type." }, - "correlation": { - "$ref": "#/definitions/Correlation", - "description": "The correlation properties." + "wsdlService": { + "$ref": "#/definitions/WsdlService", + "description": "The WSDL service." }, - "inputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to inputs." + "wsdlImportMethod": { + "$ref": "#/definitions/WsdlImportMethod", + "description": "The WSDL import method." }, - "outputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to outputs." + "connectionType": { + "type": "string", + "description": "The connection type." }, - "trackedProperties": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the tracked properties." + "provisioningState": { + "$ref": "#/definitions/WorkflowProvisioningState", + "description": "The provisioning state." }, - "retryHistory": { - "type": "array", - "items": { - "$ref": "#/definitions/RetryHistory" - }, - "description": "Gets the retry histories." + "deploymentParameters": { + "$ref": "#/definitions/ApiDeploymentParameterMetadataSet", + "description": "The connector deployment parameters metadata." } - }, - "description": "The workflow run action properties." + } }, - "WorkflowRunActionFilter": { + "ApiType": { + "type": "string", + "enum": [ + "NotSpecified", + "Rest", + "Soap" + ], + "x-ms-enum": { + "name": "ApiType", + "modelAsString": true + } + }, + "WsdlService": { "type": "object", + "description": "The WSDL service.", "properties": { - "status": { - "$ref": "#/definitions/WorkflowStatus", - "description": "The status of workflow run action." + "qualifiedName": { + "type": "string", + "description": "The qualified name." + }, + "EndpointQualifiedNames": { + "type": "array", + "description": "The list of endpoints' qualified names.", + "items": { + "type": "string" + } } - }, - "description": "The workflow run action filter." + } }, - "WorkflowRunActionListResult": { + "WsdlImportMethod": { + "type": "string", + "description": "The WSDL import method.", + "enum": [ + "NotSpecified", + "SoapToRest", + "SoapPassThrough" + ], + "x-ms-enum": { + "name": "WsdlImportMethod", + "modelAsString": true + } + }, + "ApiResourceGeneralInformation": { "type": "object", + "description": "The API general information.", "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/WorkflowRunAction" - }, - "description": "A list of workflow run actions." + "iconUrl": { + "type": "string", + "description": "The icon url." }, - "nextLink": { + "displayName": { "type": "string", - "description": "The URL to get the next set of results." + "description": "The display name." + }, + "description": { + "type": "string", + "description": "The description." + }, + "termsOfUseUrl": { + "type": "string", + "description": "The terms of use url." + }, + "releaseTag": { + "type": "string", + "description": "The release tag." + }, + "tier": { + "$ref": "#/definitions/ApiTier", + "description": "The tier." + } + } + }, + "ManagedApi": { + "type": "object", + "description": "The managed api definition.", + "properties": { + "properties": { + "$ref": "#/definitions/ApiResourceProperties", + "description": "The api resource properties." } }, - "description": "The list of workflow run actions." + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] }, - "SkuName": { + "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState": { "type": "string", + "description": "The integration service environment network endpoint accessibility state.", "enum": [ "NotSpecified", - "Free", - "Shared", - "Basic", - "Standard", - "Premium" + "Unknown", + "Available", + "NotAvailable" ], "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - }, - "description": "The sku name." + "name": "IntegrationServiceEnvironmentNetworkEndPointAccessibilityState", + "modelAsString": true + } }, - "WorkflowState": { + "IntegrationServiceEnvironmentNetworkEndpoint": { + "type": "object", + "description": "The network endpoint.", + "properties": { + "accessibility": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndPointAccessibilityState", + "description": "The accessibility state." + }, + "domainName": { + "type": "string", + "description": "The domain name." + }, + "ports": { + "type": "array", + "description": "The ports.", + "items": { + "type": "string" + } + } + } + }, + "IntegrationServiceEnvironmentNetworkDependencyCategoryType": { "type": "string", + "description": "The integration service environment network dependency category type.", "enum": [ "NotSpecified", - "Completed", - "Enabled", - "Disabled", - "Deleted", - "Suspended" + "AzureStorage", + "AzureManagement", + "AzureActiveDirectory", + "SSLCertificateVerification", + "DiagnosticLogsAndMetrics", + "IntegrationServiceEnvironmentConnectors", + "RedisCache", + "AccessEndpoints", + "RecoveryService", + "SQL", + "RegionalService" ], "x-ms-enum": { - "name": "WorkflowState", - "modelAsString": false + "name": "IntegrationServiceEnvironmentNetworkDependencyCategoryType", + "modelAsString": true } }, - "WorkflowStatus": { + "IntegrationServiceEnvironmentNetworkDependency": { + "type": "object", + "description": "The azure async operation resource.", + "properties": { + "category": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyCategoryType", + "description": "The network dependency category type." + }, + "displayName": { + "type": "string", + "description": "The display name." + }, + "endpoints": { + "type": "array", + "description": "The endpoints.", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndpoint", + "description": "The endpoint." + } + } + } + }, + "IntegrationServiceEnvironmentNetworkDependencyHealthState": { "type": "string", + "description": "The integration service environment network dependency health state.", "enum": [ "NotSpecified", - "Paused", - "Running", - "Waiting", - "Succeeded", - "Skipped", - "Suspended", - "Cancelled", - "Failed", - "Faulted", - "TimedOut", - "Aborted", - "Ignored" + "Healthy", + "Unhealthy", + "Unknown" ], "x-ms-enum": { - "name": "WorkflowStatus", - "modelAsString": false + "name": "IntegrationServiceEnvironmentNetworkDependencyHealthState", + "modelAsString": true } }, - "ParameterType": { + "IntegrationServiceEnvironmentNetworkDependencyHealth": { + "type": "object", + "description": "The integration service environment subnet network health.", + "properties": { + "error": { + "$ref": "#/definitions/ExtendedErrorInfo", + "description": "The error if any occurred during the operation." + }, + "state": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyHealthState", + "description": "The network dependency health state." + } + } + }, + "IntegrationServiceEnvironmentNetworkHealth": { + "type": "object", + "description": "The integration service environment network health of all the subnets.", + "additionalProperties": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSubnetNetworkHealth", + "description": "The integration service environment subnet network health." + } + }, + "IntegrationServiceEnvironmentSubnetNetworkHealth": { + "type": "object", + "description": "The integration service environment subnet network health.", + "required": [ + "networkDependencyHealthState" + ], + "properties": { + "outboundNetworkDependencies": { + "description": "The outbound network dependencies.", + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependency", + "description": "The integration service environment network dependency." + } + }, + "outboundNetworkHealth": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkDependencyHealth", + "description": "The integration service environment network health." + }, + "networkDependencyHealthState": { + "$ref": "#/definitions/IntegrationServiceEnvironmentNetworkEndPointAccessibilityState", + "description": "The integration service environment network health state." + } + } + }, + "ExtendedErrorInfo": { + "type": "object", + "description": "The extended error info.", + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "description": "The error code.", + "$ref": "#/definitions/ErrorResponseCode" + }, + "message": { + "type": "string", + "description": "The error message." + }, + "details": { + "type": "array", + "description": "The error message details.", + "items": { + "$ref": "#/definitions/ExtendedErrorInfo" + } + }, + "innerError": { + "$ref": "#/definitions/Object", + "description": "The inner error." + } + } + }, + "ErrorResponseCode": { "type": "string", + "description": "The error response code.", "enum": [ "NotSpecified", - "String", - "SecureString", - "Int", - "Float", - "Bool", - "Array", - "Object", - "SecureObject" + "IntegrationServiceEnvironmentNotFound", + "InternalServerError", + "InvalidOperationId" ], "x-ms-enum": { - "name": "ParameterType", - "modelAsString": false + "name": "ErrorResponseCode", + "modelAsString": true } }, - "KeyType": { + "AzureAsyncOperationState": { "type": "string", + "description": "The Azure async operation state.", "enum": [ - "NotSpecified", - "Primary", - "Secondary" + "Failed", + "Succeeded", + "Pending", + "Canceled" ], "x-ms-enum": { - "name": "KeyType", - "modelAsString": false + "name": "AzureAsyncOperationState", + "modelAsString": true } }, - "Sku": { + "IntegrationServiceEnvironmentListResult": { "type": "object", - "required": [ - "name" - ], "properties": { - "name": { - "$ref": "#/definitions/SkuName", - "description": "The name." + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironment", + "description": "The integration service environment." + } }, - "plan": { - "$ref": "#/definitions/ResourceReference", - "description": "The reference to plan." + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." } }, - "description": "The sku type." + "description": "The list of integration service environments." }, - "ContentLink": { + "IntegrationServiceEnvironment": { "type": "object", + "description": "The integration service environment.", "properties": { - "uri": { - "type": "string", - "description": "The content link URI." + "properties": { + "$ref": "#/definitions/IntegrationServiceEnvironmentProperties", + "description": "The integration service environment properties." }, - "contentVersion": { - "type": "string", - "description": "The content version." + "sku": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSku", + "description": "The sku." }, - "contentSize": { + "identity": { + "$ref": "#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "IntegrationServiceEnvironmentSku": { + "type": "object", + "description": "The integration service environment sku.", + "properties": { + "name": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuName", + "description": "The sku name." + }, + "capacity": { "type": "integer", - "format": "int64", - "description": "The content size." + "format": "int32", + "description": "The sku capacity." + } + } + }, + "IntegrationServiceEnvironmentProperties": { + "type": "object", + "description": "The integration service environment properties.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/WorkflowProvisioningState", + "description": "The provisioning state." }, - "contentHash": { - "$ref": "#/definitions/ContentHash", - "description": "The content hash." + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The integration service environment state." }, - "metadata": { - "$ref": "#/definitions/Object", - "description": "The metadata." + "integrationServiceEnvironmentId": { + "type": "string", + "description": "Gets the tracking id." + }, + "endpointsConfiguration": { + "$ref": "#/definitions/FlowEndpointsConfiguration", + "description": "The endpoints configuration." + }, + "networkConfiguration": { + "$ref": "#/definitions/NetworkConfiguration", + "description": "The network configuration." + }, + "encryptionConfiguration": { + "$ref": "#/definitions/IntegrationServiceEnvironmenEncryptionConfiguration", + "description": "The encryption configuration." } - }, - "description": "The content link." + } }, - "ContentHash": { + "IntegrationServiceEnvironmentSkuName": { + "type": "string", + "description": "The integration service environment sku name.", + "enum": [ + "NotSpecified", + "Premium", + "Developer" + ], + "x-ms-enum": { + "name": "IntegrationServiceEnvironmentSkuName", + "modelAsString": true + } + }, + "NetworkConfiguration": { "type": "object", + "description": "The network configuration.", "properties": { - "algorithm": { + "virtualNetworkAddressSpace": { "type": "string", - "description": "The algorithm of the content hash." + "description": "Gets the virtual network address space." }, - "value": { - "type": "string", - "description": "The value of the content hash." + "accessEndpoint": { + "$ref": "#/definitions/IntegrationServiceEnvironmentAccessEndpoint", + "description": "The access endpoint." + }, + "subnets": { + "type": "array", + "description": "The subnets.", + "items": { + "$ref": "#/definitions/ResourceReference", + "description": "The subnet." + } } - }, - "description": "The content hash." + } }, - "RegenerateActionParameter": { + "IntegrationServiceEnvironmentAccessEndpoint": { "type": "object", + "description": "The integration service environment access endpoint.", "properties": { - "keyType": { - "$ref": "#/definitions/KeyType", - "description": "The key type." + "type": { + "$ref": "#/definitions/IntegrationServiceEnvironmentAccessEndpointType", + "description": "The access endpoint type." } - }, - "description": "The access key regenerate action content." + } }, - "RetryHistory": { + "IntegrationServiceEnvironmentAccessEndpointType": { + "type": "string", + "description": "The integration service environment access endpoint type.", + "enum": [ + "NotSpecified", + "External", + "Internal" + ], + "x-ms-enum": { + "name": "IntegrationServiceEnvironmentAccessEndpointType", + "modelAsString": true + } + }, + "IntegrationServiceEnvironmenEncryptionConfiguration": { "type": "object", + "description": "The encryption configuration for the integration service environment.", "properties": { - "startTime": { - "type": "string", - "format": "date-time", - "description": "Gets the start time." - }, - "endTime": { - "type": "string", - "format": "date-time", - "description": "Gets the end time." + "encryptionKeyReference": { + "$ref": "#/definitions/IntegrationServiceEnvironmenEncryptionKeyReference", + "description": "The encryption key reference." + } + } + }, + "IntegrationServiceEnvironmenEncryptionKeyReference": { + "type": "object", + "description": "The encryption key details for the integration service environment.", + "properties": { + "keyVault": { + "$ref": "#/definitions/ResourceReference", + "description": "The key vault reference." }, - "code": { + "keyName": { "type": "string", - "description": "Gets the status code." + "description": "Gets the key name in the Key Vault." }, - "clientRequestId": { + "keyVersion": { "type": "string", - "description": "Gets the client request Id." + "description": "Gets the version of the key specified in the keyName property." + } + } + }, + "FlowAccessControlConfiguration": { + "type": "object", + "description": "The access control configuration.", + "properties": { + "triggers": { + "$ref": "#/definitions/FlowAccessControlConfigurationPolicy", + "description": "The access control configuration for invoking workflow triggers." }, - "serviceRequestId": { - "type": "string", - "description": "Gets the service request Id." + "contents": { + "$ref": "#/definitions/FlowAccessControlConfigurationPolicy", + "description": "The access control configuration for accessing workflow run contents." }, - "error": { - "$ref": "#/definitions/ErrorResponse", - "description": "Gets the error response." + "actions": { + "$ref": "#/definitions/FlowAccessControlConfigurationPolicy", + "description": "The access control configuration for workflow actions." + }, + "workflowManagement": { + "$ref": "#/definitions/FlowAccessControlConfigurationPolicy", + "description": "The access control configuration for workflow management." } - }, - "description": "The retry history." + } }, - "Correlation": { + "FlowAccessControlConfigurationPolicy": { "type": "object", + "description": "The access control configuration policy.", "properties": { - "clientTrackingId": { - "type": "string", - "description": "The client tracking id." + "allowedCallerIpAddresses": { + "type": "array", + "description": "The allowed caller IP address ranges.", + "items": { + "$ref": "#/definitions/IpAddressRange", + "description": "The ip address range." + } + }, + "openAuthenticationPolicies": { + "$ref": "#/definitions/OpenAuthenticationAccessPolicies", + "description": "The authentication policies for workflow." } - }, - "description": "The correlation property." + } }, - "WorkflowParameter": { + "IpAddressRange": { "type": "object", + "description": "The ip address range.", "properties": { - "type": { - "$ref": "#/definitions/ParameterType", - "description": "The type." - }, - "value": { - "$ref": "#/definitions/Object", - "description": "The value." - }, - "metadata": { - "$ref": "#/definitions/Object", - "description": "The metadata." - }, - "description": { + "addressRange": { "type": "string", - "description": "The description." + "description": "The IP address range." } - }, - "description": "The workflow parameters." + } }, - "WorkflowOutputParameter": { + "OpenAuthenticationAccessPolicies": { "type": "object", + "description": "AuthenticationPolicy of type Open.", "properties": { - "error": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the error." + "policies": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/OpenAuthenticationAccessPolicy" + }, + "description": "Open authentication policies." } - }, - "description": "The workflow output parameter.", - "allOf": [ - { - "$ref": "#/definitions/WorkflowParameter" + } + }, + "OpenAuthenticationAccessPolicy": { + "type": "object", + "description": "Open authentication access policy defined by user.", + "properties": { + "type": { + "$ref": "#/definitions/OpenAuthenticationProviderType", + "description": "Type of provider for OAuth." + }, + "claims": { + "type": "array", + "description": "The access policy claims.", + "items": { + "$ref": "#/definitions/OpenAuthenticationPolicyClaim", + "description": "The access policy claim." + } } - ] + } }, - "RecurrenceFrequency": { + "OpenAuthenticationProviderType": { "type": "string", + "description": "Open authentication policy provider type.", "enum": [ - "NotSpecified", - "Second", - "Minute", - "Hour", - "Day", - "Week", - "Month", - "Year" + "AAD" ], "x-ms-enum": { - "name": "RecurrenceFrequency", - "modelAsString": false + "name": "OpenAuthenticationProviderType", + "modelAsString": true } }, - "RecurrenceSchedule": { + "OpenAuthenticationPolicyClaim": { "type": "object", + "description": "Open authentication policy claim.", "properties": { - "minutes": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "The minutes." - }, - "hours": { - "type": "array", - "items": { - "type": "integer", - "format": "int32" - }, - "description": "The hours." + "name": { + "type": "string", + "description": "The name of the claim." }, - "weekDays": { - "type": "array", - "items": { - "type": "string", - "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" - ], - "x-ms-enum": { - "name": "DaysOfWeek", - "modelAsString": false - } - }, - "description": "The days of the week." + "value": { + "type": "string", + "description": "The value of the claim." + } + } + }, + "FlowEndpointsConfiguration": { + "type": "object", + "description": "The endpoints configuration.", + "properties": { + "workflow": { + "$ref": "#/definitions/FlowEndpoints", + "description": "The workflow endpoints." }, - "monthDays": { + "connector": { + "$ref": "#/definitions/FlowEndpoints", + "description": "The connector endpoints." + } + } + }, + "FlowEndpoints": { + "type": "object", + "description": "The flow endpoints configuration.", + "properties": { + "outgoingIpAddresses": { "type": "array", + "description": "The outgoing ip address.", "items": { - "type": "integer", - "format": "int32" - }, - "description": "The month days." + "$ref": "#/definitions/IpAddress", + "description": "The ip address." + } }, - "monthlyOccurrences": { + "accessEndpointIpAddresses": { "type": "array", + "description": "The access endpoint ip address.", "items": { - "$ref": "#/definitions/RecurrenceScheduleOccurrence" - }, - "description": "The monthly occurrences." + "$ref": "#/definitions/IpAddress", + "description": "The ip address." + } } - }, - "description": "The recurrence schedule." + } }, - "RecurrenceScheduleOccurrence": { + "IpAddress": { "type": "object", + "description": "The ip address.", "properties": { - "day": { - "$ref": "#/definitions/DayOfWeek", - "description": "The day of the week." - }, - "occurrence": { - "type": "integer", - "format": "int32", - "description": "The occurrence." + "address": { + "type": "string", + "description": "The address." } - }, - "description": "The recurrence schedule occurence." + } }, - "WorkflowTriggerRecurrence": { + "ManagedServiceIdentity": { + "description": "Managed service identity properties.", "type": "object", "properties": { - "frequency": { - "$ref": "#/definitions/RecurrenceFrequency", - "description": "The frequency." - }, - "interval": { - "type": "integer", - "format": "int32", - "description": "The interval." - }, - "startTime": { + "type": { + "description": "Type of managed service identity. The type 'SystemAssigned' includes an implicitly created identity. The type 'None' will remove any identities from the resource.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "None" + ], "type": "string", - "format": "date-time", - "description": "The start time." + "x-ms-enum": { + "name": "ManagedServiceIdentityType", + "modelAsString": true + } }, - "endTime": { + "tenantId": { + "description": "Tenant of managed service identity.", "type": "string", - "format": "date-time", - "description": "The end time." + "format": "uuid", + "readOnly": true }, - "timeZone": { + "principalId": { + "description": "Principal Id of managed service identity.", "type": "string", - "description": "The time zone." + "format": "uuid", + "readOnly": true }, - "schedule": { - "$ref": "#/definitions/RecurrenceSchedule", - "description": "The recurrence schedule." + "userAssignedIdentities": { + "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/userAssignedIdentity" + } } }, - "description": "The workflow trigger recurrence." + "required": [ + "type" + ] }, - "WorkflowRunTrigger": { + "userAssignedIdentity": { + "description": "User Assigned identity properties.", "type": "object", "properties": { - "name": { - "type": "string", - "readOnly": true, - "description": "Gets the name." - }, - "inputs": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the inputs." - }, - "inputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to inputs." - }, - "outputs": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the outputs." - }, - "outputsLink": { - "$ref": "#/definitions/ContentLink", - "readOnly": true, - "description": "Gets the link to outputs." - }, - "startTime": { + "principalId": { + "description": "Principal Id of user assigned identity", "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the start time." - }, - "endTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "Gets the end time." + "readOnly": true }, - "trackingId": { + "clientId": { + "description": "Client Id of user assigned identity", "type": "string", - "readOnly": true, - "description": "Gets the tracking id." - }, - "correlation": { - "$ref": "#/definitions/Correlation", - "description": "The run correlation." + "readOnly": true + } + } + }, + "IntegrationServiceEnvironmentSkuList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuDefinition" + }, + "description": "The list of integration service environment skus." }, - "code": { + "nextLink": { "type": "string", - "readOnly": true, - "description": "Gets the code." - }, - "status": { - "$ref": "#/definitions/WorkflowStatus", - "readOnly": true, - "description": "Gets the status." + "description": "The URL to get the next set of results." + } + }, + "description": "The list of integration service environment skus." + }, + "IntegrationServiceEnvironmentSkuDefinition": { + "type": "object", + "description": "The integration service environment sku definition.", + "properties": { + "resourceType": { + "description": "The resource type.", + "type": "string" }, - "error": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the error." + "sku": { + "type": "object", + "description": "The sku.", + "properties": { + "name": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuName", + "description": "The sku name." + }, + "tier": { + "type": "string", + "description": "The sku tier." + } + } }, - "trackedProperties": { - "$ref": "#/definitions/Object", - "readOnly": true, - "description": "Gets the tracked properties." + "capacity": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuCapacity", + "description": "The sku capacity." } - }, - "description": "The workflow run trigger." - }, - "WorkflowTriggerProvisioningState": { - "type": "string", - "enum": [ - "NotSpecified", - "Accepted", - "Running", - "Ready", - "Creating", - "Created", - "Deleting", - "Deleted", - "Canceled", - "Failed", - "Succeeded", - "Moving", - "Updating", - "Registering", - "Registered", - "Unregistering", - "Unregistered", - "Completed" - ], - "x-ms-enum": { - "name": "WorkflowTriggerProvisioningState", - "modelAsString": false } }, - "WorkflowProvisioningState": { - "type": "string", - "enum": [ - "NotSpecified", - "Accepted", - "Running", - "Ready", - "Creating", - "Created", - "Deleting", - "Deleted", - "Canceled", - "Failed", - "Succeeded", - "Moving", - "Updating", - "Registering", - "Registered", - "Unregistering", - "Unregistered", - "Completed" - ], - "x-ms-enum": { - "name": "WorkflowProvisioningState", - "modelAsString": false + "IntegrationServiceEnvironmentSkuCapacity": { + "type": "object", + "description": "The integration service environment sku capacity.", + "properties": { + "minimum": { + "type": "integer", + "format": "int32", + "description": "The minimum capacity." + }, + "maximum": { + "type": "integer", + "format": "int32", + "description": "The maximum capacity." + }, + "default": { + "type": "integer", + "format": "int32", + "description": "The default capacity." + }, + "scaleType": { + "$ref": "#/definitions/IntegrationServiceEnvironmentSkuScaleType", + "description": "The sku scale type." + } } }, - "DayOfWeek": { + "IntegrationServiceEnvironmentSkuScaleType": { "type": "string", + "description": "The integration service environment sku scale type.", "enum": [ - "Sunday", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday" + "Manual", + "Automatic", + "None" ], "x-ms-enum": { - "name": "DayOfWeek", - "modelAsString": false + "name": "IntegrationServiceEnvironmentSkuScaleType", + "modelAsString": true } }, - "GenerateUpgradedDefinitionParameters": { + "IntegrationServiceEnvironmentManagedApiListResult": { "type": "object", "properties": { - "targetSchemaVersion": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApi" + }, + "description": "The integration service environment managed APIs." + }, + "nextLink": { "type": "string", - "description": "The target schema version." + "description": "The URL to get the next set of results." } }, - "description": "The parameters to generate upgraded definition." + "description": "The list of integration service environment managed APIs." + }, + "IntegrationServiceEnvironmentManagedApi": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiProperties", + "description": "The integration service environment managed api properties." + } + }, + "description": "The integration service environment managed api.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "IntegrationServiceEnvironmentManagedApiProperties": { + "type": "object", + "description": "The integration service environment managed api properties.", + "properties": { + "deploymentParameters": { + "$ref": "#/definitions/IntegrationServiceEnvironmentManagedApiDeploymentParameters", + "description": "The integration service environment managed api deployment parameters." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ApiResourceProperties" + } + ] + }, + "IntegrationServiceEnvironmentManagedApiDeploymentParameters": { + "type": "object", + "description": "The integration service environment managed api deployment parameters.", + "properties": { + "contentLinkDefinition": { + "$ref": "#/definitions/ContentLink", + "description": "The integration service environment managed api content link for deployment." + } + } }, "IntegrationAccountSkuName": { "type": "string", + "description": "The integration account sku name.", "enum": [ "NotSpecified", "Free", + "Basic", "Standard" ], "x-ms-enum": { "name": "IntegrationAccountSkuName", - "modelAsString": false + "modelAsString": true } }, "IntegrationAccount": { @@ -4415,7 +9366,17 @@ }, "IntegrationAccountProperties": { "type": "object", - "properties": {} + "description": "The integration account properties.", + "properties": { + "integrationServiceEnvironment": { + "$ref": "#/definitions/ResourceReference", + "description": "The integration service environment." + }, + "state": { + "$ref": "#/definitions/WorkflowState", + "description": "The workflow state." + } + } }, "IntegrationAccountListResult": { "type": "object", @@ -4566,13 +9527,14 @@ }, "SchemaType": { "type": "string", + "description": "The schema type.", "enum": [ "NotSpecified", "Xml" ], "x-ms-enum": { "name": "SchemaType", - "modelAsString": false + "modelAsString": true } }, "IntegrationAccountMap": { @@ -4658,81 +9620,222 @@ }, "description": "The list of integration account maps." }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of results." - } - }, - "description": "The list of integration account maps." - }, - "IntegrationAccountMapFilter": { - "type": "object", - "required": [ - "mapType" - ], - "properties": { - "mapType": { - "$ref": "#/definitions/MapType", - "description": "The map type of integration account map." + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of integration account maps." + }, + "IntegrationAccountMapFilter": { + "type": "object", + "required": [ + "mapType" + ], + "properties": { + "mapType": { + "$ref": "#/definitions/MapType", + "description": "The map type of integration account map." + } + }, + "description": "The integration account map filter for odata query." + }, + "MapType": { + "type": "string", + "description": "The map type.", + "enum": [ + "NotSpecified", + "Xslt", + "Xslt20", + "Xslt30", + "Liquid" + ], + "x-ms-enum": { + "name": "MapType", + "modelAsString": true + } + }, + "IntegrationAccountSku": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "$ref": "#/definitions/IntegrationAccountSkuName", + "description": "The sku name." + } + }, + "description": "The integration account sku." + }, + "IntegrationAccountPartnerListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationAccountPartner" + }, + "description": "The list of integration account partners." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "The list of integration account partners." + }, + "IntegrationAccountPartnerFilter": { + "type": "object", + "required": [ + "partnerType" + ], + "properties": { + "partnerType": { + "$ref": "#/definitions/PartnerType", + "description": "The partner type of integration account partner." + } + }, + "description": "The integration account partner filter for odata query." + }, + "IntegrationAccountPartner": { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IntegrationAccountPartnerProperties", + "description": "The integration account partner properties." + } + }, + "description": "The integration account partner.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "IntegrationAccountPartnerProperties": { + "type": "object", + "required": [ + "partnerType", + "content" + ], + "properties": { + "partnerType": { + "$ref": "#/definitions/PartnerType", + "description": "The partner type." + }, + "createdTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The created time." + }, + "changedTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The changed time." + }, + "metadata": { + "type": "object", + "description": "The metadata.", + "properties": {} + }, + "content": { + "$ref": "#/definitions/PartnerContent", + "description": "The partner content." } }, - "description": "The integration account map filter for odata query." + "description": "The integration account partner properties." }, - "MapType": { + "PartnerType": { "type": "string", + "description": "The partner type.", "enum": [ "NotSpecified", - "Xslt" + "B2B" ], "x-ms-enum": { - "name": "MapType", - "modelAsString": false + "name": "PartnerType", + "modelAsString": true } }, - "IntegrationAccountSku": { + "PartnerContent": { + "type": "object", + "properties": { + "b2b": { + "$ref": "#/definitions/B2BPartnerContent", + "description": "The B2B partner content." + } + }, + "description": "The integration account partner content." + }, + "B2BPartnerContent": { + "type": "object", + "properties": { + "businessIdentities": { + "type": "array", + "items": { + "$ref": "#/definitions/BusinessIdentity" + }, + "description": "The list of partner business identities." + } + }, + "description": "The B2B partner content." + }, + "BusinessIdentity": { "type": "object", "required": [ - "name" + "qualifier", + "value" ], "properties": { - "name": { - "$ref": "#/definitions/IntegrationAccountSkuName", - "description": "The sku name." + "qualifier": { + "type": "string", + "description": "The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32" + }, + "value": { + "type": "string", + "description": "The user defined business identity value." } }, - "description": "The integration account sku." + "description": "The integration account partner's business identity." }, - "IntegrationAccountPartnerListResult": { + "IntegrationAccountAgreementListResult": { "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/IntegrationAccountPartner" + "$ref": "#/definitions/IntegrationAccountAgreement" }, - "description": "The list of integration account partners." + "description": "The list of integration account agreements." }, "nextLink": { "type": "string", "description": "The URL to get the next set of results." } }, - "description": "The list of integration account partners." + "description": "The list of integration account agreements." }, - "IntegrationAccountPartnerFilter": { + "IntegrationAccountAgreementFilter": { "type": "object", "required": [ - "partnerType" + "agreementType" ], "properties": { - "partnerType": { - "$ref": "#/definitions/PartnerType", - "description": "The partner type of integration account partner." + "agreementType": { + "$ref": "#/definitions/AgreementType", + "description": "The agreement type of integration account agreement." } }, - "description": "The integration account partner filter for odata query." + "description": "The integration account agreement filter for odata query." }, - "IntegrationAccountPartner": { + "IntegrationAccountAgreement": { "type": "object", "required": [ "properties" @@ -4740,28 +9843,28 @@ "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/IntegrationAccountPartnerProperties", - "description": "The integration account partner properties." + "$ref": "#/definitions/IntegrationAccountAgreementProperties", + "description": "The integration account agreement properties." } }, - "description": "The integration account partner.", + "description": "The integration account agreement.", "allOf": [ { "$ref": "#/definitions/Resource" } ] }, - "IntegrationAccountPartnerProperties": { + "IntegrationAccountAgreementProperties": { "type": "object", "required": [ - "partnerType", + "hostPartner", + "guestPartner", + "hostIdentity", + "guestIdentity", + "agreementType", "content" ], "properties": { - "partnerType": { - "$ref": "#/definitions/PartnerType", - "description": "The partner type." - }, "createdTime": { "type": "string", "format": "date-time", @@ -4779,201 +9882,420 @@ "description": "The metadata.", "properties": {} }, + "agreementType": { + "$ref": "#/definitions/AgreementType", + "description": "The agreement type." + }, + "hostPartner": { + "type": "string", + "description": "The integration account partner that is set as host partner for this agreement." + }, + "guestPartner": { + "type": "string", + "description": "The integration account partner that is set as guest partner for this agreement." + }, + "hostIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The business identity of the host partner." + }, + "guestIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The business identity of the guest partner." + }, "content": { - "$ref": "#/definitions/PartnerContent", - "description": "The partner content." + "$ref": "#/definitions/AgreementContent", + "description": "The agreement content." } }, - "description": "The integration account partner properties." + "description": "The integration account agreement properties." }, - "PartnerType": { + "AgreementType": { "type": "string", + "description": "The agreement type.", "enum": [ "NotSpecified", - "B2B" + "AS2", + "X12", + "Edifact" ], "x-ms-enum": { - "name": "PartnerType", + "name": "AgreementType", "modelAsString": false } }, - "PartnerContent": { + "AgreementContent": { "type": "object", "properties": { - "b2b": { - "$ref": "#/definitions/B2BPartnerContent", - "description": "The B2B partner content." + "aS2": { + "$ref": "#/definitions/AS2AgreementContent", + "description": "The AS2 agreement content." + }, + "x12": { + "$ref": "#/definitions/X12AgreementContent", + "description": "The X12 agreement content." + }, + "edifact": { + "$ref": "#/definitions/EdifactAgreementContent", + "description": "The EDIFACT agreement content." + } + }, + "description": "The integration account agreement content." + }, + "AS2AgreementContent": { + "type": "object", + "required": [ + "receiveAgreement", + "sendAgreement" + ], + "properties": { + "receiveAgreement": { + "$ref": "#/definitions/AS2OneWayAgreement", + "description": "The AS2 one-way receive agreement." + }, + "sendAgreement": { + "$ref": "#/definitions/AS2OneWayAgreement", + "description": "The AS2 one-way send agreement." + } + }, + "description": "The integration account AS2 agreement content." + }, + "AS2OneWayAgreement": { + "type": "object", + "required": [ + "senderBusinessIdentity", + "receiverBusinessIdentity", + "protocolSettings" + ], + "properties": { + "senderBusinessIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The sender business identity" + }, + "receiverBusinessIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The receiver business identity" + }, + "protocolSettings": { + "$ref": "#/definitions/AS2ProtocolSettings", + "description": "The AS2 protocol settings." + } + }, + "description": "The integration account AS2 one-way agreement." + }, + "AS2ProtocolSettings": { + "type": "object", + "required": [ + "messageConnectionSettings", + "acknowledgementConnectionSettings", + "mdnSettings", + "securitySettings", + "validationSettings", + "envelopeSettings", + "errorSettings" + ], + "properties": { + "messageConnectionSettings": { + "$ref": "#/definitions/AS2MessageConnectionSettings", + "description": "The message connection settings." + }, + "acknowledgementConnectionSettings": { + "$ref": "#/definitions/AS2AcknowledgementConnectionSettings", + "description": "The acknowledgement connection settings." + }, + "mdnSettings": { + "$ref": "#/definitions/AS2MdnSettings", + "description": "The MDN settings." + }, + "securitySettings": { + "$ref": "#/definitions/AS2SecuritySettings", + "description": "The security settings." + }, + "validationSettings": { + "$ref": "#/definitions/AS2ValidationSettings", + "description": "The validation settings." + }, + "envelopeSettings": { + "$ref": "#/definitions/AS2EnvelopeSettings", + "description": "The envelope settings." + }, + "errorSettings": { + "$ref": "#/definitions/AS2ErrorSettings", + "description": "The error settings." + } + }, + "description": "The AS2 agreement protocol settings." + }, + "AS2AcknowledgementConnectionSettings": { + "type": "object", + "required": [ + "ignoreCertificateNameMismatch", + "supportHttpStatusCodeContinue", + "keepHttpConnectionAlive", + "unfoldHttpHeaders" + ], + "properties": { + "ignoreCertificateNameMismatch": { + "type": "boolean", + "description": "Indicates whether to ignore mismatch in certificate name." + }, + "supportHttpStatusCodeContinue": { + "type": "boolean", + "description": "Indicates whether to support HTTP status code 'CONTINUE'." + }, + "keepHttpConnectionAlive": { + "type": "boolean", + "description": "Indicates whether to keep the connection alive." + }, + "unfoldHttpHeaders": { + "type": "boolean", + "description": "Indicates whether to unfold the HTTP headers." } }, - "description": "The integration account partner content." + "description": "The AS2 agreement acknowledgement connection settings." }, - "B2BPartnerContent": { + "AS2MessageConnectionSettings": { "type": "object", + "required": [ + "ignoreCertificateNameMismatch", + "supportHttpStatusCodeContinue", + "keepHttpConnectionAlive", + "unfoldHttpHeaders" + ], "properties": { - "businessIdentities": { - "type": "array", - "items": { - "$ref": "#/definitions/BusinessIdentity" - }, - "description": "The list of partner business identities." + "ignoreCertificateNameMismatch": { + "type": "boolean", + "description": "The value indicating whether to ignore mismatch in certificate name." + }, + "supportHttpStatusCodeContinue": { + "type": "boolean", + "description": "The value indicating whether to support HTTP status code 'CONTINUE'." + }, + "keepHttpConnectionAlive": { + "type": "boolean", + "description": "The value indicating whether to keep the connection alive." + }, + "unfoldHttpHeaders": { + "type": "boolean", + "description": "The value indicating whether to unfold the HTTP headers." } }, - "description": "The B2B partner content." + "description": "The AS2 agreement message connection settings." }, - "BusinessIdentity": { + "AS2MdnSettings": { "type": "object", "required": [ - "qualifier", - "value" + "needMDN", + "signMDN", + "sendMDNAsynchronously", + "signOutboundMDNIfOptional", + "sendInboundMDNToMessageBox", + "micHashingAlgorithm" ], "properties": { - "qualifier": { + "needMDN": { + "type": "boolean", + "description": "The value indicating whether to send or request a MDN." + }, + "signMDN": { + "type": "boolean", + "description": "The value indicating whether the MDN needs to be signed or not." + }, + "sendMDNAsynchronously": { + "type": "boolean", + "description": "The value indicating whether to send the asynchronous MDN." + }, + "receiptDeliveryUrl": { "type": "string", - "description": "The business identity qualifier e.g. as2identity, ZZ, ZZZ, 31, 32" + "description": "The receipt delivery URL." }, - "value": { + "dispositionNotificationTo": { "type": "string", - "description": "The user defined business identity value." - } - }, - "description": "The integration account partner's business identity." - }, - "IntegrationAccountAgreementListResult": { - "type": "object", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/IntegrationAccountAgreement" - }, - "description": "The list of integration account agreements." + "description": "The disposition notification to header value." }, - "nextLink": { + "signOutboundMDNIfOptional": { + "type": "boolean", + "description": "The value indicating whether to sign the outbound MDN if optional." + }, + "mdnText": { "type": "string", - "description": "The URL to get the next set of results." + "description": "The MDN text." + }, + "sendInboundMDNToMessageBox": { + "type": "boolean", + "description": "The value indicating whether to send inbound MDN to message box." + }, + "micHashingAlgorithm": { + "$ref": "#/definitions/HashingAlgorithm", + "description": "The signing or hashing algorithm." } }, - "description": "The list of integration account agreements." + "description": "The AS2 agreement mdn settings." }, - "IntegrationAccountAgreementFilter": { + "AS2SecuritySettings": { "type": "object", "required": [ - "agreementType" + "overrideGroupSigningCertificate", + "enableNRRForInboundEncodedMessages", + "enableNRRForInboundDecodedMessages", + "enableNRRForOutboundMDN", + "enableNRRForOutboundEncodedMessages", + "enableNRRForOutboundDecodedMessages", + "enableNRRForInboundMDN" ], "properties": { - "agreementType": { - "$ref": "#/definitions/AgreementType", - "description": "The agreement type of integration account agreement." + "overrideGroupSigningCertificate": { + "type": "boolean", + "description": "The value indicating whether to send or request a MDN." + }, + "signingCertificateName": { + "type": "string", + "description": "The name of the signing certificate." + }, + "encryptionCertificateName": { + "type": "string", + "description": "The name of the encryption certificate." + }, + "enableNRRForInboundEncodedMessages": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for inbound encoded messages." + }, + "enableNRRForInboundDecodedMessages": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for inbound decoded messages." + }, + "enableNRRForOutboundMDN": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for outbound MDN." + }, + "enableNRRForOutboundEncodedMessages": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for outbound encoded messages." + }, + "enableNRRForOutboundDecodedMessages": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for outbound decoded messages." + }, + "enableNRRForInboundMDN": { + "type": "boolean", + "description": "The value indicating whether to enable NRR for inbound MDN." + }, + "sha2AlgorithmFormat": { + "type": "string", + "description": "The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize." } }, - "description": "The integration account agreement filter for odata query." + "description": "The AS2 agreement security settings." }, - "IntegrationAccountAgreement": { + "AS2ValidationSettings": { "type": "object", "required": [ - "properties" + "overrideMessageProperties", + "encryptMessage", + "signMessage", + "compressMessage", + "checkDuplicateMessage", + "interchangeDuplicatesValidityDays", + "checkCertificateRevocationListOnSend", + "checkCertificateRevocationListOnReceive", + "encryptionAlgorithm" ], "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IntegrationAccountAgreementProperties", - "description": "The integration account agreement properties." + "overrideMessageProperties": { + "type": "boolean", + "description": "The value indicating whether to override incoming message properties with those in agreement." + }, + "encryptMessage": { + "type": "boolean", + "description": "The value indicating whether the message has to be encrypted." + }, + "signMessage": { + "type": "boolean", + "description": "The value indicating whether the message has to be signed." + }, + "compressMessage": { + "type": "boolean", + "description": "The value indicating whether the message has to be compressed." + }, + "checkDuplicateMessage": { + "type": "boolean", + "description": "The value indicating whether to check for duplicate message." + }, + "interchangeDuplicatesValidityDays": { + "type": "integer", + "format": "int32", + "description": "The number of days to look back for duplicate interchange." + }, + "checkCertificateRevocationListOnSend": { + "type": "boolean", + "description": "The value indicating whether to check for certificate revocation list on send." + }, + "checkCertificateRevocationListOnReceive": { + "type": "boolean", + "description": "The value indicating whether to check for certificate revocation list on receive." + }, + "encryptionAlgorithm": { + "$ref": "#/definitions/EncryptionAlgorithm", + "description": "The encryption algorithm." + }, + "signingAlgorithm": { + "$ref": "#/definitions/SigningAlgorithm", + "description": "The signing algorithm." } }, - "description": "The integration account agreement.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] + "description": "The AS2 agreement validation settings." }, - "IntegrationAccountAgreementProperties": { + "AS2EnvelopeSettings": { "type": "object", "required": [ - "hostPartner", - "guestPartner", - "hostIdentity", - "guestIdentity", - "agreementType", - "content" + "messageContentType", + "transmitFileNameInMimeHeader", + "fileNameTemplate", + "suspendMessageOnFileNameGenerationError", + "autogenerateFileName" ], "properties": { - "createdTime": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The created time." - }, - "changedTime": { + "messageContentType": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The changed time." - }, - "metadata": { - "type": "object", - "description": "The metadata.", - "properties": {} - }, - "agreementType": { - "$ref": "#/definitions/AgreementType", - "description": "The agreement type." + "description": "The message content type." }, - "hostPartner": { - "type": "string", - "description": "The integration account partner that is set as host partner for this agreement." + "transmitFileNameInMimeHeader": { + "type": "boolean", + "description": "The value indicating whether to transmit file name in mime header." }, - "guestPartner": { + "fileNameTemplate": { "type": "string", - "description": "The integration account partner that is set as guest partner for this agreement." - }, - "hostIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The business identity of the host partner." + "description": "The template for file name." }, - "guestIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The business identity of the guest partner." + "suspendMessageOnFileNameGenerationError": { + "type": "boolean", + "description": "The value indicating whether to suspend message on file name generation error." }, - "content": { - "$ref": "#/definitions/AgreementContent", - "description": "The agreement content." + "autogenerateFileName": { + "type": "boolean", + "description": "The value indicating whether to auto generate file name." } }, - "description": "The integration account agreement properties." - }, - "AgreementType": { - "type": "string", - "enum": [ - "NotSpecified", - "AS2", - "X12", - "Edifact" - ], - "x-ms-enum": { - "name": "AgreementType", - "modelAsString": false - } + "description": "The AS2 agreement envelope settings." }, - "AgreementContent": { + "AS2ErrorSettings": { "type": "object", + "required": [ + "suspendDuplicateMessage", + "resendIfMDNNotReceived" + ], "properties": { - "aS2": { - "$ref": "#/definitions/AS2AgreementContent", - "description": "The AS2 agreement content." - }, - "x12": { - "$ref": "#/definitions/X12AgreementContent", - "description": "The X12 agreement content." + "suspendDuplicateMessage": { + "type": "boolean", + "description": "The value indicating whether to suspend duplicate message." }, - "edifact": { - "$ref": "#/definitions/EdifactAgreementContent", - "description": "The EDIFACT agreement content." + "resendIfMDNNotReceived": { + "type": "boolean", + "description": "The value indicating whether to resend message If MDN is not received." } }, - "description": "The integration account agreement content." + "description": "The AS2 agreement error settings." }, - "AS2AgreementContent": { + "X12AgreementContent": { "type": "object", "required": [ "receiveAgreement", @@ -4981,17 +10303,17 @@ ], "properties": { "receiveAgreement": { - "$ref": "#/definitions/AS2OneWayAgreement", - "description": "The AS2 one-way receive agreement." + "$ref": "#/definitions/X12OneWayAgreement", + "description": "The X12 one-way receive agreement." }, "sendAgreement": { - "$ref": "#/definitions/AS2OneWayAgreement", - "description": "The AS2 one-way send agreement." + "$ref": "#/definitions/X12OneWayAgreement", + "description": "The X12 one-way send agreement." } }, - "description": "The integration account AS2 agreement content." + "description": "The X12 agreement content." }, - "AS2OneWayAgreement": { + "X12OneWayAgreement": { "type": "object", "required": [ "senderBusinessIdentity", @@ -5008,516 +10330,646 @@ "description": "The receiver business identity" }, "protocolSettings": { - "$ref": "#/definitions/AS2ProtocolSettings", - "description": "The AS2 protocol settings." + "$ref": "#/definitions/X12ProtocolSettings", + "description": "The X12 protocol settings." } }, - "description": "The integration account AS2 oneway agreement." + "description": "The X12 one-way agreement." }, - "AS2ProtocolSettings": { + "X12ProtocolSettings": { "type": "object", "required": [ - "messageConnectionSettings", - "acknowledgementConnectionSettings", - "mdnSettings", - "securitySettings", "validationSettings", + "framingSettings", "envelopeSettings", - "errorSettings" + "acknowledgementSettings", + "messageFilter", + "securitySettings", + "processingSettings", + "schemaReferences" ], "properties": { - "messageConnectionSettings": { - "$ref": "#/definitions/AS2MessageConnectionSettings", - "description": "The message connection settings." + "validationSettings": { + "$ref": "#/definitions/X12ValidationSettings", + "description": "The X12 validation settings." }, - "acknowledgementConnectionSettings": { - "$ref": "#/definitions/AS2AcknowledgementConnectionSettings", - "description": "The acknowledgement connection settings." + "framingSettings": { + "$ref": "#/definitions/X12FramingSettings", + "description": "The X12 framing settings." }, - "mdnSettings": { - "$ref": "#/definitions/AS2MdnSettings", - "description": "The MDN settings." + "envelopeSettings": { + "$ref": "#/definitions/X12EnvelopeSettings", + "description": "The X12 envelope settings." + }, + "acknowledgementSettings": { + "$ref": "#/definitions/X12AcknowledgementSettings", + "description": "The X12 acknowledgment settings." + }, + "messageFilter": { + "$ref": "#/definitions/X12MessageFilter", + "description": "The X12 message filter." }, "securitySettings": { - "$ref": "#/definitions/AS2SecuritySettings", - "description": "The security settings." + "$ref": "#/definitions/X12SecuritySettings", + "description": "The X12 security settings." }, - "validationSettings": { - "$ref": "#/definitions/AS2ValidationSettings", - "description": "The validation settings." + "processingSettings": { + "$ref": "#/definitions/X12ProcessingSettings", + "description": "The X12 processing settings." }, - "envelopeSettings": { - "$ref": "#/definitions/AS2EnvelopeSettings", - "description": "The envelope settings." + "envelopeOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/X12EnvelopeOverride" + }, + "description": "The X12 envelope override settings." }, - "errorSettings": { - "$ref": "#/definitions/AS2ErrorSettings", - "description": "The error settings." + "validationOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/X12ValidationOverride" + }, + "description": "The X12 validation override settings." + }, + "messageFilterList": { + "type": "array", + "items": { + "$ref": "#/definitions/X12MessageIdentifier" + }, + "description": "The X12 message filter list." + }, + "schemaReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/X12SchemaReference" + }, + "description": "The X12 schema references." + }, + "x12DelimiterOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/X12DelimiterOverrides" + }, + "description": "The X12 delimiter override settings." } }, - "description": "The AS2 agreement protocol settings." + "description": "The X12 agreement protocol settings." }, - "AS2AcknowledgementConnectionSettings": { + "X12ValidationSettings": { "type": "object", "required": [ - "ignoreCertificateNameMismatch", - "supportHttpStatusCodeContinue", - "keepHttpConnectionAlive", - "unfoldHttpHeaders" + "validateCharacterSet", + "checkDuplicateInterchangeControlNumber", + "interchangeControlNumberValidityDays", + "checkDuplicateGroupControlNumber", + "checkDuplicateTransactionSetControlNumber", + "validateEDITypes", + "validateXSDTypes", + "allowLeadingAndTrailingSpacesAndZeroes", + "trimLeadingAndTrailingSpacesAndZeroes", + "trailingSeparatorPolicy" ], "properties": { - "ignoreCertificateNameMismatch": { + "validateCharacterSet": { "type": "boolean", - "description": "The value indicating whether to ignore mismatch in certificate name." + "description": "The value indicating whether to validate character set in the message." }, - "supportHttpStatusCodeContinue": { + "checkDuplicateInterchangeControlNumber": { "type": "boolean", - "description": "The value indicating whether to support HTTP status code 'CONTINUE'." + "description": "The value indicating whether to check for duplicate interchange control number." }, - "keepHttpConnectionAlive": { + "interchangeControlNumberValidityDays": { + "type": "integer", + "format": "int32", + "description": "The validity period of interchange control number." + }, + "checkDuplicateGroupControlNumber": { "type": "boolean", - "description": "The value indicating whether to keep the connection alive." + "description": "The value indicating whether to check for duplicate group control number." }, - "unfoldHttpHeaders": { + "checkDuplicateTransactionSetControlNumber": { "type": "boolean", - "description": "The value indicating whether to unfold the HTTP headers." + "description": "The value indicating whether to check for duplicate transaction set control number." + }, + "validateEDITypes": { + "type": "boolean", + "description": "The value indicating whether to Whether to validate EDI types." + }, + "validateXSDTypes": { + "type": "boolean", + "description": "The value indicating whether to Whether to validate XSD types." + }, + "allowLeadingAndTrailingSpacesAndZeroes": { + "type": "boolean", + "description": "The value indicating whether to allow leading and trailing spaces and zeroes." + }, + "trimLeadingAndTrailingSpacesAndZeroes": { + "type": "boolean", + "description": "The value indicating whether to trim leading and trailing spaces and zeroes." + }, + "trailingSeparatorPolicy": { + "$ref": "#/definitions/TrailingSeparatorPolicy", + "description": "The trailing separator policy." } }, - "description": "The AS2 agreement acknowledegment connection settings." + "description": "The X12 agreement validation settings." }, - "AS2MessageConnectionSettings": { + "X12FramingSettings": { "type": "object", "required": [ - "ignoreCertificateNameMismatch", - "supportHttpStatusCodeContinue", - "keepHttpConnectionAlive", - "unfoldHttpHeaders" + "dataElementSeparator", + "componentSeparator", + "replaceSeparatorsInPayload", + "replaceCharacter", + "segmentTerminator", + "characterSet", + "segmentTerminatorSuffix" ], "properties": { - "ignoreCertificateNameMismatch": { - "type": "boolean", - "description": "The value indicating whether to ignore mismatch in certificate name." + "dataElementSeparator": { + "type": "integer", + "format": "int32", + "description": "The data element separator." }, - "supportHttpStatusCodeContinue": { - "type": "boolean", - "description": "The value indicating whether to support HTTP status code 'CONTINUE'." + "componentSeparator": { + "type": "integer", + "format": "int32", + "description": "The component separator." }, - "keepHttpConnectionAlive": { + "replaceSeparatorsInPayload": { "type": "boolean", - "description": "The value indicating whether to keep the connection alive." + "description": "The value indicating whether to replace separators in payload." }, - "unfoldHttpHeaders": { - "type": "boolean", - "description": "The value indicating whether to unfold the HTTP headers." + "replaceCharacter": { + "type": "integer", + "format": "int32", + "description": "The replacement character." + }, + "segmentTerminator": { + "type": "integer", + "format": "int32", + "description": "The segment terminator." + }, + "characterSet": { + "$ref": "#/definitions/X12CharacterSet", + "description": "The X12 character set." + }, + "segmentTerminatorSuffix": { + "$ref": "#/definitions/SegmentTerminatorSuffix", + "description": "The segment terminator suffix." } }, - "description": "The AS2 agreement message connection settings." + "description": "The X12 agreement framing settings." }, - "AS2MdnSettings": { + "X12EnvelopeSettings": { "type": "object", "required": [ - "needMdn", - "signMdn", - "sendMdnAsynchronously", - "signOutboundMdnIfOptional", - "sendInboundMdnToMessageBox", - "micHashingAlgorithm" + "controlStandardsId", + "useControlStandardsIdAsRepetitionCharacter", + "senderApplicationId", + "receiverApplicationId", + "controlVersionNumber", + "interchangeControlNumberLowerBound", + "interchangeControlNumberUpperBound", + "rolloverInterchangeControlNumber", + "enableDefaultGroupHeaders", + "groupControlNumberLowerBound", + "groupControlNumberUpperBound", + "rolloverGroupControlNumber", + "groupHeaderAgencyCode", + "groupHeaderVersion", + "transactionSetControlNumberLowerBound", + "transactionSetControlNumberUpperBound", + "rolloverTransactionSetControlNumber", + "overwriteExistingTransactionSetControlNumber", + "groupHeaderDateFormat", + "groupHeaderTimeFormat", + "usageIndicator" ], "properties": { - "needMdn": { - "type": "boolean", - "description": "The value indicating whether to send or request a MDN." + "controlStandardsId": { + "type": "integer", + "format": "int32", + "description": "The controls standards id." }, - "signMdn": { + "useControlStandardsIdAsRepetitionCharacter": { "type": "boolean", - "description": "The value indicating whether the MDN needs to be signed or not." + "description": "The value indicating whether to use control standards id as repetition character." }, - "sendMdnAsynchronously": { - "type": "boolean", - "description": "The value indicating whether to send the asynchronous MDN." + "senderApplicationId": { + "type": "string", + "description": "The sender application id." }, - "receiptDeliveryUrl": { + "receiverApplicationId": { "type": "string", - "description": "The receipt delivery URL." + "description": "The receiver application id." }, - "dispositionNotificationTo": { + "controlVersionNumber": { "type": "string", - "description": "The disposition notification to header value." + "description": "The control version number." + }, + "interchangeControlNumberLowerBound": { + "type": "integer", + "format": "int32", + "description": "The interchange control number lower bound." }, - "signOutboundMdnIfOptional": { + "interchangeControlNumberUpperBound": { + "type": "integer", + "format": "int32", + "description": "The interchange control number upper bound." + }, + "rolloverInterchangeControlNumber": { "type": "boolean", - "description": "The value indicating whether to sign the outbound MDN if optional." + "description": "The value indicating whether to rollover interchange control number." }, - "mdnText": { + "enableDefaultGroupHeaders": { + "type": "boolean", + "description": "The value indicating whether to enable default group headers." + }, + "functionalGroupId": { "type": "string", - "description": "The MDN text." + "description": "The functional group id." }, - "sendInboundMdnToMessageBox": { - "type": "boolean", - "description": "The value indicating whether to send inbound MDN to message box." + "groupControlNumberLowerBound": { + "type": "integer", + "format": "int32", + "description": "The group control number lower bound." }, - "micHashingAlgorithm": { - "$ref": "#/definitions/HashingAlgorithm", - "description": "The signing or hashing algorithm." - } - }, - "description": "The AS2 agreement mdn settings." - }, - "AS2SecuritySettings": { - "type": "object", - "required": [ - "overrideGroupSigningCertificate", - "enableNrrForInboundEncodedMessages", - "enableNrrForInboundDecodedMessages", - "enableNrrForOutboundMdn", - "enableNrrForOutboundEncodedMessages", - "enableNrrForOutboundDecodedMessages", - "enableNrrForInboundMdn" - ], - "properties": { - "overrideGroupSigningCertificate": { + "groupControlNumberUpperBound": { + "type": "integer", + "format": "int32", + "description": "The group control number upper bound." + }, + "rolloverGroupControlNumber": { "type": "boolean", - "description": "The value indicating whether to send or request a MDN." + "description": "The value indicating whether to rollover group control number." }, - "signingCertificateName": { + "groupHeaderAgencyCode": { "type": "string", - "description": "The name of the signing certificate." + "description": "The group header agency code." }, - "encryptionCertificateName": { + "groupHeaderVersion": { "type": "string", - "description": "The name of the encryption certificate." + "description": "The group header version." }, - "enableNrrForInboundEncodedMessages": { - "type": "boolean", - "description": "The value indicating whether to enable NRR for inbound encoded messages." + "transactionSetControlNumberLowerBound": { + "type": "integer", + "format": "int32", + "description": "The transaction set control number lower bound." }, - "enableNrrForInboundDecodedMessages": { - "type": "boolean", - "description": "The value indicating whether to enable NRR for inbound decoded messages." + "transactionSetControlNumberUpperBound": { + "type": "integer", + "format": "int32", + "description": "The transaction set control number upper bound." }, - "enableNrrForOutboundMdn": { + "rolloverTransactionSetControlNumber": { "type": "boolean", - "description": "The value indicating whether to enable NRR for outbound MDN." + "description": "The value indicating whether to rollover transaction set control number." }, - "enableNrrForOutboundEncodedMessages": { - "type": "boolean", - "description": "The value indicating whether to enable NRR for outbound encoded messages." + "transactionSetControlNumberPrefix": { + "type": "string", + "description": "The transaction set control number prefix." }, - "enableNrrForOutboundDecodedMessages": { - "type": "boolean", - "description": "The value indicating whether to enable NRR for outbound decoded messages." + "transactionSetControlNumberSuffix": { + "type": "string", + "description": "The transaction set control number suffix." }, - "enableNrrForInboundMdn": { + "overwriteExistingTransactionSetControlNumber": { "type": "boolean", - "description": "The value indicating whether to enable NRR for inbound MDN." + "description": "The value indicating whether to overwrite existing transaction set control number." }, - "sha2AlgorithmFormat": { - "type": "string", - "description": "The Sha2 algorithm format. Valid values are Sha2, ShaHashSize, ShaHyphenHashSize, Sha2UnderscoreHashSize." + "groupHeaderDateFormat": { + "$ref": "#/definitions/X12DateFormat", + "description": "The group header date format." + }, + "groupHeaderTimeFormat": { + "$ref": "#/definitions/X12TimeFormat", + "description": "The group header time format." + }, + "usageIndicator": { + "$ref": "#/definitions/UsageIndicator", + "description": "The usage indicator." } }, - "description": "The AS2 agreement security settings." + "description": "The X12 agreement envelope settings." }, - "AS2ValidationSettings": { + "X12AcknowledgementSettings": { "type": "object", "required": [ - "overrideMessageProperties", - "encryptMessage", - "signMessage", - "compressMessage", - "checkDuplicateMessage", - "interchangeDuplicatesValidityDays", - "checkCertificateRevocationListOnSend", - "checkCertificateRevocationListOnReceive", - "encryptionAlgorithm" + "needTechnicalAcknowledgement", + "batchTechnicalAcknowledgements", + "needFunctionalAcknowledgement", + "batchFunctionalAcknowledgements", + "needImplementationAcknowledgement", + "batchImplementationAcknowledgements", + "needLoopForValidMessages", + "sendSynchronousAcknowledgement", + "acknowledgementControlNumberLowerBound", + "acknowledgementControlNumberUpperBound", + "rolloverAcknowledgementControlNumber" ], "properties": { - "overrideMessageProperties": { + "needTechnicalAcknowledgement": { "type": "boolean", - "description": "The value indicating whether to override incoming message properties with those in agreement." + "description": "The value indicating whether technical acknowledgement is needed." }, - "encryptMessage": { + "batchTechnicalAcknowledgements": { "type": "boolean", - "description": "The value indicating whether the message has to be encrypted." + "description": "The value indicating whether to batch the technical acknowledgements." }, - "signMessage": { + "needFunctionalAcknowledgement": { "type": "boolean", - "description": "The value indicating whether the message has to be signed." + "description": "The value indicating whether functional acknowledgement is needed." }, - "compressMessage": { + "functionalAcknowledgementVersion": { + "type": "string", + "description": "The functional acknowledgement version." + }, + "batchFunctionalAcknowledgements": { "type": "boolean", - "description": "The value indicating whether the message has to be compressed." + "description": "The value indicating whether to batch functional acknowledgements." }, - "checkDuplicateMessage": { + "needImplementationAcknowledgement": { "type": "boolean", - "description": "The value indicating whether to check for duplicate message." + "description": "The value indicating whether implementation acknowledgement is needed." }, - "interchangeDuplicatesValidityDays": { - "type": "integer", - "format": "int32", - "description": "The number of days to look back for duplicate interchange." + "implementationAcknowledgementVersion": { + "type": "string", + "description": "The implementation acknowledgement version." }, - "checkCertificateRevocationListOnSend": { + "batchImplementationAcknowledgements": { "type": "boolean", - "description": "The value indicating whether to check for certificate revocation list on send." + "description": "The value indicating whether to batch implementation acknowledgements." }, - "checkCertificateRevocationListOnReceive": { + "needLoopForValidMessages": { "type": "boolean", - "description": "The value indicating whether to check for certificate revocation list on receive." + "description": "The value indicating whether a loop is needed for valid messages." }, - "encryptionAlgorithm": { - "$ref": "#/definitions/EncryptionAlgorithm", - "description": "The encryption algorithm." + "sendSynchronousAcknowledgement": { + "type": "boolean", + "description": "The value indicating whether to send synchronous acknowledgement." }, - "signingAlgorithm": { - "$ref": "#/definitions/SigningAlgorithm", - "description": "The signing algorithm." - } - }, - "description": "The AS2 agreement validation settings." - }, - "AS2EnvelopeSettings": { - "type": "object", - "required": [ - "messageContentType", - "transmitFileNameInMimeHeader", - "fileNameTemplate", - "suspendMessageOnFileNameGenerationError", - "autogenerateFileName" - ], - "properties": { - "messageContentType": { + "acknowledgementControlNumberPrefix": { "type": "string", - "description": "The message content type." - }, - "transmitFileNameInMimeHeader": { - "type": "boolean", - "description": "The value indicating whether to transmit file name in mime header." + "description": "The acknowledgement control number prefix." }, - "fileNameTemplate": { + "acknowledgementControlNumberSuffix": { "type": "string", - "description": "The template for file name." + "description": "The acknowledgement control number suffix." }, - "suspendMessageOnFileNameGenerationError": { - "type": "boolean", - "description": "The value indicating whether to suspend message on file name generation error." + "acknowledgementControlNumberLowerBound": { + "type": "integer", + "format": "int32", + "description": "The acknowledgement control number lower bound." }, - "autogenerateFileName": { + "acknowledgementControlNumberUpperBound": { + "type": "integer", + "format": "int32", + "description": "The acknowledgement control number upper bound." + }, + "rolloverAcknowledgementControlNumber": { "type": "boolean", - "description": "The value indicating whether to auto generate file name." + "description": "The value indicating whether to rollover acknowledgement control number." } }, - "description": "The AS2 agreement envelope settings." + "description": "The X12 agreement acknowledgement settings." }, - "AS2ErrorSettings": { + "X12MessageFilter": { "type": "object", "required": [ - "suspendDuplicateMessage", - "resendIfMdnNotReceived" + "messageFilterType" ], "properties": { - "suspendDuplicateMessage": { - "type": "boolean", - "description": "The value indicating whether to suspend duplicate message." - }, - "resendIfMdnNotReceived": { - "type": "boolean", - "description": "The value indicating whether to resend message If MDN is not received." + "messageFilterType": { + "$ref": "#/definitions/MessageFilterType", + "description": "The message filter type." } }, - "description": "The AS2 agreement error settings." + "description": "The X12 message filter for odata query." }, - "X12AgreementContent": { + "X12SecuritySettings": { "type": "object", "required": [ - "receiveAgreement", - "sendAgreement" + "authorizationQualifier", + "securityQualifier" ], "properties": { - "receiveAgreement": { - "$ref": "#/definitions/X12OneWayAgreement", - "description": "The X12 one-way receive agreement." + "authorizationQualifier": { + "type": "string", + "description": "The authorization qualifier." }, - "sendAgreement": { - "$ref": "#/definitions/X12OneWayAgreement", - "description": "The X12 one-way send agreement." + "authorizationValue": { + "type": "string", + "description": "The authorization value." + }, + "securityQualifier": { + "type": "string", + "description": "The security qualifier." + }, + "passwordValue": { + "type": "string", + "description": "The password value." } }, - "description": "The X12 agreement content." + "description": "The X12 agreement security settings." }, - "X12OneWayAgreement": { + "X12ProcessingSettings": { "type": "object", "required": [ - "senderBusinessIdentity", - "receiverBusinessIdentity", - "protocolSettings" + "maskSecurityInfo", + "convertImpliedDecimal", + "preserveInterchange", + "suspendInterchangeOnError", + "createEmptyXmlTagsForTrailingSeparators", + "useDotAsDecimalSeparator" ], "properties": { - "senderBusinessIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The sender business identity" + "maskSecurityInfo": { + "type": "boolean", + "description": "The value indicating whether to mask security information." }, - "receiverBusinessIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The receiver business identity" + "convertImpliedDecimal": { + "type": "boolean", + "description": "The value indicating whether to convert numerical type to implied decimal." }, - "protocolSettings": { - "$ref": "#/definitions/X12ProtocolSettings", - "description": "The X12 protocol settings." + "preserveInterchange": { + "type": "boolean", + "description": "The value indicating whether to preserve interchange." + }, + "suspendInterchangeOnError": { + "type": "boolean", + "description": "The value indicating whether to suspend interchange on error." + }, + "createEmptyXmlTagsForTrailingSeparators": { + "type": "boolean", + "description": "The value indicating whether to create empty xml tags for trailing separators." + }, + "useDotAsDecimalSeparator": { + "type": "boolean", + "description": "The value indicating whether to use dot as decimal separator." } }, - "description": "The X12 oneway agreement." + "description": "The X12 processing settings." }, - "X12ProtocolSettings": { + "X12EnvelopeOverride": { "type": "object", "required": [ - "validationSettings", - "framingSettings", - "envelopeSettings", - "acknowledgementSettings", - "messageFilter", - "securitySettings", - "processingSettings", - "schemaReferences" + "targetNamespace", + "protocolVersion", + "messageId", + "responsibleAgencyCode", + "headerVersion", + "senderApplicationId", + "receiverApplicationId", + "dateFormat", + "timeFormat" ], "properties": { - "validationSettings": { - "$ref": "#/definitions/X12ValidationSettings", - "description": "The X12 validation settings." - }, - "framingSettings": { - "$ref": "#/definitions/X12FramingSettings", - "description": "The X12 framing settings." - }, - "envelopeSettings": { - "$ref": "#/definitions/X12EnvelopeSettings", - "description": "The X12 envelope settings." + "targetNamespace": { + "type": "string", + "description": "The target namespace on which this envelope settings has to be applied." }, - "acknowledgementSettings": { - "$ref": "#/definitions/X12AcknowledgementSettings", - "description": "The X12 acknowledgment settings." + "protocolVersion": { + "type": "string", + "description": "The protocol version on which this envelope settings has to be applied." }, - "messageFilter": { - "$ref": "#/definitions/X12MessageFilter", - "description": "The X12 message filter." + "messageId": { + "type": "string", + "description": "The message id on which this envelope settings has to be applied." }, - "securitySettings": { - "$ref": "#/definitions/X12SecuritySettings", - "description": "The X12 security settings." + "responsibleAgencyCode": { + "type": "string", + "description": "The responsible agency code." }, - "processingSettings": { - "$ref": "#/definitions/X12ProcessingSettings", - "description": "The X12 processing settings." + "headerVersion": { + "type": "string", + "description": "The header version." }, - "envelopeOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/X12EnvelopeOverride" - }, - "description": "The X12 envelope override settings." + "senderApplicationId": { + "type": "string", + "description": "The sender application id." }, - "validationOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/X12ValidationOverride" - }, - "description": "The X12 validation override settings." + "receiverApplicationId": { + "type": "string", + "description": "The receiver application id." }, - "messageFilterList": { - "type": "array", - "items": { - "$ref": "#/definitions/X12MessageIdentifier" - }, - "description": "The X12 message filter list." + "functionalIdentifierCode": { + "type": "string", + "description": "The functional identifier code." }, - "schemaReferences": { - "type": "array", - "items": { - "$ref": "#/definitions/X12SchemaReference" - }, - "description": "The X12 schema references." + "dateFormat": { + "$ref": "#/definitions/X12DateFormat", + "description": "The date format." }, - "x12DelimiterOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/X12DelimiterOverrides" - }, - "description": "The X12 delimiter override settings." + "timeFormat": { + "$ref": "#/definitions/X12TimeFormat", + "description": "The time format." } }, - "description": "The X12 agreement protocol settings." + "description": "The X12 envelope override settings." }, - "X12ValidationSettings": { + "X12ValidationOverride": { "type": "object", "required": [ - "validateCharacterSet", - "checkDuplicateInterchangeControlNumber", - "interchangeControlNumberValidityDays", - "checkDuplicateGroupControlNumber", - "checkDuplicateTransactionSetControlNumber", - "validateEdiTypes", - "validateXsdTypes", + "messageId", + "validateEDITypes", + "validateXSDTypes", "allowLeadingAndTrailingSpacesAndZeroes", + "validateCharacterSet", "trimLeadingAndTrailingSpacesAndZeroes", "trailingSeparatorPolicy" ], "properties": { - "validateCharacterSet": { - "type": "boolean", - "description": "The value indicating whether to validate character set in the message." + "messageId": { + "type": "string", + "description": "The message id on which the validation settings has to be applied." }, - "checkDuplicateInterchangeControlNumber": { + "validateEDITypes": { "type": "boolean", - "description": "The value indicating whether to check for duplicate interchange control number." - }, - "interchangeControlNumberValidityDays": { - "type": "integer", - "format": "int32", - "description": "The validity period of interchange control number." + "description": "The value indicating whether to validate EDI types." }, - "checkDuplicateGroupControlNumber": { + "validateXSDTypes": { "type": "boolean", - "description": "The value indicating whether to check for duplicate group control number." + "description": "The value indicating whether to validate XSD types." }, - "checkDuplicateTransactionSetControlNumber": { + "allowLeadingAndTrailingSpacesAndZeroes": { "type": "boolean", - "description": "The value indicating whether to check for duplicate transaction set control number." + "description": "The value indicating whether to allow leading and trailing spaces and zeroes." }, - "validateEdiTypes": { + "validateCharacterSet": { "type": "boolean", - "description": "The value indicating whether to Whether to validate EDI types." + "description": "The value indicating whether to validate character Set." }, - "validateXsdTypes": { + "trimLeadingAndTrailingSpacesAndZeroes": { "type": "boolean", - "description": "The value indicating whether to Whether to validate XSD types." + "description": "The value indicating whether to trim leading and trailing spaces and zeroes." + }, + "trailingSeparatorPolicy": { + "$ref": "#/definitions/TrailingSeparatorPolicy", + "description": "The trailing separator policy." + } + }, + "description": "The X12 validation override settings." + }, + "X12MessageIdentifier": { + "type": "object", + "required": [ + "messageId" + ], + "properties": { + "messageId": { + "type": "string", + "description": "The message id." + } + }, + "description": "The X12 message identifier." + }, + "X12SchemaReference": { + "type": "object", + "required": [ + "messageId", + "schemaVersion", + "schemaName" + ], + "properties": { + "messageId": { + "type": "string", + "description": "The message id." }, - "allowLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to allow leading and trailing spaces and zeroes." + "senderApplicationId": { + "type": "string", + "description": "The sender application id." }, - "trimLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to trim leading and trailing spaces and zeroes." + "schemaVersion": { + "type": "string", + "description": "The schema version." }, - "trailingSeparatorPolicy": { - "$ref": "#/definitions/TrailingSeparatorPolicy", - "description": "The trailing separator policy." + "schemaName": { + "type": "string", + "description": "The schema name." } }, - "description": "The X12 agreement validation settings." + "description": "The X12 schema reference." }, - "X12FramingSettings": { + "X12DelimiterOverrides": { "type": "object", "required": [ "dataElementSeparator", "componentSeparator", - "replaceSeparatorsInPayload", - "replaceCharacter", "segmentTerminator", - "characterSet", - "segmentTerminatorSuffix" + "segmentTerminatorSuffix", + "replaceCharacter", + "replaceSeparatorsInPayload" ], "properties": { + "protocolVersion": { + "type": "string", + "description": "The protocol version." + }, + "messageId": { + "type": "string", + "description": "The message id." + }, "dataElementSeparator": { "type": "integer", "format": "int32", @@ -5528,853 +10980,906 @@ "format": "int32", "description": "The component separator." }, - "replaceSeparatorsInPayload": { - "type": "boolean", - "description": "The value indicating whether to replace separators in payload." - }, - "replaceCharacter": { - "type": "integer", - "format": "int32", - "description": "The replacement character." - }, "segmentTerminator": { "type": "integer", "format": "int32", "description": "The segment terminator." }, - "characterSet": { - "$ref": "#/definitions/X12CharacterSet", - "description": "The X12 character set." - }, "segmentTerminatorSuffix": { "$ref": "#/definitions/SegmentTerminatorSuffix", "description": "The segment terminator suffix." - } - }, - "description": "The X12 agreement framing settings." - }, - "X12EnvelopeSettings": { - "type": "object", - "required": [ - "controlStandardsId", - "useControlStandardsIdAsRepetitionCharacter", - "senderApplicationId", - "receiverApplicationId", - "controlVersionNumber", - "interchangeControlNumberLowerBound", - "interchangeControlNumberUpperBound", - "rolloverInterchangeControlNumber", - "enableDefaultGroupHeaders", - "groupControlNumberLowerBound", - "groupControlNumberUpperBound", - "rolloverGroupControlNumber", - "groupHeaderAgencyCode", - "groupHeaderVersion", - "transactionSetControlNumberLowerBound", - "transactionSetControlNumberUpperBound", - "rolloverTransactionSetControlNumber", - "overwriteExistingTransactionSetControlNumber", - "groupHeaderDateFormat", - "groupHeaderTimeFormat", - "usageIndicator" - ], - "properties": { - "controlStandardsId": { - "type": "integer", - "format": "int32", - "description": "The controls standards id." - }, - "useControlStandardsIdAsRepetitionCharacter": { - "type": "boolean", - "description": "The value indicating whether to use control standards id as repetition character." - }, - "senderApplicationId": { - "type": "string", - "description": "The sender application id." - }, - "receiverApplicationId": { - "type": "string", - "description": "The receiver application id." - }, - "controlVersionNumber": { - "type": "string", - "description": "The control version number." - }, - "interchangeControlNumberLowerBound": { - "type": "integer", - "format": "int32", - "description": "The interchange control number lower bound." }, - "interchangeControlNumberUpperBound": { + "replaceCharacter": { "type": "integer", "format": "int32", - "description": "The interchange control number upper bound." - }, - "rolloverInterchangeControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover interchange control number." + "description": "The replacement character." }, - "enableDefaultGroupHeaders": { + "replaceSeparatorsInPayload": { "type": "boolean", - "description": "The value indicating whether to enable default group headers." + "description": "The value indicating whether to replace separators in payload." }, - "functionalGroupId": { + "targetNamespace": { "type": "string", - "description": "The functional group id." - }, - "groupControlNumberLowerBound": { - "type": "integer", - "format": "int32", - "description": "The group control number lower bound." + "description": "The target namespace on which this delimiter settings has to be applied." + } + }, + "description": "The X12 delimiter override settings." + }, + "X12CharacterSet": { + "type": "string", + "description": "The X12 character set.", + "enum": [ + "NotSpecified", + "Basic", + "Extended", + "UTF8" + ], + "x-ms-enum": { + "name": "X12CharacterSet", + "modelAsString": true + } + }, + "SegmentTerminatorSuffix": { + "type": "string", + "description": "The segment terminator suffix.", + "enum": [ + "NotSpecified", + "None", + "CR", + "LF", + "CRLF" + ], + "x-ms-enum": { + "name": "SegmentTerminatorSuffix", + "modelAsString": false + } + }, + "X12DateFormat": { + "type": "string", + "description": "The x12 date format.", + "enum": [ + "NotSpecified", + "CCYYMMDD", + "YYMMDD" + ], + "x-ms-enum": { + "name": "X12DateFormat", + "modelAsString": true + } + }, + "X12TimeFormat": { + "type": "string", + "description": "The x12 time format.", + "enum": [ + "NotSpecified", + "HHMM", + "HHMMSS", + "HHMMSSdd", + "HHMMSSd" + ], + "x-ms-enum": { + "name": "X12TimeFormat", + "modelAsString": true + } + }, + "UsageIndicator": { + "type": "string", + "description": "The usage indicator.", + "enum": [ + "NotSpecified", + "Test", + "Information", + "Production" + ], + "x-ms-enum": { + "name": "UsageIndicator", + "modelAsString": true + } + }, + "MessageFilterType": { + "type": "string", + "description": "The message filter type.", + "enum": [ + "NotSpecified", + "Include", + "Exclude" + ], + "x-ms-enum": { + "name": "MessageFilterType", + "modelAsString": true + } + }, + "HashingAlgorithm": { + "type": "string", + "description": "The signing or hashing algorithm.", + "enum": [ + "NotSpecified", + "None", + "MD5", + "SHA1", + "SHA2256", + "SHA2384", + "SHA2512" + ], + "x-ms-enum": { + "name": "HashingAlgorithm", + "modelAsString": true + } + }, + "EncryptionAlgorithm": { + "type": "string", + "description": "The encryption algorithm.", + "enum": [ + "NotSpecified", + "None", + "DES3", + "RC2", + "AES128", + "AES192", + "AES256" + ], + "x-ms-enum": { + "name": "EncryptionAlgorithm", + "modelAsString": true + } + }, + "SigningAlgorithm": { + "type": "string", + "description": "The signing or hashing algorithm.", + "enum": [ + "NotSpecified", + "Default", + "SHA1", + "SHA2256", + "SHA2384", + "SHA2512" + ], + "x-ms-enum": { + "name": "SigningAlgorithm", + "modelAsString": true + } + }, + "TrailingSeparatorPolicy": { + "type": "string", + "description": "The trailing separator policy.", + "enum": [ + "NotSpecified", + "NotAllowed", + "Optional", + "Mandatory" + ], + "x-ms-enum": { + "name": "TrailingSeparatorPolicy", + "modelAsString": true + } + }, + "EdifactAgreementContent": { + "type": "object", + "required": [ + "receiveAgreement", + "sendAgreement" + ], + "properties": { + "receiveAgreement": { + "$ref": "#/definitions/EdifactOneWayAgreement", + "description": "The EDIFACT one-way receive agreement." }, - "groupControlNumberUpperBound": { - "type": "integer", - "format": "int32", - "description": "The group control number upper bound." + "sendAgreement": { + "$ref": "#/definitions/EdifactOneWayAgreement", + "description": "The EDIFACT one-way send agreement." + } + }, + "description": "The Edifact agreement content." + }, + "EdifactOneWayAgreement": { + "type": "object", + "required": [ + "senderBusinessIdentity", + "receiverBusinessIdentity", + "protocolSettings" + ], + "properties": { + "senderBusinessIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The sender business identity" }, - "rolloverGroupControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover group control number." + "receiverBusinessIdentity": { + "$ref": "#/definitions/BusinessIdentity", + "description": "The receiver business identity" }, - "groupHeaderAgencyCode": { - "type": "string", - "description": "The group header agency code." + "protocolSettings": { + "$ref": "#/definitions/EdifactProtocolSettings", + "description": "The EDIFACT protocol settings." + } + }, + "description": "The Edifact one way agreement." + }, + "EdifactProtocolSettings": { + "type": "object", + "required": [ + "validationSettings", + "framingSettings", + "envelopeSettings", + "acknowledgementSettings", + "messageFilter", + "processingSettings", + "schemaReferences" + ], + "properties": { + "validationSettings": { + "$ref": "#/definitions/EdifactValidationSettings", + "description": "The EDIFACT validation settings." }, - "groupHeaderVersion": { - "type": "string", - "description": "The group header version." + "framingSettings": { + "$ref": "#/definitions/EdifactFramingSettings", + "description": "The EDIFACT framing settings." }, - "transactionSetControlNumberLowerBound": { - "type": "integer", - "format": "int32", - "description": "The transaction set control number lower bound." + "envelopeSettings": { + "$ref": "#/definitions/EdifactEnvelopeSettings", + "description": "The EDIFACT envelope settings." }, - "transactionSetControlNumberUpperBound": { - "type": "integer", - "format": "int32", - "description": "The transaction set control number upper bound." + "acknowledgementSettings": { + "$ref": "#/definitions/EdifactAcknowledgementSettings", + "description": "The EDIFACT acknowledgement settings." }, - "rolloverTransactionSetControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover transaction set control number." + "messageFilter": { + "$ref": "#/definitions/EdifactMessageFilter", + "description": "The EDIFACT message filter." }, - "transactionSetControlNumberPrefix": { - "type": "string", - "description": "The transaction set control number prefix." + "processingSettings": { + "$ref": "#/definitions/EdifactProcessingSettings", + "description": "The EDIFACT processing Settings." }, - "transactionSetControlNumberSuffix": { - "type": "string", - "description": "The transaction set control number suffix." + "envelopeOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/EdifactEnvelopeOverride" + }, + "description": "The EDIFACT envelope override settings." }, - "overwriteExistingTransactionSetControlNumber": { - "type": "boolean", - "description": "The value indicating whether to overwrite existing transaction set control number." + "messageFilterList": { + "type": "array", + "items": { + "$ref": "#/definitions/EdifactMessageIdentifier" + }, + "description": "The EDIFACT message filter list." }, - "groupHeaderDateFormat": { - "$ref": "#/definitions/X12DateFormat", - "description": "The group header date format." + "schemaReferences": { + "type": "array", + "items": { + "$ref": "#/definitions/EdifactSchemaReference" + }, + "description": "The EDIFACT schema references." }, - "groupHeaderTimeFormat": { - "$ref": "#/definitions/X12TimeFormat", - "description": "The group header time format." + "validationOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/EdifactValidationOverride" + }, + "description": "The EDIFACT validation override settings." }, - "usageIndicator": { - "$ref": "#/definitions/UsageIndicator", - "description": "The usage indicator." + "edifactDelimiterOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/EdifactDelimiterOverride" + }, + "description": "The EDIFACT delimiter override settings." } }, - "description": "The X12 agreement envelope settings." + "description": "The Edifact agreement protocol settings." }, - "X12AcknowledgementSettings": { + "EdifactValidationSettings": { "type": "object", "required": [ - "needTechnicalAcknowledgement", - "batchTechnicalAcknowledgements", - "needFunctionalAcknowledgement", - "batchFunctionalAcknowledgements", - "needImplementationAcknowledgement", - "batchImplementationAcknowledgements", - "needLoopForValidMessages", - "sendSynchronousAcknowledgement", - "acknowledgementControlNumberLowerBound", - "acknowledgementControlNumberUpperBound", - "rolloverAcknowledgementControlNumber" + "validateCharacterSet", + "checkDuplicateInterchangeControlNumber", + "interchangeControlNumberValidityDays", + "checkDuplicateGroupControlNumber", + "checkDuplicateTransactionSetControlNumber", + "validateEDITypes", + "validateXSDTypes", + "allowLeadingAndTrailingSpacesAndZeroes", + "trimLeadingAndTrailingSpacesAndZeroes", + "trailingSeparatorPolicy" ], "properties": { - "needTechnicalAcknowledgement": { - "type": "boolean", - "description": "The value indicating whether technical acknowledgement is needed." - }, - "batchTechnicalAcknowledgements": { + "validateCharacterSet": { "type": "boolean", - "description": "The value indicating whether to batch the technical acknowledgements." + "description": "The value indicating whether to validate character set in the message." }, - "needFunctionalAcknowledgement": { + "checkDuplicateInterchangeControlNumber": { "type": "boolean", - "description": "The value indicating whether functional acknowledgement is needed." + "description": "The value indicating whether to check for duplicate interchange control number." }, - "functionalAcknowledgementVersion": { - "type": "string", - "description": "The functional acknowledgement version." + "interchangeControlNumberValidityDays": { + "type": "integer", + "format": "int32", + "description": "The validity period of interchange control number." }, - "batchFunctionalAcknowledgements": { + "checkDuplicateGroupControlNumber": { "type": "boolean", - "description": "The value indicating whether to batch functional acknowledgements." + "description": "The value indicating whether to check for duplicate group control number." }, - "needImplementationAcknowledgement": { + "checkDuplicateTransactionSetControlNumber": { "type": "boolean", - "description": "The value indicating whether implementation acknowledgement is needed." - }, - "implementationAcknowledgementVersion": { - "type": "string", - "description": "The implementation acknowledgement version." + "description": "The value indicating whether to check for duplicate transaction set control number." }, - "batchImplementationAcknowledgements": { + "validateEDITypes": { "type": "boolean", - "description": "The value indicating whether to batch implementation acknowledgements." + "description": "The value indicating whether to Whether to validate EDI types." }, - "needLoopForValidMessages": { + "validateXSDTypes": { "type": "boolean", - "description": "The value indicating whether a loop is needed for valid messages." + "description": "The value indicating whether to Whether to validate XSD types." }, - "sendSynchronousAcknowledgement": { + "allowLeadingAndTrailingSpacesAndZeroes": { "type": "boolean", - "description": "The value indicating whether to send synchronous acknowledgement." - }, - "acknowledgementControlNumberPrefix": { - "type": "string", - "description": "The acknowledgement control number prefix." - }, - "acknowledgementControlNumberSuffix": { - "type": "string", - "description": "The acknowledgement control number suffix." - }, - "acknowledgementControlNumberLowerBound": { - "type": "integer", - "format": "int32", - "description": "The acknowledgement control number lower bound." - }, - "acknowledgementControlNumberUpperBound": { - "type": "integer", - "format": "int32", - "description": "The acknowledgement control number upper bound." + "description": "The value indicating whether to allow leading and trailing spaces and zeroes." }, - "rolloverAcknowledgementControlNumber": { + "trimLeadingAndTrailingSpacesAndZeroes": { "type": "boolean", - "description": "The value indicating whether to rollover acknowledgement control number." - } - }, - "description": "The X12 agreement acknowledgement settings." - }, - "X12MessageFilter": { - "type": "object", - "required": [ - "messageFilterType" - ], - "properties": { - "messageFilterType": { - "$ref": "#/definitions/MessageFilterType", - "description": "The message filter type." + "description": "The value indicating whether to trim leading and trailing spaces and zeroes." + }, + "trailingSeparatorPolicy": { + "$ref": "#/definitions/TrailingSeparatorPolicy", + "description": "The trailing separator policy." } }, - "description": "The X12 message filter for odata query." + "description": "The Edifact agreement validation settings." }, - "X12SecuritySettings": { + "EdifactFramingSettings": { "type": "object", "required": [ - "authorizationQualifier", - "securityQualifier" + "protocolVersion", + "dataElementSeparator", + "componentSeparator", + "segmentTerminator", + "releaseIndicator", + "repetitionSeparator", + "characterSet", + "decimalPointIndicator", + "segmentTerminatorSuffix" ], "properties": { - "authorizationQualifier": { + "serviceCodeListDirectoryVersion": { "type": "string", - "description": "The authorization qualifier." + "description": "The service code list directory version." }, - "authorizationValue": { + "characterEncoding": { "type": "string", - "description": "The authorization value." + "description": "The character encoding." }, - "securityQualifier": { - "type": "string", - "description": "The security qualifier." + "protocolVersion": { + "type": "integer", + "format": "int32", + "description": "The protocol version." }, - "passwordValue": { - "type": "string", - "description": "The password value." + "dataElementSeparator": { + "type": "integer", + "format": "int32", + "description": "The data element separator." + }, + "componentSeparator": { + "type": "integer", + "format": "int32", + "description": "The component separator." + }, + "segmentTerminator": { + "type": "integer", + "format": "int32", + "description": "The segment terminator." + }, + "releaseIndicator": { + "type": "integer", + "format": "int32", + "description": "The release indicator." + }, + "repetitionSeparator": { + "type": "integer", + "format": "int32", + "description": "The repetition separator." + }, + "characterSet": { + "$ref": "#/definitions/EdifactCharacterSet", + "description": "The EDIFACT frame setting characterSet." + }, + "decimalPointIndicator": { + "$ref": "#/definitions/EdifactDecimalIndicator", + "description": "The EDIFACT frame setting decimal indicator." + }, + "segmentTerminatorSuffix": { + "$ref": "#/definitions/SegmentTerminatorSuffix", + "description": "The EDIFACT frame setting segment terminator suffix." } }, - "description": "The X12 agreement security settings." + "description": "The Edifact agreement framing settings." }, - "X12ProcessingSettings": { + "EdifactEnvelopeSettings": { "type": "object", "required": [ - "maskSecurityInfo", - "convertImpliedDecimal", - "preserveInterchange", - "suspendInterchangeOnError", - "createEmptyXmlTagsForTrailingSeparators", - "useDotAsDecimalSeparator" + "applyDelimiterStringAdvice", + "createGroupingSegments", + "enableDefaultGroupHeaders", + "interchangeControlNumberLowerBound", + "interchangeControlNumberUpperBound", + "rolloverInterchangeControlNumber", + "groupControlNumberLowerBound", + "groupControlNumberUpperBound", + "rolloverGroupControlNumber", + "overwriteExistingTransactionSetControlNumber", + "transactionSetControlNumberLowerBound", + "transactionSetControlNumberUpperBound", + "rolloverTransactionSetControlNumber", + "isTestInterchange" ], "properties": { - "maskSecurityInfo": { - "type": "boolean", - "description": "The value indicating whether to mask security information." + "groupAssociationAssignedCode": { + "type": "string", + "description": "The group association assigned code." }, - "convertImpliedDecimal": { - "type": "boolean", - "description": "The value indicating whether to convert numerical type to implied decimal." + "communicationAgreementId": { + "type": "string", + "description": "The communication agreement id." }, - "preserveInterchange": { + "applyDelimiterStringAdvice": { "type": "boolean", - "description": "The value indicating whether to preserve interchange." + "description": "The value indicating whether to apply delimiter string advice." }, - "suspendInterchangeOnError": { + "createGroupingSegments": { "type": "boolean", - "description": "The value indicating whether to suspend interchange on error." + "description": "The value indicating whether to create grouping segments." }, - "createEmptyXmlTagsForTrailingSeparators": { + "enableDefaultGroupHeaders": { "type": "boolean", - "description": "The value indicating whether to create empty xml tags for trailing separators." + "description": "The value indicating whether to enable default group headers." }, - "useDotAsDecimalSeparator": { - "type": "boolean", - "description": "The value indicating whether to use dot as decimal separator." - } - }, - "description": "The X12 processing settings." - }, - "X12EnvelopeOverride": { - "type": "object", - "required": [ - "targetNamespace", - "protocolVersion", - "messageId", - "responsibleAgencyCode", - "headerVersion", - "senderApplicationId", - "receiverApplicationId", - "dateFormat", - "timeFormat" - ], - "properties": { - "targetNamespace": { + "recipientReferencePasswordValue": { "type": "string", - "description": "The target namespace on which this envelope settings has to be applied." + "description": "The recipient reference password value." }, - "protocolVersion": { + "recipientReferencePasswordQualifier": { "type": "string", - "description": "The protocol version on which this envelope settings has to be applied." + "description": "The recipient reference password qualifier." }, - "messageId": { + "applicationReferenceId": { "type": "string", - "description": "The message id on which this envelope settings has to be applied." + "description": "The application reference id." }, - "responsibleAgencyCode": { + "processingPriorityCode": { "type": "string", - "description": "The responsible agency code." + "description": "The processing priority code." }, - "headerVersion": { + "interchangeControlNumberLowerBound": { + "type": "integer", + "format": "int64", + "description": "The interchange control number lower bound." + }, + "interchangeControlNumberUpperBound": { + "type": "integer", + "format": "int64", + "description": "The interchange control number upper bound." + }, + "rolloverInterchangeControlNumber": { + "type": "boolean", + "description": "The value indicating whether to rollover interchange control number." + }, + "interchangeControlNumberPrefix": { "type": "string", - "description": "The header version." + "description": "The interchange control number prefix." }, - "senderApplicationId": { + "interchangeControlNumberSuffix": { "type": "string", - "description": "The sender application id." + "description": "The interchange control number suffix." }, - "receiverApplicationId": { + "senderReverseRoutingAddress": { "type": "string", - "description": "The receiver application id." + "description": "The sender reverse routing address." }, - "functionalIdentifierCode": { + "receiverReverseRoutingAddress": { "type": "string", - "description": "The functional identifier code." + "description": "The receiver reverse routing address." }, - "dateFormat": { - "$ref": "#/definitions/X12DateFormat", - "description": "The date format." + "functionalGroupId": { + "type": "string", + "description": "The functional group id." }, - "timeFormat": { - "$ref": "#/definitions/X12TimeFormat", - "description": "The time format." - } - }, - "description": "The X12 envelope override settings." - }, - "X12ValidationOverride": { - "type": "object", - "required": [ - "messageId", - "validateEdiTypes", - "validateXsdTypes", - "allowLeadingAndTrailingSpacesAndZeroes", - "validateCharacterSet", - "trimLeadingAndTrailingSpacesAndZeroes", - "trailingSeparatorPolicy" - ], - "properties": { - "messageId": { + "groupControllingAgencyCode": { "type": "string", - "description": "The message id on which the validation settings has to be applied." + "description": "The group controlling agency code." }, - "validateEdiTypes": { - "type": "boolean", - "description": "The value indicating whether to validate EDI types." + "groupMessageVersion": { + "type": "string", + "description": "The group message version." }, - "validateXsdTypes": { - "type": "boolean", - "description": "The value indicating whether to validate XSD types." + "groupMessageRelease": { + "type": "string", + "description": "The group message release." }, - "allowLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to allow leading and trailing spaces and zeroes." + "groupControlNumberLowerBound": { + "type": "integer", + "format": "int64", + "description": "The group control number lower bound." }, - "validateCharacterSet": { - "type": "boolean", - "description": "The value indicating whether to validate character Set." + "groupControlNumberUpperBound": { + "type": "integer", + "format": "int64", + "description": "The group control number upper bound." }, - "trimLeadingAndTrailingSpacesAndZeroes": { + "rolloverGroupControlNumber": { "type": "boolean", - "description": "The value indicating whether to trim leading and trailing spaces and zeroes." - }, - "trailingSeparatorPolicy": { - "$ref": "#/definitions/TrailingSeparatorPolicy", - "description": "The trailing separator policy." - } - }, - "description": "The X12 validation override settings." - }, - "X12MessageIdentifier": { - "type": "object", - "required": [ - "messageId" - ], - "properties": { - "messageId": { + "description": "The value indicating whether to rollover group control number." + }, + "groupControlNumberPrefix": { "type": "string", - "description": "The message id." - } - }, - "description": "The X12 message identifier." - }, - "X12SchemaReference": { - "type": "object", - "required": [ - "messageId", - "schemaVersion", - "schemaName" - ], - "properties": { - "messageId": { + "description": "The group control number prefix." + }, + "groupControlNumberSuffix": { "type": "string", - "description": "The message id." + "description": "The group control number suffix." }, - "senderApplicationId": { + "groupApplicationReceiverQualifier": { "type": "string", - "description": "The sender application id." + "description": "The group application receiver qualifier." }, - "schemaVersion": { + "groupApplicationReceiverId": { "type": "string", - "description": "The schema version." + "description": "The group application receiver id." }, - "schemaName": { + "groupApplicationSenderQualifier": { "type": "string", - "description": "The schema name." - } - }, - "description": "The X12 schema reference." - }, - "X12DelimiterOverrides": { - "type": "object", - "required": [ - "dataElementSeparator", - "componentSeparator", - "segmentTerminator", - "segmentTerminatorSuffix", - "replaceCharacter", - "replaceSeparatorsInPayload" - ], - "properties": { - "protocolVersion": { + "description": "The group application sender qualifier." + }, + "groupApplicationSenderId": { "type": "string", - "description": "The protocol version." + "description": "The group application sender id." }, - "messageId": { + "groupApplicationPassword": { "type": "string", - "description": "The message id." + "description": "The group application password." }, - "dataElementSeparator": { - "type": "integer", - "format": "int32", - "description": "The data element separator." + "overwriteExistingTransactionSetControlNumber": { + "type": "boolean", + "description": "The value indicating whether to overwrite existing transaction set control number." }, - "componentSeparator": { - "type": "integer", - "format": "int32", - "description": "The component separator." + "transactionSetControlNumberPrefix": { + "type": "string", + "description": "The transaction set control number prefix." }, - "segmentTerminator": { - "type": "integer", - "format": "int32", - "description": "The segment terminator." + "transactionSetControlNumberSuffix": { + "type": "string", + "description": "The transaction set control number suffix." }, - "segmentTerminatorSuffix": { - "$ref": "#/definitions/SegmentTerminatorSuffix", - "description": "The segment terminator suffix." + "transactionSetControlNumberLowerBound": { + "type": "integer", + "format": "int64", + "description": "The transaction set control number lower bound." }, - "replaceCharacter": { + "transactionSetControlNumberUpperBound": { "type": "integer", - "format": "int32", - "description": "The replacement character." + "format": "int64", + "description": "The transaction set control number upper bound." }, - "replaceSeparatorsInPayload": { + "rolloverTransactionSetControlNumber": { "type": "boolean", - "description": "The value indicating whether to replace separators in payload." + "description": "The value indicating whether to rollover transaction set control number." }, - "targetNamespace": { + "isTestInterchange": { + "type": "boolean", + "description": "The value indicating whether the message is a test interchange." + }, + "senderInternalIdentification": { "type": "string", - "description": "The target namespace on which this delimiter settings has to be applied." + "description": "The sender internal identification." + }, + "senderInternalSubIdentification": { + "type": "string", + "description": "The sender internal sub identification." + }, + "receiverInternalIdentification": { + "type": "string", + "description": "The receiver internal identification." + }, + "receiverInternalSubIdentification": { + "type": "string", + "description": "The receiver internal sub identification." } }, - "description": "The X12 delimiter override settings." - }, - "X12CharacterSet": { - "type": "string", - "enum": [ - "NotSpecified", - "Basic", - "Extended", - "UTF8" - ], - "x-ms-enum": { - "name": "X12CharacterSet", - "modelAsString": false - } - }, - "SegmentTerminatorSuffix": { - "type": "string", - "enum": [ - "NotSpecified", - "None", - "CR", - "LF", - "CRLF" - ], - "x-ms-enum": { - "name": "SegmentTerminatorSuffix", - "modelAsString": false - } - }, - "X12DateFormat": { - "type": "string", - "enum": [ - "NotSpecified", - "CCYYMMDD", - "YYMMDD" - ], - "x-ms-enum": { - "name": "X12DateFormat", - "modelAsString": false - } - }, - "X12TimeFormat": { - "type": "string", - "enum": [ - "NotSpecified", - "HHMM", - "HHMMSS", - "HHMMSSdd", - "HHMMSSd" - ], - "x-ms-enum": { - "name": "X12TimeFormat", - "modelAsString": false - } - }, - "UsageIndicator": { - "type": "string", - "enum": [ - "NotSpecified", - "Test", - "Information", - "Production" - ], - "x-ms-enum": { - "name": "UsageIndicator", - "modelAsString": false - } - }, - "MessageFilterType": { - "type": "string", - "enum": [ - "NotSpecified", - "Include", - "Exclude" - ], - "x-ms-enum": { - "name": "MessageFilterType", - "modelAsString": false - } - }, - "HashingAlgorithm": { - "type": "string", - "enum": [ - "NotSpecified", - "None", - "MD5", - "SHA1", - "SHA2256", - "SHA2384", - "SHA2512" - ], - "x-ms-enum": { - "name": "HashingAlgorithm", - "modelAsString": false - } - }, - "EncryptionAlgorithm": { - "type": "string", - "enum": [ - "NotSpecified", - "None", - "DES3", - "RC2", - "AES128", - "AES192", - "AES256" - ], - "x-ms-enum": { - "name": "EncryptionAlgorithm", - "modelAsString": false - } - }, - "SigningAlgorithm": { - "type": "string", - "enum": [ - "NotSpecified", - "Default", - "SHA1", - "SHA2256", - "SHA2384", - "SHA2512" - ], - "x-ms-enum": { - "name": "SigningAlgorithm", - "modelAsString": true - } + "description": "The Edifact agreement envelope settings." }, - "TrailingSeparatorPolicy": { - "type": "string", - "enum": [ - "NotSpecified", - "NotAllowed", - "Optional", - "Mandatory" + "EdifactAcknowledgementSettings": { + "type": "object", + "required": [ + "needTechnicalAcknowledgement", + "batchTechnicalAcknowledgements", + "needFunctionalAcknowledgement", + "batchFunctionalAcknowledgements", + "needLoopForValidMessages", + "sendSynchronousAcknowledgement", + "acknowledgementControlNumberLowerBound", + "acknowledgementControlNumberUpperBound", + "rolloverAcknowledgementControlNumber" ], - "x-ms-enum": { - "name": "TrailingSeparatorPolicy", - "modelAsString": false - } + "properties": { + "needTechnicalAcknowledgement": { + "type": "boolean", + "description": "The value indicating whether technical acknowledgement is needed." + }, + "batchTechnicalAcknowledgements": { + "type": "boolean", + "description": "The value indicating whether to batch the technical acknowledgements." + }, + "needFunctionalAcknowledgement": { + "type": "boolean", + "description": "The value indicating whether functional acknowledgement is needed." + }, + "batchFunctionalAcknowledgements": { + "type": "boolean", + "description": "The value indicating whether to batch functional acknowledgements." + }, + "needLoopForValidMessages": { + "type": "boolean", + "description": "The value indicating whether a loop is needed for valid messages." + }, + "sendSynchronousAcknowledgement": { + "type": "boolean", + "description": "The value indicating whether to send synchronous acknowledgement." + }, + "acknowledgementControlNumberPrefix": { + "type": "string", + "description": "The acknowledgement control number prefix." + }, + "acknowledgementControlNumberSuffix": { + "type": "string", + "description": "The acknowledgement control number suffix." + }, + "acknowledgementControlNumberLowerBound": { + "type": "integer", + "format": "int32", + "description": "The acknowledgement control number lower bound." + }, + "acknowledgementControlNumberUpperBound": { + "type": "integer", + "format": "int32", + "description": "The acknowledgement control number upper bound." + }, + "rolloverAcknowledgementControlNumber": { + "type": "boolean", + "description": "The value indicating whether to rollover acknowledgement control number." + } + }, + "description": "The Edifact agreement acknowledgement settings." }, - "EdifactAgreementContent": { + "EdifactMessageFilter": { "type": "object", "required": [ - "receiveAgreement", - "sendAgreement" + "messageFilterType" ], "properties": { - "receiveAgreement": { - "$ref": "#/definitions/EdifactOneWayAgreement", - "description": "The EDIFACT one-way receive agreement." - }, - "sendAgreement": { - "$ref": "#/definitions/EdifactOneWayAgreement", - "description": "The EDIFACT one-way send agreement." + "messageFilterType": { + "$ref": "#/definitions/MessageFilterType", + "description": "The message filter type." } }, - "description": "The Edifact agreement content." + "description": "The Edifact message filter for odata query." }, - "EdifactOneWayAgreement": { + "EdifactProcessingSettings": { "type": "object", "required": [ - "senderBusinessIdentity", - "receiverBusinessIdentity", - "protocolSettings" + "maskSecurityInfo", + "preserveInterchange", + "suspendInterchangeOnError", + "createEmptyXmlTagsForTrailingSeparators", + "useDotAsDecimalSeparator" ], "properties": { - "senderBusinessIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The sender business identity" + "maskSecurityInfo": { + "type": "boolean", + "description": "The value indicating whether to mask security information." }, - "receiverBusinessIdentity": { - "$ref": "#/definitions/BusinessIdentity", - "description": "The receiver business identity" + "preserveInterchange": { + "type": "boolean", + "description": "The value indicating whether to preserve interchange." }, - "protocolSettings": { - "$ref": "#/definitions/EdifactProtocolSettings", - "description": "The EDIFACT protocol settings." + "suspendInterchangeOnError": { + "type": "boolean", + "description": "The value indicating whether to suspend interchange on error." + }, + "createEmptyXmlTagsForTrailingSeparators": { + "type": "boolean", + "description": "The value indicating whether to create empty xml tags for trailing separators." + }, + "useDotAsDecimalSeparator": { + "type": "boolean", + "description": "The value indicating whether to use dot as decimal separator." } }, - "description": "The Edifact one way agreement." + "description": "The Edifact agreement protocol settings." }, - "EdifactProtocolSettings": { + "EdifactEnvelopeOverride": { "type": "object", - "required": [ - "validationSettings", - "framingSettings", - "envelopeSettings", - "acknowledgementSettings", - "messageFilter", - "processingSettings", - "schemaReferences" - ], "properties": { - "validationSettings": { - "$ref": "#/definitions/EdifactValidationSettings", - "description": "The EDIFACT validation settings." + "messageId": { + "type": "string", + "description": "The message id on which this envelope settings has to be applied." }, - "framingSettings": { - "$ref": "#/definitions/EdifactFramingSettings", - "description": "The EDIFACT framing settings." + "messageVersion": { + "type": "string", + "description": "The message version on which this envelope settings has to be applied." }, - "envelopeSettings": { - "$ref": "#/definitions/EdifactEnvelopeSettings", - "description": "The EDIFACT envelope settings." + "messageRelease": { + "type": "string", + "description": "The message release version on which this envelope settings has to be applied." }, - "acknowledgementSettings": { - "$ref": "#/definitions/EdifactAcknowledgementSettings", - "description": "The EDIFACT acknowledgement settings." + "messageAssociationAssignedCode": { + "type": "string", + "description": "The message association assigned code." }, - "messageFilter": { - "$ref": "#/definitions/EdifactMessageFilter", - "description": "The EDIFACT message filter." + "targetNamespace": { + "type": "string", + "description": "The target namespace on which this envelope settings has to be applied." }, - "processingSettings": { - "$ref": "#/definitions/EdifactProcessingSettings", - "description": "The EDIFACT processing Settings." + "functionalGroupId": { + "type": "string", + "description": "The functional group id." }, - "envelopeOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/EdifactEnvelopeOverride" - }, - "description": "The EDIFACT envelope override settings." + "senderApplicationQualifier": { + "type": "string", + "description": "The sender application qualifier." }, - "messageFilterList": { - "type": "array", - "items": { - "$ref": "#/definitions/EdifactMessageIdentifier" - }, - "description": "The EDIFACT message filter list." + "senderApplicationId": { + "type": "string", + "description": "The sender application id." }, - "schemaReferences": { - "type": "array", - "items": { - "$ref": "#/definitions/EdifactSchemaReference" - }, - "description": "The EDIFACT schema references." + "receiverApplicationQualifier": { + "type": "string", + "description": "The receiver application qualifier." }, - "validationOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/EdifactValidationOverride" - }, - "description": "The EDIFACT validation override settings." + "receiverApplicationId": { + "type": "string", + "description": "The receiver application id." + }, + "controllingAgencyCode": { + "type": "string", + "description": "The controlling agency code." + }, + "groupHeaderMessageVersion": { + "type": "string", + "description": "The group header message version." + }, + "groupHeaderMessageRelease": { + "type": "string", + "description": "The group header message release." + }, + "associationAssignedCode": { + "type": "string", + "description": "The association assigned code." + }, + "applicationPassword": { + "type": "string", + "description": "The application password." + } + }, + "description": "The Edifact envelope override settings." + }, + "EdifactMessageIdentifier": { + "type": "object", + "required": [ + "messageId" + ], + "properties": { + "messageId": { + "type": "string", + "description": "The message id on which this envelope settings has to be applied." + } + }, + "description": "The Edifact message identifier." + }, + "EdifactSchemaReference": { + "type": "object", + "required": [ + "messageId", + "messageVersion", + "messageRelease", + "schemaName" + ], + "properties": { + "messageId": { + "type": "string", + "description": "The message id." + }, + "messageVersion": { + "type": "string", + "description": "The message version." + }, + "messageRelease": { + "type": "string", + "description": "The message release version." + }, + "senderApplicationId": { + "type": "string", + "description": "The sender application id." }, - "edifactDelimiterOverrides": { - "type": "array", - "items": { - "$ref": "#/definitions/EdifactDelimiterOverride" - }, - "description": "The EDIFACT delimiter override settings." + "senderApplicationQualifier": { + "type": "string", + "description": "The sender application qualifier." + }, + "associationAssignedCode": { + "type": "string", + "description": "The association assigned code." + }, + "schemaName": { + "type": "string", + "description": "The schema name." } }, - "description": "The Edifact agreement protocol settings." + "description": "The Edifact schema reference." }, - "EdifactValidationSettings": { + "EdifactValidationOverride": { "type": "object", "required": [ - "validateCharacterSet", - "checkDuplicateInterchangeControlNumber", - "interchangeControlNumberValidityDays", - "checkDuplicateGroupControlNumber", - "checkDuplicateTransactionSetControlNumber", - "validateEdiTypes", - "validateXsdTypes", + "messageId", + "enforceCharacterSet", + "validateEDITypes", + "validateXSDTypes", "allowLeadingAndTrailingSpacesAndZeroes", - "trimLeadingAndTrailingSpacesAndZeroes", - "trailingSeparatorPolicy" + "trailingSeparatorPolicy", + "trimLeadingAndTrailingSpacesAndZeroes" ], "properties": { - "validateCharacterSet": { - "type": "boolean", - "description": "The value indicating whether to validate character set in the message." - }, - "checkDuplicateInterchangeControlNumber": { - "type": "boolean", - "description": "The value indicating whether to check for duplicate interchange control number." - }, - "interchangeControlNumberValidityDays": { - "type": "integer", - "format": "int32", - "description": "The validity period of interchange control number." - }, - "checkDuplicateGroupControlNumber": { - "type": "boolean", - "description": "The value indicating whether to check for duplicate group control number." + "messageId": { + "type": "string", + "description": "The message id on which the validation settings has to be applied." }, - "checkDuplicateTransactionSetControlNumber": { + "enforceCharacterSet": { "type": "boolean", - "description": "The value indicating whether to check for duplicate transaction set control number." + "description": "The value indicating whether to validate character Set." }, - "validateEdiTypes": { + "validateEDITypes": { "type": "boolean", - "description": "The value indicating whether to Whether to validate EDI types." + "description": "The value indicating whether to validate EDI types." }, - "validateXsdTypes": { + "validateXSDTypes": { "type": "boolean", - "description": "The value indicating whether to Whether to validate XSD types." + "description": "The value indicating whether to validate XSD types." }, "allowLeadingAndTrailingSpacesAndZeroes": { "type": "boolean", "description": "The value indicating whether to allow leading and trailing spaces and zeroes." }, - "trimLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to trim leading and trailing spaces and zeroes." - }, "trailingSeparatorPolicy": { "$ref": "#/definitions/TrailingSeparatorPolicy", "description": "The trailing separator policy." + }, + "trimLeadingAndTrailingSpacesAndZeroes": { + "type": "boolean", + "description": "The value indicating whether to trim leading and trailing spaces and zeroes." } }, - "description": "The Edifact agreement validation settings." + "description": "The Edifact validation override settings." }, - "EdifactFramingSettings": { + "EdifactDelimiterOverride": { "type": "object", "required": [ - "protocolVersion", "dataElementSeparator", "componentSeparator", "segmentTerminator", - "releaseIndicator", "repetitionSeparator", - "characterSet", + "segmentTerminatorSuffix", "decimalPointIndicator", - "segmentTerminatorSuffix" + "releaseIndicator" ], "properties": { - "serviceCodeListDirectoryVersion": { + "messageId": { "type": "string", - "description": "The service code list directory version." + "description": "The message id." }, - "characterEncoding": { + "messageVersion": { "type": "string", - "description": "The character encoding." + "description": "The message version." }, - "protocolVersion": { - "type": "integer", - "format": "int32", - "description": "The protocol version." + "messageRelease": { + "type": "string", + "description": "The message release." }, "dataElementSeparator": { "type": "integer", @@ -6391,839 +11896,1130 @@ "format": "int32", "description": "The segment terminator." }, - "releaseIndicator": { - "type": "integer", - "format": "int32", - "description": "The release indicator." - }, "repetitionSeparator": { "type": "integer", "format": "int32", "description": "The repetition separator." }, - "characterSet": { - "$ref": "#/definitions/EdifactCharacterSet", - "description": "The EDIFACT frame setting characterSet." - }, - "decimalPointIndicator": { - "$ref": "#/definitions/EdifactDecimalIndicator", - "description": "The EDIFACT frame setting decimal indicator." - }, "segmentTerminatorSuffix": { "$ref": "#/definitions/SegmentTerminatorSuffix", - "description": "The EDIFACT frame setting segment terminator suffix." - } - }, - "description": "The Edifact agreement framing settings." - }, - "EdifactEnvelopeSettings": { - "type": "object", - "required": [ - "applyDelimiterStringAdvice", - "createGroupingSegments", - "enableDefaultGroupHeaders", - "interchangeControlNumberLowerBound", - "interchangeControlNumberUpperBound", - "rolloverInterchangeControlNumber", - "groupControlNumberLowerBound", - "groupControlNumberUpperBound", - "rolloverGroupControlNumber", - "overwriteExistingTransactionSetControlNumber", - "transactionSetControlNumberLowerBound", - "transactionSetControlNumberUpperBound", - "rolloverTransactionSetControlNumber", - "isTestInterchange" - ], - "properties": { - "groupAssociationAssignedCode": { - "type": "string", - "description": "The group association assigned code." - }, - "communicationAgreementId": { - "type": "string", - "description": "The communication agreement id." - }, - "applyDelimiterStringAdvice": { - "type": "boolean", - "description": "The value indicating whether to apply delimiter string advice." - }, - "createGroupingSegments": { - "type": "boolean", - "description": "The value indicating whether to create grouping segments." - }, - "enableDefaultGroupHeaders": { - "type": "boolean", - "description": "The value indicating whether to enable default group headers." - }, - "recipientReferencePasswordValue": { - "type": "string", - "description": "The recipient reference password value." - }, - "recipientReferencePasswordQualifier": { - "type": "string", - "description": "The recipient reference password qualifier." - }, - "applicationReferenceId": { - "type": "string", - "description": "The application reference id." - }, - "processingPriorityCode": { - "type": "string", - "description": "The processing priority code." + "description": "The segment terminator suffix." }, - "interchangeControlNumberLowerBound": { - "type": "integer", - "format": "int64", - "description": "The interchange control number lower bound." + "decimalPointIndicator": { + "$ref": "#/definitions/EdifactDecimalIndicator", + "description": "The decimal point indicator." }, - "interchangeControlNumberUpperBound": { + "releaseIndicator": { "type": "integer", - "format": "int64", - "description": "The interchange control number upper bound." - }, - "rolloverInterchangeControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover interchange control number." - }, - "interchangeControlNumberPrefix": { - "type": "string", - "description": "The interchange control number prefix." - }, - "interchangeControlNumberSuffix": { - "type": "string", - "description": "The interchange control number suffix." - }, - "senderReverseRoutingAddress": { - "type": "string", - "description": "The sender reverse routing address." + "format": "int32", + "description": "The release indicator." }, - "receiverReverseRoutingAddress": { + "messageAssociationAssignedCode": { "type": "string", - "description": "The receiver reverse routing address." + "description": "The message association assigned code." }, - "functionalGroupId": { + "targetNamespace": { "type": "string", - "description": "The functional group id." + "description": "The target namespace on which this delimiter settings has to be applied." + } + }, + "description": "The Edifact delimiter override settings." + }, + "EdifactCharacterSet": { + "type": "string", + "description": "The edifact character set.", + "enum": [ + "NotSpecified", + "UNOB", + "UNOA", + "UNOC", + "UNOD", + "UNOE", + "UNOF", + "UNOG", + "UNOH", + "UNOI", + "UNOJ", + "UNOK", + "UNOX", + "UNOY", + "KECA" + ], + "x-ms-enum": { + "name": "EdifactCharacterSet", + "modelAsString": true + } + }, + "EdifactDecimalIndicator": { + "type": "string", + "description": "The edifact decimal indicator.", + "enum": [ + "NotSpecified", + "Comma", + "Decimal" + ], + "x-ms-enum": { + "name": "EdifactDecimalIndicator", + "modelAsString": false + } + }, + "IntegrationAccountCertificateListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationAccountCertificate" + }, + "description": "The list of integration account certificates." }, - "groupControllingAgencyCode": { + "nextLink": { "type": "string", - "description": "The group controlling agency code." - }, - "groupMessageVersion": { + "description": "The URL to get the next set of results." + } + }, + "description": "The list of integration account certificates." + }, + "IntegrationAccountCertificate": { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IntegrationAccountCertificateProperties", + "description": "The integration account certificate properties." + } + }, + "description": "The integration account certificate.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "IntegrationAccountCertificateProperties": { + "type": "object", + "properties": { + "createdTime": { "type": "string", - "description": "The group message version." + "format": "date-time", + "readOnly": true, + "description": "The created time." }, - "groupMessageRelease": { + "changedTime": { "type": "string", - "description": "The group message release." - }, - "groupControlNumberLowerBound": { - "type": "integer", - "format": "int64", - "description": "The group control number lower bound." - }, - "groupControlNumberUpperBound": { - "type": "integer", - "format": "int64", - "description": "The group control number upper bound." - }, - "rolloverGroupControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover group control number." + "format": "date-time", + "readOnly": true, + "description": "The changed time." }, - "groupControlNumberPrefix": { - "type": "string", - "description": "The group control number prefix." + "metadata": { + "type": "object", + "description": "The metadata.", + "properties": {} }, - "groupControlNumberSuffix": { - "type": "string", - "description": "The group control number suffix." + "key": { + "$ref": "#/definitions/KeyVaultKeyReference", + "description": "The key details in the key vault." }, - "groupApplicationReceiverQualifier": { + "publicCertificate": { "type": "string", - "description": "The group application receiver qualifier." + "description": "The public certificate." + } + }, + "description": "The integration account certificate properties." + }, + "KeyVaultKeyReference": { + "type": "object", + "required": [ + "keyVault", + "keyName" + ], + "properties": { + "keyVault": { + "type": "object", + "description": "The key vault reference.", + "properties": { + "id": { + "type": "string", + "description": "The resource id." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The resource type." + } + } }, - "groupApplicationReceiverId": { + "keyName": { "type": "string", - "description": "The group application receiver id." + "description": "The private key name in key vault." }, - "groupApplicationSenderQualifier": { + "keyVersion": { "type": "string", - "description": "The group application sender qualifier." - }, - "groupApplicationSenderId": { + "description": "The private key version in key vault." + } + }, + "description": "The reference to the key vault key." + }, + "IntegrationAccountSessionFilter": { + "type": "object", + "required": [ + "changedTime" + ], + "properties": { + "changedTime": { "type": "string", - "description": "The group application sender id." + "format": "date-time", + "description": "The changed time of integration account sessions." + } + }, + "description": "The integration account session filter." + }, + "IntegrationAccountSessionListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/IntegrationAccountSession" + }, + "description": "The list of integration account sessions." }, - "groupApplicationPassword": { + "nextLink": { "type": "string", - "description": "The group application password." - }, - "overwriteExistingTransactionSetControlNumber": { - "type": "boolean", - "description": "The value indicating whether to overwrite existing transaction set control number." - }, - "transactionSetControlNumberPrefix": { + "description": "The URL to get the next set of results." + } + }, + "description": "The list of integration account sessions." + }, + "IntegrationAccountSession": { + "type": "object", + "required": [ + "properties" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IntegrationAccountSessionProperties", + "description": "The integration account session properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "The integration account session." + }, + "IntegrationAccountSessionProperties": { + "type": "object", + "properties": { + "createdTime": { "type": "string", - "description": "The transaction set control number prefix." + "format": "date-time", + "readOnly": true, + "description": "The created time." }, - "transactionSetControlNumberSuffix": { + "changedTime": { "type": "string", - "description": "The transaction set control number suffix." - }, - "transactionSetControlNumberLowerBound": { - "type": "integer", - "format": "int64", - "description": "The transaction set control number lower bound." - }, - "transactionSetControlNumberUpperBound": { - "type": "integer", - "format": "int64", - "description": "The transaction set control number upper bound." - }, - "rolloverTransactionSetControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover transaction set control number." + "format": "date-time", + "readOnly": true, + "description": "The changed time." }, - "isTestInterchange": { - "type": "boolean", - "description": "The value indicating whether the message is a test interchange." + "content": { + "$ref": "#/definitions/Object", + "description": "The session content." + } + }, + "description": "The integration account session properties." + }, + "Operation": { + "description": "Logic REST API operation", + "type": "object", + "properties": { + "origin": { + "description": "Operation: origin", + "type": "string" }, - "senderInternalIdentification": { - "type": "string", - "description": "The sender internal identification." + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" }, - "senderInternalSubIdentification": { - "type": "string", - "description": "The sender internal sub identification." + "display": { + "type": "object", + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Logic", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Operation: description.", + "type": "string" + } + } }, - "receiverInternalIdentification": { - "type": "string", - "description": "The receiver internal identification." + "properties": { + "x-ms-client-flatten": true, + "description": "The properties.", + "$ref": "#/definitions/Object" + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Logic operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Logic operations supported by the Logic resource provider." }, - "receiverInternalSubIdentification": { + "nextLink": { "type": "string", - "description": "The receiver internal sub identification." + "description": "URL to get the next set of operation list results if there are any." } - }, - "description": "The Edifact agreement envelope settings." + } }, - "EdifactAcknowledgementSettings": { + "ErrorResponse": { + "description": "Error response indicates Logic service is not able to process the incoming request. The error property contains the error details.", + "type": "object", + "properties": { + "error": { + "$ref": "#/definitions/ErrorProperties", + "description": "The error properties." + } + } + }, + "ErrorProperties": { + "description": "Error properties indicate why the Logic service was not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ListKeyVaultKeysDefinition": { "type": "object", + "description": "The list key vault keys definition.", + "additionalProperties": false, "required": [ - "needTechnicalAcknowledgement", - "batchTechnicalAcknowledgements", - "needFunctionalAcknowledgement", - "batchFunctionalAcknowledgements", - "needLoopForValidMessages", - "sendSynchronousAcknowledgement", - "acknowledgementControlNumberLowerBound", - "acknowledgementControlNumberUpperBound", - "rolloverAcknowledgementControlNumber" + "keyVault" ], "properties": { - "needTechnicalAcknowledgement": { - "type": "boolean", - "description": "The value indicating whether technical acknowledgement is needed." - }, - "batchTechnicalAcknowledgements": { - "type": "boolean", - "description": "The value indicating whether to batch the technical acknowledgements." - }, - "needFunctionalAcknowledgement": { - "type": "boolean", - "description": "The value indicating whether functional acknowledgement is needed." - }, - "batchFunctionalAcknowledgements": { - "type": "boolean", - "description": "The value indicating whether to batch functional acknowledgements." - }, - "needLoopForValidMessages": { - "type": "boolean", - "description": "The value indicating whether a loop is needed for valid messages." - }, - "sendSynchronousAcknowledgement": { - "type": "boolean", - "description": "The value indicating whether to send synchronous acknowledgement." + "keyVault": { + "$ref": "#/definitions/KeyVaultReference", + "description": "The key vault reference." }, - "acknowledgementControlNumberPrefix": { + "skipToken": { "type": "string", - "description": "The acknowledgement control number prefix." - }, - "acknowledgementControlNumberSuffix": { + "description": "The skip token." + } + } + }, + "KeyVaultReference": { + "type": "object", + "description": "The key vault reference.", + "additionalProperties": false, + "properties": { + "name": { "type": "string", - "description": "The acknowledgement control number suffix." - }, - "acknowledgementControlNumberLowerBound": { - "type": "integer", - "format": "int32", - "description": "The acknowledgement control number lower bound." + "description": "The key vault name." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ResourceReference" + } + ] + }, + "KeyVaultKeyCollection": { + "type": "object", + "description": "Collection of key vault keys.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/KeyVaultKey" + }, + "description": "The key vault keys." }, - "acknowledgementControlNumberUpperBound": { - "type": "integer", - "format": "int32", - "description": "The acknowledgement control number upper bound." + "skipToken": { + "type": "string", + "description": "The skip token." + } + } + }, + "KeyVaultKey": { + "type": "object", + "description": "The key vault key.", + "properties": { + "kid": { + "type": "string", + "description": "The key id." }, - "rolloverAcknowledgementControlNumber": { - "type": "boolean", - "description": "The value indicating whether to rollover acknowledgement control number." + "attributes": { + "type": "object", + "description": "The key attributes.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the key is enabled or not." + }, + "created": { + "type": "integer", + "format": "int64", + "description": "When the key was created." + }, + "updated": { + "type": "integer", + "format": "int64", + "description": "When the key was updated." + } + } } - }, - "description": "The Edifact agreement acknowledgement settings." + } }, - "EdifactMessageFilter": { + "TrackingEventsDefinition": { "type": "object", + "description": "The tracking events definition.", + "additionalProperties": false, "required": [ - "messageFilterType" + "sourceType", + "events" ], "properties": { - "messageFilterType": { - "$ref": "#/definitions/MessageFilterType", - "description": "The message filter type." + "sourceType": { + "description": "The source type.", + "type": "string" + }, + "trackEventsOptions": { + "description": "The track events options.", + "$ref": "#/definitions/TrackEventsOperationOptions" + }, + "events": { + "type": "array", + "description": "The events.", + "items": { + "$ref": "#/definitions/TrackingEvent" + } } + } + }, + "TrackEventsOperationOptions": { + "type": "string", + "enum": [ + "None", + "DisableSourceInfoEnrich" + ], + "x-ms-enum": { + "name": "TrackEventsOperationOptions", + "modelAsString": true }, - "description": "The Edifact message filter for odata query." + "description": "The track events operation options." }, - "EdifactProcessingSettings": { + "TrackingEvent": { "type": "object", + "description": "The tracking event.", + "additionalProperties": false, "required": [ - "maskSecurityInfo", - "preserveInterchange", - "suspendInterchangeOnError", - "createEmptyXmlTagsForTrailingSeparators", - "useDotAsDecimalSeparator" + "eventLevel", + "eventTime", + "recordType" ], "properties": { - "maskSecurityInfo": { - "type": "boolean", - "description": "The value indicating whether to mask security information." + "eventLevel": { + "description": "The event level.", + "$ref": "#/definitions/EventLevel" }, - "preserveInterchange": { - "type": "boolean", - "description": "The value indicating whether to preserve interchange." + "eventTime": { + "type": "string", + "description": "The event time.", + "format": "date-time" }, - "suspendInterchangeOnError": { - "type": "boolean", - "description": "The value indicating whether to suspend interchange on error." + "recordType": { + "description": "The record type.", + "$ref": "#/definitions/TrackingRecordType" }, - "createEmptyXmlTagsForTrailingSeparators": { - "type": "boolean", - "description": "The value indicating whether to create empty xml tags for trailing separators." + "record": { + "description": "The record.", + "$ref": "#/definitions/Object" }, - "useDotAsDecimalSeparator": { - "type": "boolean", - "description": "The value indicating whether to use dot as decimal separator." + "error": { + "description": "The error.", + "$ref": "#/definitions/TrackingEventErrorInfo" } + } + }, + "EventLevel": { + "type": "string", + "enum": [ + "LogAlways", + "Critical", + "Error", + "Warning", + "Informational", + "Verbose" + ], + "x-ms-enum": { + "name": "EventLevel", + "modelAsString": false }, - "description": "The Edifact agreement protocol settings." + "description": "The event level." }, - "EdifactEnvelopeOverride": { + "TrackingRecordType": { + "type": "string", + "enum": [ + "NotSpecified", + "Custom", + "AS2Message", + "AS2MDN", + "X12Interchange", + "X12FunctionalGroup", + "X12TransactionSet", + "X12InterchangeAcknowledgment", + "X12FunctionalGroupAcknowledgment", + "X12TransactionSetAcknowledgment", + "EdifactInterchange", + "EdifactFunctionalGroup", + "EdifactTransactionSet", + "EdifactInterchangeAcknowledgment", + "EdifactFunctionalGroupAcknowledgment", + "EdifactTransactionSetAcknowledgment" + ], + "x-ms-enum": { + "name": "TrackingRecordType", + "modelAsString": true + }, + "description": "The tracking record type." + }, + "TrackingEventErrorInfo": { "type": "object", + "description": "The tracking event error info.", + "additionalProperties": false, "properties": { - "messageId": { - "type": "string", - "description": "The message id on which this envelope settings has to be applied." - }, - "messageVersion": { - "type": "string", - "description": "The message version on which this envelope settings has to be applied." - }, - "messageRelease": { - "type": "string", - "description": "The message release version on which this envelope settings has to be applied." - }, - "messageAssociationAssignedCode": { - "type": "string", - "description": "The message association assigned code." - }, - "targetNamespace": { - "type": "string", - "description": "The target namespace on which this envelope settings has to be applied." - }, - "functionalGroupId": { - "type": "string", - "description": "The functional group id." - }, - "senderApplicationQualifier": { - "type": "string", - "description": "The sender application qualifier." - }, - "senderApplicationId": { - "type": "string", - "description": "The sender application id." - }, - "receiverApplicationQualifier": { - "type": "string", - "description": "The receiver application qualifier." - }, - "receiverApplicationId": { - "type": "string", - "description": "The receiver application id." - }, - "controllingAgencyCode": { - "type": "string", - "description": "The controlling agency code." - }, - "groupHeaderMessageVersion": { - "type": "string", - "description": "The group header message version." - }, - "groupHeaderMessageRelease": { - "type": "string", - "description": "The group header message release." - }, - "associationAssignedCode": { - "type": "string", - "description": "The association assigned code." + "message": { + "description": "The message.", + "type": "string" }, - "applicationPassword": { + "code": { + "description": "The code.", + "type": "string" + } + } + }, + "SetTriggerStateActionDefinition": { + "type": "object", + "description": "The set trigger state action definition.", + "additionalProperties": false, + "required": [ + "source" + ], + "properties": { + "source": { + "description": "The source.", + "$ref": "#/definitions/WorkflowTriggerReference" + } + } + }, + "ExpressionTraces": { + "description": "The expression traces.", + "type": "object", + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressionRoot" + } + } + } + }, + "ExpressionRoot": { + "description": "The expression root.", + "type": "object", + "properties": { + "path": { "type": "string", - "description": "The application password." + "description": "The path." } }, - "description": "The Edifact enevlope override settings." + "allOf": [ + { + "$ref": "#/definitions/Expression" + } + ] }, - "EdifactMessageIdentifier": { + "Expression": { + "description": "The expression.", + "type": "object", + "additionalProperties": false, + "properties": { + "text": { + "description": "The text.", + "type": "string" + }, + "value": {}, + "subexpressions": { + "type": "array", + "description": "The sub expressions.", + "items": { + "$ref": "#/definitions/Expression" + } + }, + "error": { + "$ref": "#/definitions/AzureResourceErrorInfo" + } + } + }, + "AzureResourceErrorInfo": { "type": "object", + "description": "The azure resource error info.", + "additionalProperties": false, "required": [ - "messageId" + "message" ], "properties": { - "messageId": { + "message": { "type": "string", - "description": "The message id on which this envelope settings has to be applied." + "description": "The error message." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureResourceErrorInfo" + }, + "description": "The error details." } }, - "description": "The Edifact message identifier." + "allOf": [ + { + "$ref": "#/definitions/ErrorInfo" + } + ] }, - "EdifactSchemaReference": { + "ErrorInfo": { "type": "object", + "description": "The error info.", + "additionalProperties": false, "required": [ - "messageId", - "messageVersion", - "messageRelease", - "schemaName" + "code" ], "properties": { - "messageId": { - "type": "string", - "description": "The message id." - }, - "messageVersion": { - "type": "string", - "description": "The message version." - }, - "messageRelease": { - "type": "string", - "description": "The message release version." - }, - "senderApplicationId": { - "type": "string", - "description": "The sender application id." - }, - "senderApplicationQualifier": { - "type": "string", - "description": "The sender application qualifier." - }, - "associationAssignedCode": { + "code": { "type": "string", - "description": "The association assigned code." + "description": "The error code." + } + } + }, + "WorkflowRunActionRepetitionDefinitionCollection": { + "type": "object", + "description": "A collection of workflow run action repetitions.", + "properties": { + "nextLink": { + "description": "The link used to get the next page of recommendations.", + "type": "string" }, - "schemaName": { - "type": "string", - "description": "The schema name." + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowRunActionRepetitionDefinition" + } } - }, - "description": "The Edifact schema reference." + } }, - "EdifactValidationOverride": { + "WorkflowRunActionRepetitionDefinition": { "type": "object", + "description": "The workflow run action repetition definition.", + "additionalProperties": false, "required": [ - "messageId", - "enforceCharacterSet", - "validateEdiTypes", - "validateXsdTypes", - "allowLeadingAndTrailingSpacesAndZeroes", - "trailingSeparatorPolicy", - "trimLeadingAndTrailingSpacesAndZeroes" + "properties" ], "properties": { - "messageId": { - "type": "string", - "description": "The message id on which the validation settings has to be applied." - }, - "enforceCharacterSet": { - "type": "boolean", - "description": "The value indicating whether to validate character Set." - }, - "validateEdiTypes": { - "type": "boolean", - "description": "The value indicating whether to validate EDI types." - }, - "validateXsdTypes": { - "type": "boolean", - "description": "The value indicating whether to validate XSD types." - }, - "allowLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to allow leading and trailing spaces and zeroes." - }, - "trailingSeparatorPolicy": { - "$ref": "#/definitions/TrailingSeparatorPolicy", - "description": "The trailing separator policy." - }, - "trimLeadingAndTrailingSpacesAndZeroes": { - "type": "boolean", - "description": "The value indicating whether to trim leading and trailing spaces and zeroes." + "properties": { + "$ref": "#/definitions/WorkflowRunActionRepetitionProperties", + "description": "The workflow run action repetition properties definition.", + "x-ms-client-flatten": true } }, - "description": "The Edifact validation override settings." + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] }, - "EdifactDelimiterOverride": { + "WorkflowRunActionRepetitionProperties": { + "type": "object", + "description": "The workflow run action repetition properties definition.", + "additionalProperties": false, + "properties": { + "repetitionIndexes": { + "type": "array", + "description": "The repetition indexes.", + "items": { + "$ref": "#/definitions/RepetitionIndex" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationResult" + } + ] + }, + "RepetitionIndex": { "type": "object", + "description": "The workflow run action repetition index.", + "additionalProperties": false, "required": [ - "dataElementSeparator", - "componentSeparator", - "segmentTerminator", - "repetitionSeparator", - "segmentTerminatorSuffix", - "decimalPointIndicator", - "releaseIndicator" + "itemIndex" ], "properties": { - "messageId": { - "type": "string", - "description": "The message id." - }, - "messageVersion": { - "type": "string", - "description": "The message version." - }, - "messageRelease": { + "scopeName": { "type": "string", - "description": "The message releaseversion." + "description": "The scope." }, - "dataElementSeparator": { + "itemIndex": { "type": "integer", "format": "int32", - "description": "The data element separator." + "description": "The index." + } + } + }, + "OperationResult": { + "type": "object", + "description": "The operation result definition.", + "additionalProperties": false, + "properties": { + "trackingId": { + "type": "string", + "readOnly": true, + "description": "Gets the tracking id." }, - "componentSeparator": { - "type": "integer", - "format": "int32", - "description": "The component separator." + "inputs": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the inputs." }, - "segmentTerminator": { - "type": "integer", - "format": "int32", - "description": "The segment terminator." + "inputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to inputs." }, - "repetitionSeparator": { - "type": "integer", - "format": "int32", - "description": "The repetition separator." + "outputs": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the outputs." }, - "segmentTerminatorSuffix": { - "$ref": "#/definitions/SegmentTerminatorSuffix", - "description": "The segment terminator suffix." + "outputsLink": { + "$ref": "#/definitions/ContentLink", + "readOnly": true, + "description": "Gets the link to outputs." }, - "decimalPointIndicator": { - "$ref": "#/definitions/EdifactDecimalIndicator", - "description": "The decimal point indicator." + "trackedProperties": { + "$ref": "#/definitions/Object", + "readOnly": true, + "description": "Gets the tracked properties." }, - "releaseIndicator": { + "retryHistory": { + "type": "array", + "items": { + "$ref": "#/definitions/RetryHistory" + }, + "description": "Gets the retry histories." + }, + "iterationCount": { "type": "integer", - "format": "int32", - "description": "The release indicator." + "format": "int32" + } + }, + "allOf": [ + { + "$ref": "#/definitions/OperationResultProperties" + } + ] + }, + "OperationResultProperties": { + "type": "object", + "x-abstract": true, + "description": "The run operation result properties.", + "additionalProperties": false, + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the workflow scope repetition." }, - "messageAssociationAssignedCode": { + "endTime": { "type": "string", - "description": "The message association assigned code." + "format": "date-time", + "description": "The end time of the workflow scope repetition." }, - "targetNamespace": { + "correlation": { + "$ref": "#/definitions/RunActionCorrelation", + "description": "The correlation properties." + }, + "status": { + "$ref": "#/definitions/WorkflowStatus", + "description": "The status of the workflow scope repetition." + }, + "code": { "type": "string", - "description": "The target namespace on which this delimiter settings has to be applied." - } - }, - "description": "The Edifact delimiter override settings." + "description": "The workflow scope repetition code." + }, + "error": {} + } }, - "EdifactCharacterSet": { - "type": "string", - "enum": [ - "NotSpecified", - "UNOB", - "UNOA", - "UNOC", - "UNOD", - "UNOE", - "UNOF", - "UNOG", - "UNOH", - "UNOI", - "UNOJ", - "UNOK", - "UNOX", - "UNOY", - "KECA" - ], - "x-ms-enum": { - "name": "EdifactCharacterSet", - "modelAsString": false + "RunActionCorrelation": { + "type": "object", + "description": "The workflow run action correlation properties.", + "additionalProperties": false, + "properties": { + "actionTrackingId": { + "type": "string", + "description": "The action tracking identifier." + } + }, + "allOf": [ + { + "$ref": "#/definitions/RunCorrelation" + } + ] + }, + "RunCorrelation": { + "type": "object", + "description": "The correlation properties.", + "additionalProperties": false, + "properties": { + "clientTrackingId": { + "type": "string", + "description": "The client tracking identifier." + }, + "clientKeywords": { + "type": "array", + "description": "The client keywords.", + "items": { + "type": "string" + } + } } }, - "EdifactDecimalIndicator": { - "type": "string", - "enum": [ - "NotSpecified", - "Comma", - "Decimal" - ], - "x-ms-enum": { - "name": "EdifactDecimalIndicator", - "modelAsString": false + "JsonSchema": { + "type": "object", + "description": "The JSON schema.", + "properties": { + "title": { + "type": "string", + "description": "The JSON title." + }, + "content": { + "type": "string", + "description": "The JSON content." + } } }, - "IntegrationAccountCertificateListResult": { + "AssemblyCollection": { "type": "object", + "description": "A collection of assembly definitions.", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/IntegrationAccountCertificate" - }, - "description": "The list of integration account certificates." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of results." + "$ref": "#/definitions/AssemblyDefinition" + } } - }, - "description": "The list of integration account certificates." + } }, - "IntegrationAccountCertificate": { + "AssemblyDefinition": { "type": "object", + "description": "The assembly definition.", + "additionalProperties": false, "required": [ "properties" ], "properties": { "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IntegrationAccountCertificateProperties", - "description": "The integration account certificate properties." + "$ref": "#/definitions/AssemblyProperties", + "description": "The assembly properties." } }, - "description": "The integration account certificate.", "allOf": [ { "$ref": "#/definitions/Resource" } ] }, - "IntegrationAccountCertificateProperties": { + "AssemblyProperties": { "type": "object", + "description": "The assembly properties definition.", + "additionalProperties": false, + "required": [ + "assemblyName" + ], "properties": { - "createdTime": { + "assemblyName": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The created time." + "description": "The assembly name." }, - "changedTime": { + "assemblyVersion": { "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The changed time." - }, - "metadata": { - "type": "object", - "description": "The metadata.", - "properties": {} + "description": "The assembly version." }, - "key": { - "$ref": "#/definitions/KeyVaultKeyReference", - "description": "The key details in the key vault." + "assemblyCulture": { + "type": "string", + "description": "The assembly culture." }, - "publicCertificate": { + "assemblyPublicKeyToken": { "type": "string", - "description": "The public certificate." + "description": "The assembly public key token." } }, - "description": "The integration account certificate properties." + "allOf": [ + { + "$ref": "#/definitions/ArtifactContentPropertiesDefinition" + } + ] }, - "KeyVaultKeyReference": { + "ArtifactContentPropertiesDefinition": { "type": "object", - "required": [ - "keyVault", - "keyName" - ], + "additionalProperties": false, + "description": "The artifact content properties definition.", "properties": { - "keyVault": { - "type": "object", - "description": "The key vault reference.", - "properties": { - "id": { - "type": "string", - "description": "The resource id." - }, - "name": { - "type": "string", - "readOnly": true, - "description": "The resource name." - }, - "type": { - "type": "string", - "readOnly": true, - "description": "The resource type." - } - } - }, - "keyName": { + "content": {}, + "contentType": { "type": "string", - "description": "The private key name in key vault." + "description": "The content type." }, - "keyVersion": { - "type": "string", - "description": "The private key version in key vault." + "contentLink": { + "$ref": "#/definitions/ContentLink", + "description": "The content link." } }, - "description": "The reference to the key vault key." + "allOf": [ + { + "$ref": "#/definitions/ArtifactProperties" + } + ] }, - "IntegrationAccountSessionFilter": { + "ArtifactProperties": { "type": "object", - "required": [ - "changedTime" - ], + "additionalProperties": false, + "description": "The artifact properties definition.", "properties": { + "createdTime": { + "type": "string", + "format": "date-time", + "description": "The artifact creation time." + }, "changedTime": { "type": "string", "format": "date-time", - "description": "The changed time of integration account sessions." - } - }, - "description": "The integration account session filter." + "description": "The artifact changed time." + }, + "metadata": {} + } }, - "IntegrationAccountSessionListResult": { + "BatchConfigurationCollection": { "type": "object", + "description": "A collection of batch configurations.", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/IntegrationAccountSession" - }, - "description": "The list of integration account sessions." - }, - "nextLink": { - "type": "string", - "description": "The URL to get the next set of results." + "$ref": "#/definitions/BatchConfiguration" + } } - }, - "description": "The list of integration account sessions." + } }, - "IntegrationAccountSession": { + "BatchConfiguration": { "type": "object", + "description": "The batch configuration resource definition.", + "additionalProperties": false, "required": [ "properties" ], "properties": { "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/IntegrationAccountSessionProperties", - "description": "The integration account session properties." + "$ref": "#/definitions/BatchConfigurationProperties", + "description": "The batch configuration properties." } }, "allOf": [ { "$ref": "#/definitions/Resource" } - ], - "description": "The integration account session." + ] }, - "IntegrationAccountSessionProperties": { + "BatchConfigurationProperties": { "type": "object", + "description": "The batch configuration properties definition.", + "additionalProperties": false, + "required": [ + "batchGroupName", + "releaseCriteria" + ], "properties": { + "batchGroupName": { + "type": "string", + "description": "The name of the batch group." + }, + "releaseCriteria": { + "$ref": "#/definitions/BatchReleaseCriteria", + "description": "The batch release criteria." + }, "createdTime": { "type": "string", "format": "date-time", - "readOnly": true, "description": "The created time." }, "changedTime": { "type": "string", "format": "date-time", - "readOnly": true, "description": "The changed time." - }, - "content": { - "$ref": "#/definitions/Object", - "description": "The session content." } }, - "description": "The integration account session properties." + "allOf": [ + { + "$ref": "#/definitions/ArtifactProperties" + } + ] }, - "Operation": { - "description": "Logic REST API operation", + "BatchReleaseCriteria": { "type": "object", + "additionalProperties": false, + "description": "The batch release criteria.", "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}", - "type": "string" + "messageCount": { + "type": "integer", + "format": "int32", + "description": "The message count." }, - "display": { - "description": "The object that represents the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft.Logic", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed: Profile, endpoint, etc.", - "type": "string" - }, - "operation": { - "description": "Operation type: Read, write, delete, etc.", - "type": "string" - } - } + "batchSize": { + "type": "integer", + "format": "int32", + "description": "The batch size in bytes." + }, + "recurrence": { + "$ref": "#/definitions/WorkflowTriggerRecurrence", + "description": "The recurrence." } } }, - "OperationListResult": { - "description": "Result of the request to list Logic operations. It contains a list of operations and a URL link to get the next set of results.", + "RequestHistoryListResult": { + "type": "object", "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Operation" + "$ref": "#/definitions/RequestHistory" }, - "description": "List of Logic operations supported by the Logic resource provider." + "description": "A list of workflow request histories." }, "nextLink": { "type": "string", - "description": "URL to get the next set of operation list results if there are any." + "description": "The URL to get the next set of results." + } + }, + "description": "The list of workflow request histories." + }, + "RequestHistory": { + "type": "object", + "additionalProperties": false, + "description": "The request history.", + "properties": { + "properties": { + "$ref": "#/definitions/RequestHistoryProperties", + "description": "The request history properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ] + }, + "RequestHistoryProperties": { + "type": "object", + "additionalProperties": false, + "description": "The request history.", + "properties": { + "startTime": { + "type": "string", + "format": "date-time", + "description": "The time the request started." + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The time the request ended." + }, + "request": { + "$ref": "#/definitions/Request", + "description": "The request." + }, + "response": { + "$ref": "#/definitions/Response", + "description": "The response." } } }, - "ErrorResponse": { - "description": "Error reponse indicates Logic service is not able to process the incoming request. The error property contains the error details.", + "Request": { "type": "object", + "additionalProperties": false, + "description": "A request.", "properties": { - "error": { - "$ref": "#/definitions/ErrorProperties", - "description": "The error properties." + "headers": { + "$ref": "#/definitions/Object", + "description": "A list of all the headers attached to the request." + }, + "uri": { + "type": "string", + "description": "The destination for the request." + }, + "method": { + "type": "string", + "description": "The HTTP method used for the request." } } }, - "ErrorProperties": { - "description": "Error properties indicate why the Logic service was not able to process the incoming request. The reason is provided in the error message.", + "Response": { "type": "object", + "additionalProperties": false, + "description": "A response.", "properties": { - "code": { - "description": "Error code.", - "type": "string" + "headers": { + "$ref": "#/definitions/Object", + "description": "A list of all the headers attached to the response." }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" + "statusCode": { + "type": "integer", + "format": "int32", + "description": "The status code of the response." + }, + "bodyLink": { + "$ref": "#/definitions/ContentLink", + "description": "Details on the location of the body content." } } } @@ -7244,4 +13040,4 @@ "type": "string" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/AccountFilters.json b/App_Data/SwaggerSpecs/Microsoft.Media/AccountFilters.json index f9481023..733ba040 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/AccountFilters.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/AccountFilters.json @@ -6,7 +6,7 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, "host": "management.azure.com", "consumes": [ @@ -56,7 +56,7 @@ }, "forceEndTimestamp": { "type": "boolean", - "description": "The indicator of forcing exsiting of end time stamp." + "description": "The indicator of forcing existing of end time stamp." } }, "type": "object", @@ -108,7 +108,7 @@ }, "value": { "type": "string", - "description": "The track proprty value." + "description": "The track property value." }, "operation": { "type": "string", @@ -195,52 +195,22 @@ "AccountFilter": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/MediaFilterProperties", "x-ms-client-flatten": true - } - }, - "type": "object", - "description": "An Account Filter." - }, - "ODataError": { - "properties": { - "code": { - "type": "string", - "description": "A language-independent error name." - }, - "message": { - "type": "string", - "description": "The error message." - }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." - } - }, - "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", - "description": "The API error." + "description": "An Account Filter." }, "AccountFilterCollection": { "properties": { @@ -276,7 +246,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -299,7 +269,7 @@ }, "x-ms-examples": { "List all Account Filters": { - "$ref": "./examples/accountFilters-list-all.json" + "$ref": "examples/accountFilters-list-all.json" } } } @@ -316,13 +286,10 @@ "$ref": "#/definitions/AccountFilter" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -349,7 +316,7 @@ ], "x-ms-examples": { "Get an Account Filter by name": { - "$ref": "./examples/accountFilters-get-by-name.json" + "$ref": "examples/accountFilters-get-by-name.json" } } }, @@ -373,7 +340,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -409,7 +376,7 @@ ], "x-ms-examples": { "Create an Account Filter": { - "$ref": "./examples/accountFilters-create.json" + "$ref": "examples/accountFilters-create.json" } } }, @@ -427,7 +394,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -454,7 +421,7 @@ ], "x-ms-examples": { "Delete an Account Filter": { - "$ref": "./examples/accountFilters-delete.json" + "$ref": "examples/accountFilters-delete.json" } } }, @@ -472,7 +439,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -508,7 +475,7 @@ ], "x-ms-examples": { "Update an Account Filter": { - "$ref": "./examples/accountFilters-update.json" + "$ref": "examples/accountFilters-update.json" } } } @@ -543,7 +510,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/Accounts.json b/App_Data/SwaggerSpecs/Microsoft.Media/Accounts.json index 4f6453df..a97ceddf 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/Accounts.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/Accounts.json @@ -6,7 +6,7 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, "host": "management.azure.com", "consumes": [ @@ -27,19 +27,6 @@ } }, "definitions": { - "Provider": { - "description": "A resource provider.", - "properties": { - "providerName": { - "description": "The provider name.", - "type": "string" - } - }, - "type": "object", - "required": [ - "providerName" - ] - }, "OperationDisplay": { "properties": { "provider": { @@ -84,7 +71,7 @@ "type": "object", "description": "A metric dimension." }, - "Metric": { + "MetricSpecification": { "properties": { "name": { "type": "string", @@ -159,6 +146,42 @@ "readOnly": true, "x-nullable": false }, + "lockAggregationType": { + "type": "string", + "enum": [ + "Average", + "Count", + "Total" + ], + "x-ms-enum": { + "name": "MetricAggregationType", + "values": [ + { + "value": "Average", + "description": "The average." + }, + { + "value": "Count", + "description": "The count of a number of items, usually requests." + }, + { + "value": "Total", + "description": "The sum." + } + ], + "modelAsString": true + }, + "description": "The metric lock aggregation type", + "readOnly": true, + "x-nullable": true + }, + "supportedAggregationTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Supported aggregation types." + }, "dimensions": { "type": "array", "items": { @@ -166,17 +189,60 @@ }, "description": "The metric dimensions.", "readOnly": true + }, + "enableRegionalMdmAccount": { + "type": "boolean", + "description": "Indicates whether regional MDM account is enabled.", + "readOnly": true, + "x-nullable": false + }, + "sourceMdmAccount": { + "type": "string", + "description": "The source MDM account.", + "readOnly": true + }, + "sourceMdmNamespace": { + "type": "string", + "description": "The source MDM namespace.", + "readOnly": true + }, + "supportedTimeGrainTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The supported time grain types.", + "readOnly": true } }, "type": "object", "description": "A metric emitted by service." }, + "Properties": { + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "The service specifications.", + "readOnly": true + } + }, + "type": "object", + "description": "The service specification property." + }, "ServiceSpecification": { "properties": { + "logSpecifications": { + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "description": "List of log specifications.", + "readOnly": true + }, "metricSpecifications": { "type": "array", "items": { - "$ref": "#/definitions/Metric" + "$ref": "#/definitions/MetricSpecification" }, "description": "List of metric specifications.", "readOnly": true @@ -185,16 +251,26 @@ "type": "object", "description": "The service metric specifications." }, - "MetricProperties": { + "LogSpecification": { "properties": { - "serviceSpecification": { - "$ref": "#/definitions/ServiceSpecification", - "description": "The service specifications.", + "name": { + "type": "string", + "description": "The diagnostic log category name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The diagnostic log category display name.", + "readOnly": true + }, + "blobDuration": { + "type": "string", + "description": "The time range for requests in each blob.", "readOnly": true } }, "type": "object", - "description": "Metric properties." + "description": "A diagnostic log emitted by service." }, "Operation": { "description": "An operation.", @@ -212,19 +288,31 @@ "description": "Origin of the operation." }, "properties": { - "$ref": "#/definitions/MetricProperties", + "$ref": "#/definitions/Properties", "description": "Operation properties format." - } - }, - "type": "object", - "required": [ - "name" - ] - }, - "Location": { - "properties": { - "name": { - "type": "string" + }, + "isDataAction": { + "type": "boolean", + "description": "Whether the operation applies to data-plane.", + "x-nullable": true + }, + "actionType": { + "type": "string", + "enum": [ + "Internal" + ], + "x-ms-enum": { + "name": "ActionType", + "values": [ + { + "value": "Internal", + "description": "An internal action." + } + ], + "modelAsString": true + }, + "description": "Indicates the action type.", + "x-nullable": true } }, "type": "object", @@ -280,6 +368,15 @@ "modelAsString": true }, "description": "The type of the storage account." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The storage account identity." + }, + "status": { + "type": "string", + "description": "The current status of the storage account mapping.", + "readOnly": true } }, "type": "object", @@ -313,6 +410,59 @@ "$ref": "#/definitions/StorageAccount" }, "description": "The storage accounts for this resource." + }, + "storageAuthentication": { + "type": "string", + "enum": [ + "System", + "ManagedIdentity" + ], + "x-ms-enum": { + "name": "StorageAuthentication", + "values": [ + { + "value": "System", + "description": "System authentication." + }, + { + "value": "ManagedIdentity", + "description": "Managed Identity authentication." + } + ], + "modelAsString": true + }, + "x-nullable": true + }, + "encryption": { + "$ref": "#/definitions/AccountEncryption", + "description": "The account encryption properties." + }, + "keyDelivery": { + "$ref": "#/definitions/KeyDelivery", + "description": "The Key Delivery properties for Media Services account." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "values": [ + { + "value": "Enabled", + "description": "Public network access is enabled." + }, + { + "value": "Disabled", + "description": "Public network access is disabled." + } + ], + "modelAsString": true + }, + "description": "Whether or not public network access is allowed for resources under the Media Services account.", + "x-nullable": true } }, "type": "object", @@ -322,7 +472,7 @@ "description": "A Media Services account.", "allOf": [ { - "$ref": "./Common.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], "properties": { @@ -330,126 +480,317 @@ "$ref": "#/definitions/MediaServiceProperties", "description": "The resource properties.", "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/MediaServiceIdentity", + "description": "The Managed Identity for the Media Services account." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object" }, - "SubscriptionMediaService": { - "description": "A Media Services account.", - "allOf": [ - { - "$ref": "./Common.json#/definitions/TrackedResource" - } - ], + "MediaServiceUpdate": { + "description": "A Media Services account update.", "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, "properties": { "$ref": "#/definitions/MediaServiceProperties", "description": "The resource properties.", "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/MediaServiceIdentity", + "description": "The Managed Identity for the Media Services account." + } + }, + "type": "object" + }, + "ListEdgePoliciesInput": { + "properties": { + "deviceId": { + "type": "string", + "description": "Unique identifier of the edge device." } }, "type": "object" }, - "ODataError": { + "EdgeUsageDataEventHub": { "properties": { - "code": { + "name": { "type": "string", - "description": "A language-independent error name." + "description": "Name of the Event Hub where usage will be reported." }, - "message": { + "namespace": { + "type": "string", + "description": "Namespace of the Event Hub where usage will be reported." + }, + "token": { + "type": "string", + "description": "SAS token needed to interact with Event Hub." + } + }, + "type": "object" + }, + "EdgeUsageDataCollectionPolicy": { + "properties": { + "dataCollectionFrequency": { "type": "string", - "description": "The error message." + "description": "Usage data collection frequency in ISO 8601 duration format e.g. PT10M , PT5H." }, - "target": { + "dataReportingFrequency": { "type": "string", - "description": "The target of the error (for example, the name of the property in error)." + "description": "Usage data reporting frequency in ISO 8601 duration format e.g. PT10M , PT5H." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." + "maxAllowedUnreportedUsageDuration": { + "type": "string", + "description": "Maximum time for which the functionality of the device will not be hampered for not reporting the usage data." + }, + "eventHubDetails": { + "$ref": "#/definitions/EdgeUsageDataEventHub", + "description": "Details of Event Hub where the usage will be reported." } }, - "type": "object", - "description": "Information about an error." + "type": "object" }, - "ApiError": { + "EdgePolicies": { "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." + "usageDataCollectionPolicy": { + "$ref": "#/definitions/EdgeUsageDataCollectionPolicy" } }, - "type": "object", - "description": "The API error." + "type": "object" }, - "OperationCollection": { + "MediaServiceIdentity": { "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" - }, - "description": "A collection of Operation items." + "type": { + "type": "string", + "description": "The identity type." }, - "@odata.nextLink": { + "principalId": { "type": "string", - "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + "format": "uuid", + "description": "The Principal ID of the identity.", + "readOnly": true, + "x-nullable": true + }, + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Tenant ID of the identity.", + "readOnly": true, + "x-nullable": true + }, + "userAssignedIdentities": { + "$ref": "#/definitions/UserAssignedManagedIdentities", + "description": "The user assigned managed identities." } }, "type": "object", - "description": "A collection of Operation items." + "required": [ + "type" + ] }, - "MediaServiceCollection": { + "UserAssignedManagedIdentity": { "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/MediaService" - }, - "description": "A collection of MediaService items." + "clientId": { + "type": "string", + "format": "uuid", + "description": "The client ID.", + "readOnly": true, + "x-nullable": true }, - "@odata.nextLink": { + "principalId": { "type": "string", - "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + "format": "uuid", + "description": "The principal ID.", + "readOnly": true, + "x-nullable": true } }, + "type": "object" + }, + "UserAssignedManagedIdentities": { "type": "object", - "description": "A collection of MediaService items." + "description": "The User Assigned Managed Identities.", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedManagedIdentity" + } }, - "CheckNameAvailabilityInput": { - "description": "The input to the check name availability request.", + "KeyVaultProperties": { "properties": { - "name": { - "description": "The account name.", - "type": "string" + "keyIdentifier": { + "type": "string", + "description": "The URL of the Key Vault key used to encrypt the account. The key may either be versioned (for example https://vault/keys/mykey/version1) or reference a key without a version (for example https://vault/keys/mykey)." }, - "type": { - "description": "The account type. For a Media Services account, this should be 'MediaServices'.", - "type": "string" + "currentKeyIdentifier": { + "type": "string", + "description": "The current key used to encrypt the Media Services account, including the key version.", + "readOnly": true } }, "type": "object" }, - "SubscriptionMediaServiceCollection": { + "ResourceIdentity": { "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/SubscriptionMediaService" + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned managed identity's ARM ID to use when accessing a resource." + }, + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "Indicates whether to use System Assigned Managed Identity. Mutual exclusive with User Assigned Managed Identity." + } + }, + "type": "object", + "required": [ + "useSystemAssignedIdentity" + ] + }, + "AccountEncryption": { + "properties": { + "type": { + "type": "string", + "enum": [ + "SystemKey", + "CustomerKey" + ], + "x-ms-enum": { + "name": "AccountEncryptionKeyType", + "values": [ + { + "value": "SystemKey", + "description": "The Account Key is encrypted with a System Key." + }, + { + "value": "CustomerKey", + "description": "The Account Key is encrypted with a Customer Key." + } + ], + "modelAsString": true }, - "description": "A collection of SubscriptionMediaService items." + "description": "The type of key used to encrypt the Account Key." }, - "@odata.nextLink": { + "keyVaultProperties": { + "$ref": "#/definitions/KeyVaultProperties", + "description": "The properties of the key used to encrypt the account." + }, + "identity": { + "$ref": "#/definitions/ResourceIdentity", + "description": "The Key Vault identity." + }, + "status": { "type": "string", - "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + "description": "The current status of the Key Vault mapping.", + "readOnly": true } }, "type": "object", - "description": "A collection of SubscriptionMediaService items." - } + "required": [ + "type" + ] + }, + "AccessControl": { + "properties": { + "defaultAction": { + "type": "string", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "values": [ + { + "value": "Allow", + "description": "All public IP addresses are allowed." + }, + { + "value": "Deny", + "description": "Public IP addresses are blocked." + } + ], + "modelAsString": true + }, + "description": "The behavior for IP access control in Key Delivery." + }, + "ipAllowList": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The IP allow list for access control in Key Delivery. If the default action is set to 'Allow', the IP allow list must be empty." + } + }, + "type": "object" + }, + "KeyDelivery": { + "properties": { + "accessControl": { + "$ref": "#/definitions/AccessControl", + "description": "The access control properties for Key Delivery." + } + }, + "type": "object" + }, + "OperationCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "A collection of Operation items." + } + }, + "type": "object", + "description": "A collection of Operation items." + }, + "MediaServiceCollection": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MediaService" + }, + "description": "A collection of MediaService items." + }, + "@odata.nextLink": { + "type": "string", + "description": "A link to the next page of the collection (when the collection contains too many results to return in one response)." + } + }, + "type": "object", + "description": "A collection of MediaService items." + }, + "CheckNameAvailabilityInput": { + "description": "The input to the check name availability request.", + "properties": { + "name": { + "description": "The account name.", + "type": "string" + }, + "type": { + "description": "The account type. For a Media Services account, this should be 'MediaServices'.", + "type": "string" + } + }, + "type": "object" + } }, "paths": { "/providers/Microsoft.Media/operations": { @@ -467,7 +808,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -476,12 +817,9 @@ "$ref": "#/parameters/ApiVersion" } ], - "x-ms-pageable": { - "nextLinkName": "@odata.nextLink" - }, "x-ms-examples": { "List Operations": { - "$ref": "./examples/operations-list-all.json" + "$ref": "examples/operations-list-all.json" } } } @@ -501,7 +839,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -521,7 +859,7 @@ }, "x-ms-examples": { "List all Media Services accounts": { - "$ref": "./examples/accounts-list-all-accounts.json" + "$ref": "examples/accounts-list-all-accounts.json" } } } @@ -541,7 +879,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -565,7 +903,7 @@ ], "x-ms-examples": { "Get a Media Services account by name": { - "$ref": "./examples/accounts-get-by-name.json" + "$ref": "examples/accounts-get-by-name.json" } } }, @@ -589,7 +927,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -622,7 +960,7 @@ ], "x-ms-examples": { "Create a Media Services account": { - "$ref": "./examples/accounts-create.json" + "$ref": "examples/accounts-create.json" } } }, @@ -634,10 +972,13 @@ "200": { "description": "OK" }, + "204": { + "description": "NoContent" + }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -661,7 +1002,7 @@ ], "x-ms-examples": { "Delete a Media Services account": { - "$ref": "./examples/accounts-delete.json" + "$ref": "examples/accounts-delete.json" } } }, @@ -679,7 +1020,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -702,7 +1043,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/MediaService" + "$ref": "#/definitions/MediaServiceUpdate" }, "description": "The request parameters" }, @@ -712,7 +1053,7 @@ ], "x-ms-examples": { "Update a Media Services accounts": { - "$ref": "./examples/accounts-update.json" + "$ref": "examples/accounts-update.json" } } } @@ -729,7 +1070,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -762,27 +1103,27 @@ ], "x-ms-examples": { "Synchronizes Storage Account Keys": { - "$ref": "./examples/accounts-sync-storage-keys.json" + "$ref": "examples/accounts-sync-storage-keys.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/listEdgePolicies": { "post": { - "summary": "Check Name Availability", - "description": "Checks whether the Media Service resource name is available.", - "operationId": "Locations_CheckNameAvailability", + "summary": "List the media edge policies associated with the Media Services account.", + "description": "List the media edge policies associated with the Media Services account.", + "operationId": "Mediaservices_ListEdgePolicies", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EntityNameAvailabilityCheckOutput" + "$ref": "#/definitions/EdgePolicies" } }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -791,18 +1132,21 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "locationName", + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", "in": "path", "required": true, "type": "string", - "description": "The name of the location" + "description": "The Media Services account name." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CheckNameAvailabilityInput" + "$ref": "#/definitions/ListEdgePoliciesInput" }, "description": "The request parameters" }, @@ -811,28 +1155,28 @@ } ], "x-ms-examples": { - "Check Name Availability": { - "$ref": "./examples/accounts-check-name-availability.json" + "List the media edge policies.": { + "$ref": "examples/accounts-list-media-edge-policies.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources": { "get": { - "summary": "List Media Services accounts", - "description": "List Media Services accounts in the subscription.", - "operationId": "Mediaservices_ListBySubscription", + "summary": "Get list of group IDs.", + "description": "Get list of group IDs.", + "operationId": "PrivateLinkResources_List", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SubscriptionMediaServiceCollection" + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResourceListResult" } }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -840,36 +1184,93 @@ { "$ref": "#/parameters/SubscriptionId" }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, { "$ref": "#/parameters/ApiVersion" } ], - "x-ms-pageable": { - "nextLinkName": "@odata.nextLink" + "x-ms-examples": { + "Get list of all group IDs.": { + "$ref": "examples/private-link-resources-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateLinkResources/{name}": { + "get": { + "summary": "Get group ID.", + "description": "Get group ID.", + "operationId": "PrivateLinkResources_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], "x-ms-examples": { - "List all Media Services accounts": { - "$ref": "./examples/accounts-subscription-list-all-accounts.json" + "Get details of a group ID.": { + "$ref": "examples/private-link-resources-get-by-name.json" } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices/{accountName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections": { "get": { - "summary": "Get a Media Services account", - "description": "Get the details of a Media Services account", - "operationId": "Mediaservices_GetBySubscription", + "summary": "Get all private endpoint connections.", + "description": "Get all private endpoint connections.", + "operationId": "PrivateEndpointConnections_List", "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/SubscriptionMediaService" + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" } }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -878,10 +1279,63 @@ "$ref": "#/parameters/SubscriptionId" }, { - "description": "The Media Services account name.", + "$ref": "#/parameters/ResourceGroupName" + }, + { "name": "accountName", "in": "path", "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Get all private endpoint connections.": { + "$ref": "examples/private-endpoint-connection-list.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/privateEndpointConnections/{name}": { + "get": { + "summary": "Get private endpoint connection.", + "description": "Get private endpoint connection.", + "operationId": "PrivateEndpointConnections_Get", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, "type": "string" }, { @@ -889,8 +1343,200 @@ } ], "x-ms-examples": { - "Get a Media Services account by name": { - "$ref": "./examples/accounts-subscription-get-by-name.json" + "Get private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-get-by-name.json" + } + } + }, + "put": { + "summary": "Update private endpoint connection.", + "description": "Update private endpoint connection.", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Update private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-put.json" + } + } + }, + "delete": { + "summary": "Delete private endpoint connection.", + "description": "Delete private endpoint connection.", + "operationId": "PrivateEndpointConnections_Delete", + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "NoContent" + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The Media Services account name." + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Delete private endpoint connection.": { + "$ref": "examples/private-endpoint-connection-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/locations/{locationName}/checkNameAvailability": { + "post": { + "summary": "Check Name Availability", + "description": "Checks whether the Media Service resource name is available.", + "operationId": "Locations_CheckNameAvailability", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/EntityNameAvailabilityCheckOutput" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "locationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the location" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + }, + "description": "The request parameters" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-examples": { + "Check Name Availability": { + "$ref": "examples/accounts-check-name-availability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Media/mediaservices": { + "get": { + "summary": "List Media Services accounts", + "description": "List Media Services accounts in the subscription.", + "operationId": "Mediaservices_ListBySubscription", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MediaServiceCollection" + } + }, + "default": { + "description": "Detailed error information.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "x-ms-pageable": { + "nextLinkName": "@odata.nextLink" + }, + "x-ms-examples": { + "List all Media Services accounts": { + "$ref": "examples/accounts-subscription-list-all-accounts.json" } } } @@ -917,7 +1563,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/AssetsAndAssetFilters.json b/App_Data/SwaggerSpecs/Microsoft.Media/AssetsAndAssetFilters.json index c9b1d873..19977db7 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/AssetsAndAssetFilters.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/AssetsAndAssetFilters.json @@ -6,7 +6,7 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, "host": "management.azure.com", "consumes": [ @@ -218,7 +218,7 @@ "Asset": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { @@ -226,6 +226,11 @@ "$ref": "#/definitions/AssetProperties", "description": "The resource properties.", "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", @@ -260,7 +265,7 @@ }, "forceEndTimestamp": { "type": "boolean", - "description": "The indicator of forcing exsiting of end time stamp." + "description": "The indicator of forcing existing of end time stamp." } }, "type": "object", @@ -312,7 +317,7 @@ }, "value": { "type": "string", - "description": "The track proprty value." + "description": "The track property value." }, "operation": { "type": "string", @@ -399,52 +404,22 @@ "AssetFilter": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/MediaFilterProperties", "x-ms-client-flatten": true - } - }, - "type": "object", - "description": "An Asset Filter." - }, - "ODataError": { - "properties": { - "code": { - "type": "string", - "description": "A language-independent error name." - }, - "message": { - "type": "string", - "description": "The error message." - }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." - } - }, - "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", - "description": "The API error." + "description": "An Asset Filter." }, "AssetCollection": { "properties": { @@ -535,7 +510,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -564,6 +539,7 @@ "in": "query", "required": false, "type": "integer", + "format": "int32", "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." }, { @@ -571,7 +547,7 @@ "in": "query", "required": false, "type": "string", - "description": "Specifies the the key by which the result collection should be ordered." + "description": "Specifies the key by which the result collection should be ordered." } ], "x-ms-pageable": { @@ -580,13 +556,13 @@ "x-ms-odata": "#/definitions/Asset", "x-ms-examples": { "List all Assets": { - "$ref": "./examples/assets-list-all.json" + "$ref": "examples/assets-list-all.json" }, "List Asset ordered by date": { - "$ref": "./examples/assets-list-by-date.json" + "$ref": "examples/assets-list-by-date.json" }, "List Asset created in a date range": { - "$ref": "./examples/assets-list-in-date-range.json" + "$ref": "examples/assets-list-in-date-range.json" } } } @@ -603,13 +579,10 @@ "$ref": "#/definitions/Asset" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -636,7 +609,7 @@ ], "x-ms-examples": { "Get an Asset by name": { - "$ref": "./examples/assets-get-by-name.json" + "$ref": "examples/assets-get-by-name.json" } } }, @@ -660,7 +633,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -696,7 +669,7 @@ ], "x-ms-examples": { "Create an Asset": { - "$ref": "./examples/assets-create.json" + "$ref": "examples/assets-create.json" } } }, @@ -714,7 +687,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -741,7 +714,7 @@ ], "x-ms-examples": { "Delete an Asset": { - "$ref": "./examples/assets-delete.json" + "$ref": "examples/assets-delete.json" } } }, @@ -759,7 +732,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -795,7 +768,7 @@ ], "x-ms-examples": { "Update an Asset": { - "$ref": "./examples/assets-update.json" + "$ref": "examples/assets-update.json" } } } @@ -815,7 +788,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -851,7 +824,7 @@ ], "x-ms-examples": { "List Asset SAS URLs": { - "$ref": "./examples/assets-list-sas-urls.json" + "$ref": "examples/assets-list-sas-urls.json" } } } @@ -871,7 +844,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -898,7 +871,7 @@ ], "x-ms-examples": { "Get Asset Storage Encryption Keys": { - "$ref": "./examples/assets-get-encryption-keys.json" + "$ref": "examples/assets-get-encryption-keys.json" } } } @@ -918,7 +891,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -945,7 +918,7 @@ ], "x-ms-examples": { "List Asset SAS URLs": { - "$ref": "./examples/assets-list-streaming-locators.json" + "$ref": "examples/assets-list-streaming-locators.json" } } } @@ -965,7 +938,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -995,7 +968,7 @@ }, "x-ms-examples": { "List all Asset Filters": { - "$ref": "./examples/assetFilters-list-all.json" + "$ref": "examples/assetFilters-list-all.json" } } } @@ -1012,13 +985,10 @@ "$ref": "#/definitions/AssetFilter" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1052,7 +1022,7 @@ ], "x-ms-examples": { "Get an Asset Filter by name": { - "$ref": "./examples/assetFilters-get-by-name.json" + "$ref": "examples/assetFilters-get-by-name.json" } } }, @@ -1076,7 +1046,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1119,7 +1089,7 @@ ], "x-ms-examples": { "Create an Asset Filter": { - "$ref": "./examples/assetFilters-create.json" + "$ref": "examples/assetFilters-create.json" } } }, @@ -1137,7 +1107,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1171,7 +1141,7 @@ ], "x-ms-examples": { "Delete an Asset Filter": { - "$ref": "./examples/assetFilters-delete.json" + "$ref": "examples/assetFilters-delete.json" } } }, @@ -1189,7 +1159,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1232,7 +1202,7 @@ ], "x-ms-examples": { "Update an Asset Filter": { - "$ref": "./examples/assetFilters-update.json" + "$ref": "examples/assetFilters-update.json" } } } @@ -1267,7 +1237,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/Common.json b/App_Data/SwaggerSpecs/Microsoft.Media/Common.json index bea6dd7c..47062ce0 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/Common.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/Common.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "Azure Media Services", - "version": "2018-07-01" + "version": "2020-05-01" }, "securityDefinitions": { "azure_auth": { @@ -17,64 +17,40 @@ }, "paths": {}, "definitions": { - "Resource": { - "description": "The core properties of ARM resources.", + "ODataError": { "properties": { - "id": { - "readOnly": true, + "code": { "type": "string", - "description": "Fully qualified resource ID for the resource." + "description": "A language-independent error name." }, - "name": { - "readOnly": true, + "message": { "type": "string", - "description": "The name of the resource." + "description": "The error message." }, - "type": { - "readOnly": true, + "target": { "type": "string", - "description": "The type of the resource." + "description": "The target of the error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/ODataError" + }, + "description": "The error details." } }, - "x-ms-azure-resource": true + "type": "object", + "description": "Information about an error." }, - "TrackedResource": { - "description": "The resource model definition for a ARM tracked resource.", + "ApiError": { "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "x-ms-mutability": [ - "read", - "create", - "update" - ], - "description": "Resource tags." - }, - "location": { - "type": "string", - "x-ms-mutability": [ - "read", - "create" - ], - "description": "The Azure Region of the resource." + "error": { + "$ref": "#/definitions/ODataError", + "description": "The error properties." } }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] - }, - "ProxyResource": { - "description": "The resource model definition for a ARM proxy resource.", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ] + "type": "object", + "description": "The API error." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/ContentKeyPolicies.json b/App_Data/SwaggerSpecs/Microsoft.Media/ContentKeyPolicies.json index 715c1f36..4a7551a2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/ContentKeyPolicies.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/ContentKeyPolicies.json @@ -6,9 +6,9 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, - "host": "management.azure.com", + "host": "management.azure.com", "consumes": [ "application/json" ], @@ -82,7 +82,8 @@ "keyId": { "type": "string", "format": "uuid", - "description": "The content key ID." + "description": "The content key ID.", + "x-nullable": true } }, "type": "object", @@ -388,7 +389,8 @@ "keyValue": { "type": "string", "format": "byte", - "description": "The key value of the key" + "description": "The key value of the key", + "x-nullable": true } }, "type": "object", @@ -408,12 +410,14 @@ "exponent": { "type": "string", "format": "byte", - "description": "The RSA Parameter exponent" + "description": "The RSA Parameter exponent", + "x-nullable": true }, "modulus": { "type": "string", "format": "byte", - "description": "The RSA Parameter modulus" + "description": "The RSA Parameter modulus", + "x-nullable": true } }, "type": "object", @@ -434,7 +438,8 @@ "rawBody": { "type": "string", "format": "byte", - "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)" + "description": "The raw data field of a certificate in PKCS 12 format (X509Certificate2 in .NET)", + "x-nullable": true } }, "type": "object", @@ -585,6 +590,25 @@ ], "description": "Specifies a configuration for PlayReady licenses." }, + "ContentKeyPolicyFairPlayOfflineRentalConfiguration": { + "properties": { + "playbackDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Playback duration" + }, + "storageDurationSeconds": { + "type": "integer", + "format": "int64", + "description": "Storage duration" + } + }, + "type": "object", + "required": [ + "playbackDurationSeconds", + "storageDurationSeconds" + ] + }, "ContentKeyPolicyFairPlayConfiguration": { "x-ms-discriminator-value": "#Microsoft.Media.ContentKeyPolicyFairPlayConfiguration", "allOf": [ @@ -596,21 +620,25 @@ "ask": { "type": "string", "format": "byte", - "description": "The key that must be used as FairPlay Application Secret key." + "description": "The key that must be used as FairPlay Application Secret key.", + "x-nullable": true }, "fairPlayPfxPassword": { "type": "string", - "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format." + "description": "The password encrypting FairPlay certificate in PKCS 12 (pfx) format.", + "x-nullable": true }, "fairPlayPfx": { "type": "string", - "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key)." + "description": "The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).", + "x-nullable": true }, "rentalAndLeaseKeyType": { "type": "string", "enum": [ "Unknown", "Undefined", + "DualExpiry", "PersistentUnlimited", "PersistentLimited" ], @@ -625,6 +653,10 @@ "value": "Undefined", "description": "Key duration is not specified." }, + { + "value": "DualExpiry", + "description": "Dual expiry for offline rental." + }, { "value": "PersistentUnlimited", "description": "Content key can be persisted with an unlimited duration" @@ -642,6 +674,10 @@ "type": "integer", "format": "int64", "description": "The rental duration. Must be greater than or equal to 0." + }, + "offlineRentalConfiguration": { + "$ref": "#/definitions/ContentKeyPolicyFairPlayOfflineRentalConfiguration", + "description": "Offline rental policy" } }, "type": "object", @@ -727,52 +763,22 @@ "ContentKeyPolicy": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/ContentKeyPolicyProperties", "x-ms-client-flatten": true - } - }, - "type": "object", - "description": "A Content Key Policy resource." - }, - "ODataError": { - "properties": { - "code": { - "type": "string", - "description": "A language-independent error name." - }, - "message": { - "type": "string", - "description": "The error message." }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." - } - }, - "type": "object", - "description": "The API error." + "description": "A Content Key Policy resource." }, "ContentKeyPolicyCollection": { "properties": { @@ -808,7 +814,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -837,6 +843,7 @@ "in": "query", "required": false, "type": "integer", + "format": "int32", "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." }, { @@ -844,7 +851,7 @@ "in": "query", "required": false, "type": "string", - "description": "Specifies the the key by which the result collection should be ordered." + "description": "Specifies the key by which the result collection should be ordered." } ], "x-ms-pageable": { @@ -853,13 +860,13 @@ "x-ms-odata": "#/definitions/ContentKeyPolicy", "x-ms-examples": { "Lists all Content Key Policies": { - "$ref": "./examples/content-key-policies-list-all.json" + "$ref": "examples/content-key-policies-list-all.json" }, - "Lists Content Key Policies ordered by last modifed.": { - "$ref": "./examples/content-key-policies-list-by-lastModified.json" + "Lists Content Key Policies ordered by last modified.": { + "$ref": "examples/content-key-policies-list-by-lastModified.json" }, "Lists Content Key Policies with created and last modified filters.": { - "$ref": "./examples/content-key-policies-list-in-date-range.json" + "$ref": "examples/content-key-policies-list-in-date-range.json" } } } @@ -876,13 +883,10 @@ "$ref": "#/definitions/ContentKeyPolicy" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -909,7 +913,7 @@ ], "x-ms-examples": { "Get a Content Key Policy by name": { - "$ref": "./examples/content-key-policies-get-by-name.json" + "$ref": "examples/content-key-policies-get-by-name.json" } } }, @@ -933,7 +937,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -969,16 +973,16 @@ ], "x-ms-examples": { "Creates a Content Key Policy with PlayReady option and Open Restriction": { - "$ref": "./examples/content-key-policies-create-playready-open.json" + "$ref": "examples/content-key-policies-create-playready-open.json" }, "Creates a Content Key Policy with Widevine option and Token Restriction": { - "$ref": "./examples/content-key-policies-create-widevine-token.json" + "$ref": "examples/content-key-policies-create-widevine-token.json" }, "Creates a Content Key Policy with ClearKey option and Token Restriction": { - "$ref": "./examples/content-key-policies-create-nodrm-token.json" + "$ref": "examples/content-key-policies-create-nodrm-token.json" }, "Creates a Content Key Policy with multiple options": { - "$ref": "./examples/content-key-policies-create-multiple-options.json" + "$ref": "examples/content-key-policies-create-multiple-options.json" } } }, @@ -996,7 +1000,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1023,7 +1027,7 @@ ], "x-ms-examples": { "Delete a Key Policy": { - "$ref": "./examples/content-key-policies-delete.json" + "$ref": "examples/content-key-policies-delete.json" } } }, @@ -1041,7 +1045,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1077,7 +1081,7 @@ ], "x-ms-examples": { "Update a Content Key Policy": { - "$ref": "./examples/content-key-policies-update.json" + "$ref": "examples/content-key-policies-update.json" } } } @@ -1094,13 +1098,10 @@ "$ref": "#/definitions/ContentKeyPolicyProperties" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1127,7 +1128,7 @@ ], "x-ms-examples": { "Get an Content Key Policy with secrets": { - "$ref": "./examples/content-key-policies-get-with-secrets.json" + "$ref": "examples/content-key-policies-get-with-secrets.json" } } } @@ -1162,7 +1163,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/Encoding.json b/App_Data/SwaggerSpecs/Microsoft.Media/Encoding.json index b8af74ec..7677a3a1 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/Encoding.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/Encoding.json @@ -6,9 +6,9 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, - "host": "management.azure.com", + "host": "management.azure.com", "consumes": [ "application/json" ], @@ -125,6 +125,583 @@ "type": "object", "description": "Describes Advanced Audio Codec (AAC) audio encoding settings." }, + "Layer": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "width": { + "type": "string", + "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." + }, + "height": { + "type": "string", + "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." + }, + "label": { + "type": "string", + "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." + }, + "H265VideoLayer": { + "x-ms-discriminator-value": "#Microsoft.Media.H265VideoLayer", + "allOf": [ + { + "$ref": "#/definitions/Layer" + } + ], + "properties": { + "bitrate": { + "type": "integer", + "format": "int32", + "description": "The average bitrate in bits per second at which to encode the input video when generating this layer. For example: a target bitrate of 3000Kbps or 3Mbps means this value should be 3000000 This is a required field." + }, + "maxBitrate": { + "type": "integer", + "format": "int32", + "description": "The maximum bitrate (in bits per second), at which the VBV buffer should be assumed to refill. If not specified, defaults to the same value as bitrate." + }, + "bFrames": { + "type": "integer", + "format": "int32", + "description": "The number of B-frames to be used when encoding this layer. If not specified, the encoder chooses an appropriate number based on the video profile and level." + }, + "frameRate": { + "type": "string", + "description": "The frame rate (in frames per second) at which to encode this layer. The value can be in the form of M/N where M and N are integers (For example, 30000/1001), or in the form of a number (For example, 30, or 29.97). The encoder enforces constraints on allowed frame rates based on the profile and level. If it is not specified, the encoder will use the same frame rate as the input video." + }, + "slices": { + "type": "integer", + "format": "int32", + "description": "The number of slices to be used when encoding this layer. If not specified, default is zero, which means that encoder will use a single slice for each frame." + }, + "adaptiveBFrame": { + "type": "boolean", + "description": "Specifies whether or not adaptive B-frames are to be used when encoding this layer. If not specified, the encoder will turn it on whenever the video profile permits its use." + } + }, + "type": "object", + "required": [ + "bitrate" + ], + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer." + }, + "H265Layer": { + "x-ms-discriminator-value": "#Microsoft.Media.H265Layer", + "allOf": [ + { + "$ref": "#/definitions/H265VideoLayer" + } + ], + "properties": { + "profile": { + "type": "string", + "enum": [ + "Auto", + "Main" + ], + "x-ms-enum": { + "name": "H265VideoProfile", + "values": [ + { + "value": "Auto", + "description": "Tells the encoder to automatically determine the appropriate H.265 profile." + }, + { + "value": "Main", + "description": "Main profile (https://x265.readthedocs.io/en/default/cli.html?highlight=profile#profile-level-tier)" + } + ], + "modelAsString": true + }, + "description": "We currently support Main. Default is Auto." + }, + "level": { + "type": "string", + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.265 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + }, + "bufferWindow": { + "type": "string", + "format": "duration", + "description": "The VBV buffer window length. The value should be in ISO 8601 format. The value should be in the range [0.1-100] seconds. The default is 5 seconds (for example, PT5S)." + }, + "referenceFrames": { + "type": "integer", + "format": "int32", + "description": "The number of reference frames to be used when encoding this layer. If not specified, the encoder determines an appropriate number based on the encoder complexity setting." + } + }, + "type": "object", + "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer with the H.265 video codec." + }, + "Video": { + "x-ms-discriminator-value": "#Microsoft.Media.Video", + "allOf": [ + { + "$ref": "#/definitions/Codec" + } + ], + "properties": { + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "The distance between two key frames. The value should be non-zero in the range [0.5, 20] seconds, specified in ISO 8601 format. The default is 2 seconds(PT2S). Note that this setting is ignored if VideoSyncMode.Passthrough is set, where the KeyFrameInterval value will follow the input source setting." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" + }, + "syncMode": { + "type": "string", + "enum": [ + "Auto", + "Passthrough", + "Cfr", + "Vfr" + ], + "x-ms-enum": { + "name": "VideoSyncMode", + "values": [ + { + "value": "Auto", + "description": "This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr." + }, + { + "value": "Passthrough", + "description": "The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior" + }, + { + "value": "Cfr", + "description": "Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value" + }, + { + "value": "Vfr", + "description": "Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input" + } + ], + "modelAsString": true + }, + "description": "The Video Sync Mode" + } + }, + "type": "object", + "description": "Describes the basic properties for encoding the input video." + }, + "H265Video": { + "x-ms-discriminator-value": "#Microsoft.Media.H265Video", + "allOf": [ + { + "$ref": "#/definitions/Video" + } + ], + "properties": { + "sceneChangeDetection": { + "type": "boolean", + "description": "Specifies whether or not the encoder should insert key frames at scene changes. If not specified, the default is false. This flag should be set to true only when the encoder is being configured to produce a single output video." + }, + "complexity": { + "type": "string", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], + "x-ms-enum": { + "name": "H265Complexity", + "values": [ + { + "value": "Speed", + "description": "Tells the encoder to use settings that are optimized for faster encoding. Quality is sacrificed to decrease encoding time." + }, + { + "value": "Balanced", + "description": "Tells the encoder to use settings that achieve a balance between speed and quality." + }, + { + "value": "Quality", + "description": "Tells the encoder to use settings that are optimized to produce higher quality output at the expense of slower overall encode time." + } + ], + "modelAsString": true + }, + "description": "Tells the encoder how to choose its encoding settings. Quality will provide for a higher compression ratio but at a higher cost and longer compute time. Speed will produce a relatively larger file but is faster and more economical. The default value is Balanced." + }, + "layers": { + "type": "array", + "items": { + "$ref": "#/definitions/H265Layer" + }, + "description": "The collection of output H.265 layers to be produced by the encoder." + } + }, + "type": "object", + "description": "Describes all the properties for encoding a video with the H.265 codec." + }, + "TrackDescriptor": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base type for all TrackDescriptor types, which define the metadata and selection for tracks that should be processed by a Job" + }, + "AudioTrackDescriptor": { + "x-ms-discriminator-value": "#Microsoft.Media.AudioTrackDescriptor", + "allOf": [ + { + "$ref": "#/definitions/TrackDescriptor" + } + ], + "properties": { + "channelMapping": { + "type": "string", + "enum": [ + "FrontLeft", + "FrontRight", + "Center", + "LowFrequencyEffects", + "BackLeft", + "BackRight", + "StereoLeft", + "StereoRight" + ], + "x-ms-enum": { + "name": "ChannelMapping", + "values": [ + { + "value": "FrontLeft", + "description": "The Front Left Channel." + }, + { + "value": "FrontRight", + "description": "The Front Right Channel." + }, + { + "value": "Center", + "description": "The Center Channel." + }, + { + "value": "LowFrequencyEffects", + "description": "Low Frequency Effects Channel. Sometimes referred to as the Subwoofer." + }, + { + "value": "BackLeft", + "description": "The Back Left Channel. Sometimes referred to as the Left Surround Channel." + }, + { + "value": "BackRight", + "description": "The Back Right Channel. Sometimes referred to as the Right Surround Channel." + }, + { + "value": "StereoLeft", + "description": "The Left Stereo channel. Sometimes referred to as Down Mix Left." + }, + { + "value": "StereoRight", + "description": "The Right Stereo channel. Sometimes referred to as Down Mix Right." + } + ], + "modelAsString": true + }, + "description": "Optional designation for single channel audio tracks. Can be used to combine the tracks into stereo or multi-channel audio tracks." + } + }, + "type": "object", + "description": "A TrackSelection to select audio tracks." + }, + "SelectAudioTrackByAttribute": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectAudioTrackByAttribute", + "allOf": [ + { + "$ref": "#/definitions/AudioTrackDescriptor" + } + ], + "properties": { + "attribute": { + "type": "string", + "enum": [ + "Bitrate", + "Language" + ], + "x-ms-enum": { + "name": "TrackAttribute", + "values": [ + { + "value": "Bitrate", + "description": "The bitrate of the track." + }, + { + "value": "Language", + "description": "The language of the track." + } + ], + "modelAsString": true + }, + "description": "The TrackAttribute to filter the tracks by." + }, + "filter": { + "type": "string", + "enum": [ + "All", + "Top", + "Bottom", + "ValueEquals" + ], + "x-ms-enum": { + "name": "AttributeFilter", + "values": [ + { + "value": "All", + "description": "All tracks will be included." + }, + { + "value": "Top", + "description": "The first track will be included when the attribute is sorted in descending order. Generally used to select the largest bitrate." + }, + { + "value": "Bottom", + "description": "The first track will be included when the attribute is sorted in ascending order. Generally used to select the smallest bitrate." + }, + { + "value": "ValueEquals", + "description": "Any tracks that have an attribute equal to the value given will be included." + } + ], + "modelAsString": true + }, + "description": "The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks." + }, + "filterValue": { + "type": "string", + "description": "The value to filter the tracks by. Only used when AttributeFilter.ValueEquals is specified for the Filter property." + } + }, + "type": "object", + "required": [ + "attribute", + "filter" + ], + "description": "Select audio tracks from the input by specifying an attribute and an attribute filter." + }, + "SelectAudioTrackById": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectAudioTrackById", + "allOf": [ + { + "$ref": "#/definitions/AudioTrackDescriptor" + } + ], + "properties": { + "trackId": { + "type": "integer", + "format": "int64", + "description": "Track identifier to select" + } + }, + "type": "object", + "required": [ + "trackId" + ], + "description": "Select audio tracks from the input by specifying a track identifier." + }, + "InputDefinition": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + }, + "includedTracks": { + "type": "array", + "items": { + "$ref": "#/definitions/TrackDescriptor" + }, + "description": "The list of TrackDescriptors which define the metadata and selection of tracks in the input." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for defining an input. Use sub classes of this class to specify tracks selections and related metadata." + }, + "FromAllInputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.FromAllInputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": {}, + "type": "object", + "description": "An InputDefinition that looks across all of the files provided to select tracks specified by the IncludedTracks property. Generally used with the AudioTrackByAttribute and VideoTrackByAttribute to allow selection of a single track across a set of input files." + }, + "FromEachInputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.FromEachInputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": {}, + "type": "object", + "description": "An InputDefinition that looks at each input file provided to select tracks specified by the IncludedTracks property. Generally used with the AudioTrackByAttribute and VideoTrackByAttribute to select tracks from each file given." + }, + "InputFile": { + "x-ms-discriminator-value": "#Microsoft.Media.InputFile", + "allOf": [ + { + "$ref": "#/definitions/InputDefinition" + } + ], + "properties": { + "filename": { + "type": "string", + "description": "Name of the file that this input definition applies to." + } + }, + "type": "object", + "description": "An InputDefinition for a single file. TrackSelections are scoped to the file specified." + }, + "FaceDetectorPreset": { + "x-ms-discriminator-value": "#Microsoft.Media.FaceDetectorPreset", + "allOf": [ + { + "$ref": "#/definitions/Preset" + } + ], + "properties": { + "resolution": { + "type": "string", + "enum": [ + "SourceResolution", + "StandardDefinition" + ], + "x-ms-enum": { + "name": "AnalysisResolution", + "values": [ + { + "value": "SourceResolution" + }, + { + "value": "StandardDefinition" + } + ], + "modelAsString": true + }, + "description": "Specifies the maximum resolution at which your video is analyzed. The default behavior is \"SourceResolution,\" which will keep the input video at its original resolution when analyzed. Using \"StandardDefinition\" will resize input videos to standard definition while preserving the appropriate aspect ratio. It will only resize if the video is of higher resolution. For example, a 1920x1080 input would be scaled to 640x360 before processing. Switching to \"StandardDefinition\" will reduce the time it takes to process high resolution video. It may also reduce the cost of using this component (see https://azure.microsoft.com/en-us/pricing/details/media-services/#analytics for details). However, faces that end up being too small in the resized video may not be detected." + }, + "mode": { + "type": "string", + "enum": [ + "Analyze", + "Redact", + "Combined" + ], + "x-ms-enum": { + "name": "FaceRedactorMode", + "values": [ + { + "value": "Analyze", + "description": "Analyze mode detects faces and outputs a metadata file with the results. Allows editing of the metadata file before faces are blurred with Redact mode." + }, + { + "value": "Redact", + "description": "Redact mode consumes the metadata file from Analyze mode and redacts the faces found." + }, + { + "value": "Combined", + "description": "Combined mode does the Analyze and Redact steps in one pass when editing the analyzed faces is not desired." + } + ], + "modelAsString": true + }, + "description": "This mode provides the ability to choose between the following settings: 1) Analyze - For detection only.This mode generates a metadata JSON file marking appearances of faces throughout the video.Where possible, appearances of the same person are assigned the same ID. 2) Combined - Additionally redacts(blurs) detected faces. 3) Redact - This enables a 2-pass process, allowing for selective redaction of a subset of detected faces.It takes in the metadata file from a prior analyze pass, along with the source video, and a user-selected subset of IDs that require redaction." + }, + "blurType": { + "type": "string", + "enum": [ + "Box", + "Low", + "Med", + "High", + "Black" + ], + "x-ms-enum": { + "name": "BlurType", + "values": [ + { + "value": "Box", + "description": "Box: debug filter, bounding box only" + }, + { + "value": "Low", + "description": "Low: box-car blur filter" + }, + { + "value": "Med", + "description": "Med: Gaussian blur filter" + }, + { + "value": "High", + "description": "High: Confuse blur filter" + }, + { + "value": "Black", + "description": "Black: Black out filter" + } + ], + "modelAsString": true + }, + "description": "Blur type" + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" + } + }, + "type": "object", + "description": "Describes all the settings to be used when analyzing a video in order to detect (and optionally redact) all the faces present." + }, "AudioAnalyzerPreset": { "x-ms-discriminator-value": "#Microsoft.Media.AudioAnalyzerPreset", "allOf": [ @@ -135,7 +712,36 @@ "properties": { "audioLanguage": { "type": "string", - "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). The list of supported languages are, 'en-US', 'en-GB', 'es-ES', 'es-MX', 'fr-FR', 'it-IT', 'ja-JP', 'pt-BR', 'zh-CN', 'de-DE', 'ar-EG', 'ru-RU', 'hi-IN'. If not specified, automatic language detection would be employed. This feature currently supports English, Chinese, French, German, Italian, Japanese, Spanish, Russian, and Portuguese. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to English." + "description": "The language for the audio payload in the input using the BCP-47 format of 'language tag-region' (e.g: 'en-US'). If you know the language of your content, it is recommended that you specify it. The language must be specified explicitly for AudioAnalysisMode::Basic, since automatic language detection is not included in basic mode. If the language isn't specified or set to null, automatic language detection will choose the first language detected and process with the selected language for the duration of the file. It does not currently support dynamically switching between languages after the first language is detected. The automatic detection works best with audio recordings with clearly discernable speech. If automatic detection fails to find the language, transcription would fallback to 'en-US'.\" The list of supported languages is available here: https://go.microsoft.com/fwlink/?linkid=2109463" + }, + "mode": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "x-ms-enum": { + "name": "AudioAnalysisMode", + "values": [ + { + "value": "Standard", + "description": "Performs all operations included in the Basic mode, additionally performing language detection and speaker diarization." + }, + { + "value": "Basic", + "description": "This mode performs speech-to-text transcription and generation of a VTT subtitle/caption file. The output of this mode includes an Insights JSON file including only the keywords, transcription,and timing information. Automatic language detection and speaker diarization are not included in this mode." + } + ], + "modelAsString": true + }, + "description": "Determines the set of audio analysis operations to be performed. If unspecified, the Standard AudioAnalysisMode would be chosen." + }, + "experimentalOptions": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Dictionary containing key value pairs for parameters not exposed in the preset itself" } }, "type": "object", @@ -150,17 +756,17 @@ }, "inputLabel": { "type": "string", - "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG or PNG formats, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats." + "description": "The label of the job input which is to be used as an overlay. The Input must specify exactly one file. You can specify an image file in JPG, PNG, GIF or BMP format, or an audio file (such as a WAV, MP3, WMA or M4A file), or a video file. See https://aka.ms/mesformats for the complete list of supported audio and video file formats." }, "start": { "type": "string", "format": "duration", - "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds in to the input video. If not specified the overlay starts from the beginning of the input video." + "description": "The start position, with reference to the input video, at which the overlay starts. The value should be in ISO 8601 format. For example, PT05S to start the overlay at 5 seconds into the input video. If not specified the overlay starts from the beginning of the input video." }, "end": { "type": "string", "format": "duration", - "description": "The position in the input video at which the overlay ends. The value should be in ISO 8601 duration format. For example, PT30S to end the overlay at 30 seconds in to the input video. If not specified the overlay will be applied until the end of the input video if inputLoop is true. Else, if inputLoop is false, then overlay will last as long as the duration of the overlay media." + "description": "The end position, with reference to the input video, at which the overlay ends. The value should be in ISO 8601 format. For example, PT30S to end the overlay at 30 seconds into the input video. If not specified or the value is greater than the input video duration, the overlay will be applied until the end of the input video if the overlay media duration is greater than the input video duration, else the overlay will last as long as the overlay media duration." }, "fadeInDuration": { "type": "string", @@ -180,7 +786,8 @@ }, "type": "object", "required": [ - "@odata.type" + "@odata.type", + "inputLabel" ], "description": "Base type for all overlays - image, audio or video." }, @@ -206,50 +813,6 @@ "type": "object", "description": "A codec flag, which tells the encoder to copy the input video bitstream without re-encoding." }, - "Video": { - "x-ms-discriminator-value": "#Microsoft.Media.Video", - "allOf": [ - { - "$ref": "#/definitions/Codec" - } - ], - "properties": { - "keyFrameInterval": { - "type": "string", - "format": "duration", - "description": "The distance between two key frames, thereby defining a group of pictures (GOP). The value should be a non-zero integer in the range [1, 30] seconds, specified in ISO 8601 format. The default is 2 seconds (PT2S)." - }, - "stretchMode": { - "type": "string", - "enum": [ - "None", - "AutoSize", - "AutoFit" - ], - "x-ms-enum": { - "name": "StretchMode", - "values": [ - { - "value": "None", - "description": "Strictly respect the output resolution without considering the pixel aspect ratio or display aspect ratio of the input video." - }, - { - "value": "AutoSize", - "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." - }, - { - "value": "AutoFit", - "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." - } - ], - "modelAsString": true - }, - "description": "The resizing mode - how the input video will be resized to fit the desired output resolution(s). Default is AutoSize" - } - }, - "type": "object", - "description": "Describes the basic properties for encoding the input video." - }, "Image": { "x-ms-discriminator-value": "#Microsoft.Media.Image", "allOf": [ @@ -260,18 +823,21 @@ "properties": { "start": { "type": "string", - "description": "The position in the input video from where to start generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT05S), or a frame count (For example, 10 for the 10th frame), or a relative value (For example, 1%). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video." + "description": "The position in the input video from where to start generating thumbnails. The value can be in ISO 8601 format (For example, PT05S to start at 5 seconds), or a frame count (For example, 10 to start at the 10th frame), or a relative value to stream duration (For example, 10% to start at 10% of stream duration). Also supports a macro {Best}, which tells the encoder to select the best thumbnail from the first few seconds of the video and will only produce one thumbnail, no matter what other settings are for Step and Range. The default value is macro {Best}." }, "step": { "type": "string", - "description": "The intervals at which thumbnails are generated. The value can be in absolute timestamp (ISO 8601, e.g: PT05S for one image every 5 seconds), or a frame count (For example, 30 for every 30 frames), or a relative value (For example, 1%)." + "description": "The intervals at which thumbnails are generated. The value can be in ISO 8601 format (For example, PT05S for one image every 5 seconds), or a frame count (For example, 30 for one image every 30 frames), or a relative value to stream duration (For example, 10% for one image every 10% of stream duration). Note: Step value will affect the first generated thumbnail, which may not be exactly the one specified at transform preset start time. This is due to the encoder, which tries to select the best thumbnail between start time and Step position from start time as the first output. As the default value is 10%, it means if stream has long duration, the first generated thumbnail might be far away from the one specified at start time. Try to select reasonable value for Step if the first thumbnail is expected close to start time, or set Range value at 1 if only one thumbnail is needed at start time." }, "range": { "type": "string", - "description": "The position in the input video at which to stop generating thumbnails. The value can be in absolute timestamp (ISO 8601, e.g: PT5M30S to stop at 5 minutes and 30 seconds), or a frame count (For example, 300 to stop at the 300th frame), or a relative value (For example, 100%)." + "description": "The position relative to transform preset start time in the input video at which to stop generating thumbnails. The value can be in ISO 8601 format (For example, PT5M30S to stop at 5 minutes and 30 seconds from start time), or a frame count (For example, 300 to stop at the 300th frame from the frame at start time. If this value is 1, it means only producing one thumbnail at start time), or a relative value to the stream duration (For example, 50% to stop at half of stream duration from start time). The default value is 100%, which means to stop at the end of the stream." } }, "type": "object", + "required": [ + "start" + ], "description": "Describes the basic properties for generating thumbnails from the input video" }, "Format": { @@ -283,12 +849,13 @@ }, "filenamePattern": { "type": "string", - "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - The base name of the input video {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. Any unsubstituted macros will be collapsed and removed from the filename." + "description": "The pattern of the file names for the generated output files. The following macros are supported in the file name: {Basename} - An expansion macro that will use the name of the input video file. If the base name(the file suffix is not included) of the input video file is less than 32 characters long, the base name of input video files will be used. If the length of base name of the input video file exceeds 32 characters, the base name is truncated to the first 32 characters in total length. {Extension} - The appropriate extension for this format. {Label} - The label assigned to the codec/layer. {Index} - A unique index for thumbnails. Only applicable to thumbnails. {Bitrate} - The audio/video bitrate. Not applicable to thumbnails. {Codec} - The type of the audio/video codec. {Resolution} - The video resolution. Any unsubstituted macros will be collapsed and removed from the filename." } }, "type": "object", "required": [ - "@odata.type" + "@odata.type", + "filenamePattern" ], "description": "Base class for output." }, @@ -464,43 +1031,17 @@ "crop": { "$ref": "#/definitions/Rectangle", "description": "The parameters for the rectangular window with which to crop the input video." - }, - "overlays": { - "type": "array", - "items": { - "$ref": "#/definitions/Overlay" - }, - "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays." - } - }, - "type": "object", - "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding." - }, - "Layer": { - "discriminator": "@odata.type", - "properties": { - "@odata.type": { - "type": "string", - "description": "The discriminator for derived types." - }, - "width": { - "type": "string", - "description": "The width of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in width as the input." - }, - "height": { - "type": "string", - "description": "The height of the output video for this layer. The value can be absolute (in pixels) or relative (in percentage). For example 50% means the output video has half as many pixels in height as the input." - }, - "label": { - "type": "string", - "description": "The alphanumeric label for this layer, which can be used in multiplexing different video and audio layers, or in naming the output file." + }, + "overlays": { + "type": "array", + "items": { + "$ref": "#/definitions/Overlay" + }, + "description": "The properties of overlays to be applied to the input video. These could be audio, image or video overlays." } }, "type": "object", - "required": [ - "@odata.type" - ], - "description": "The encoder can be configured to produce video and/or images (thumbnails) at different resolutions, by specifying a layer for each desired resolution. A layer represents the properties for the video or image at a resolution." + "description": "Describes all the filtering operations, such as de-interlacing, rotation etc. that are to be applied to the input media before encoding." }, "VideoLayer": { "x-ms-discriminator-value": "#Microsoft.Media.VideoLayer", @@ -540,6 +1081,9 @@ } }, "type": "object", + "required": [ + "bitrate" + ], "description": "Describes the settings to be used when encoding the input video into a desired output bitrate layer." }, "H264Layer": { @@ -590,11 +1134,11 @@ ], "modelAsString": true }, - "description": "Which profile of the H.264 standard should be used when encoding this layer. Default is Auto." + "description": "We currently support Baseline, Main, High, High422, High444. Default is Auto." }, "level": { "type": "string", - "description": "Which level of the H.264 standard should be used when encoding this layer. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." + "description": "We currently support Level up to 6.2. The value can be Auto, or a number that matches the H.264 profile. If not specified, the default is Auto, which lets the encoder choose the Level that is appropriate for this layer." }, "bufferWindow": { "type": "string", @@ -696,6 +1240,11 @@ "$ref": "#/definitions/JpgLayer" }, "description": "A collection of output JPEG image layers to be produced by the encoder." + }, + "spriteColumn": { + "type": "integer", + "format": "int32", + "description": "Sets the number of columns used in thumbnail sprite image. The number of rows are automatically calculated and a VTT file is generated with the coordinate mappings for each thumbnail in the sprite. Note: this value should be a positive integer and a proper value is recommended so that the output image resolution will not go beyond JPEG maximum pixel resolution limit 65535x65535." } }, "type": "object", @@ -718,19 +1267,6 @@ "type": "object", "description": "Describes the settings to produce a JPEG image from the input video." }, - "OutputFile": { - "properties": { - "labels": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1." - } - }, - "type": "object", - "description": "Represents an output file produced." - }, "MultiBitrateFormat": { "x-ms-discriminator-value": "#Microsoft.Media.MultiBitrateFormat", "allOf": [ @@ -750,6 +1286,22 @@ "type": "object", "description": "Describes the properties for producing a collection of GOP aligned multi-bitrate files. The default behavior is to produce one output file for each video layer which is muxed together with all the audios. The exact output files produced can be controlled by specifying the outputFiles collection." }, + "OutputFile": { + "properties": { + "labels": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of labels that describe how the encoder should multiplex video and audio into an output file. For example, if the encoder is producing two video layers with labels v1 and v2, and one audio layer with label a1, then an array like '[v1, a1]' tells the encoder to produce an output file with the video track represented by v1 and the audio track represented by a1." + } + }, + "type": "object", + "required": [ + "labels" + ], + "description": "Represents an output file produced." + }, "Mp4Format": { "x-ms-discriminator-value": "#Microsoft.Media.Mp4Format", "allOf": [ @@ -799,6 +1351,10 @@ } ], "properties": { + "configurations": { + "$ref": "#/definitions/PresetConfigurations", + "description": "PresetConfigurations are only supported for the ContentAwareEncoding and H265ContentAwareEncoding built-in presets. These settings will not affect other built-in or custom defined presets." + }, "presetName": { "type": "string", "enum": [ @@ -807,44 +1363,84 @@ "H264SingleBitrate1080p", "AdaptiveStreaming", "AACGoodQualityAudio", + "ContentAwareEncodingExperimental", + "ContentAwareEncoding", + "CopyAllBitrateNonInterleaved", "H264MultipleBitrate1080p", "H264MultipleBitrate720p", - "H264MultipleBitrateSD" + "H264MultipleBitrateSD", + "H265ContentAwareEncoding", + "H265AdaptiveStreaming", + "H265SingleBitrate720p", + "H265SingleBitrate1080p", + "H265SingleBitrate4K" ], "x-ms-enum": { "name": "EncoderNamedPreset", "values": [ { "value": "H264SingleBitrateSD", - "description": "Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps." + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 2200 kbps and a picture height of 480 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." }, { "value": "H264SingleBitrate720p", - "description": "Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps." + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 4500 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." }, { "value": "H264SingleBitrate1080p", - "description": "Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 64 kbps." + "description": "Produces an MP4 file where the video is encoded with H.264 codec at 6750 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." }, { "value": "AdaptiveStreaming", - "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution and bitrate. The auto-generated preset will never exceed the input resolution and bitrate. For example, if the input is 720p at 3 Mbps, output will remain 720p at best, and will start at rates lower than 3 Mbps. The output will have video and audio in separate MP4 files, which is optimal for adaptive streaming." + "description": "Produces a set of GOP aligned MP4 files with H.264 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best." }, { "value": "AACGoodQualityAudio", "description": "Produces a single MP4 file containing only stereo audio encoded at 192 kbps." }, + { + "value": "ContentAwareEncodingExperimental", + "description": "Exposes an experimental preset for content-aware encoding. Given any input content, the service attempts to automatically determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. The underlying algorithms will continue to evolve over time. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "ContentAwareEncoding", + "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "CopyAllBitrateNonInterleaved", + "description": "Copy all video and audio streams from the input asset as non-interleaved video and audio output files. This preset can be used to clip an existing asset or convert a group of key frame (GOP) aligned MP4 files as an asset that can be streamed." + }, { "value": "H264MultipleBitrate1080p", - "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 360p." + "description": "Produces a set of 8 GOP-aligned MP4 files, ranging from 6000 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 1080p and goes down to 180p." }, { "value": "H264MultipleBitrate720p", - "description": "Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 360p." + "description": "Produces a set of 6 GOP-aligned MP4 files, ranging from 3400 kbps to 400 kbps, and stereo AAC audio. Resolution starts at 720p and goes down to 180p." }, { "value": "H264MultipleBitrateSD", - "description": "Produces a set of 5 GOP-aligned MP4 files, ranging from 1600kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 360p." + "description": "Produces a set of 5 GOP-aligned MP4 files, ranging from 1900kbps to 400 kbps, and stereo AAC audio. Resolution starts at 480p and goes down to 240p." + }, + { + "value": "H265ContentAwareEncoding", + "description": "Produces a set of GOP-aligned MP4s by using content-aware encoding. Given any input content, the service performs an initial lightweight analysis of the input content, and uses the results to determine the optimal number of layers, appropriate bitrate and resolution settings for delivery by adaptive streaming. This preset is particularly effective for low and medium complexity videos, where the output files will be at lower bitrates but at a quality that still delivers a good experience to viewers. The output will contain MP4 files with video and audio interleaved." + }, + { + "value": "H265AdaptiveStreaming", + "description": "Produces a set of GOP aligned MP4 files with H.265 video and stereo AAC audio. Auto-generates a bitrate ladder based on the input resolution, bitrate and frame rate. The auto-generated preset will never exceed the input resolution. For example, if the input is 720p, output will remain 720p at best." + }, + { + "value": "H265SingleBitrate720p", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 1800 kbps and a picture height of 720 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H265SingleBitrate1080p", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 3500 kbps and a picture height of 1080 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." + }, + { + "value": "H265SingleBitrate4K", + "description": "Produces an MP4 file where the video is encoded with H.265 codec at 9500 kbps and a picture height of 2160 pixels, and the stereo audio is encoded with AAC-LC codec at 128 kbps." } ], "modelAsString": true @@ -886,6 +1482,10 @@ } }, "type": "object", + "required": [ + "codecs", + "formats" + ], "description": "Describes all the settings to be used when encoding the input video with the Standard Encoder." }, "VideoAnalyzerPreset": { @@ -921,7 +1521,7 @@ ], "modelAsString": true }, - "description": "The type of insights to be extracted. If not set then based on the content the type will selected. If the content is audio only then only audio insights are extracted and if it is video only." + "description": "Defines the type of insights that you want the service to generate. The allowed values are 'AudioInsightsOnly', 'VideoInsightsOnly', and 'AllInsights'. The default is AllInsights. If you set this to AllInsights and the input is audio only, then only audio insights are generated. Similarly if the input is video only, then only video insights are generated. It is recommended that you not use AudioInsightsOnly if you expect some of your inputs to be video only; or use VideoInsightsOnly if you expect some of your inputs to be audio only. Your Jobs in such conditions would error out." } }, "type": "object", @@ -963,6 +1563,111 @@ "type": "object", "description": "Describes the properties of a video overlay." }, + "VideoTrackDescriptor": { + "x-ms-discriminator-value": "#Microsoft.Media.VideoTrackDescriptor", + "allOf": [ + { + "$ref": "#/definitions/TrackDescriptor" + } + ], + "properties": {}, + "type": "object", + "description": "A TrackSelection to select video tracks." + }, + "SelectVideoTrackByAttribute": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectVideoTrackByAttribute", + "allOf": [ + { + "$ref": "#/definitions/VideoTrackDescriptor" + } + ], + "properties": { + "attribute": { + "type": "string", + "enum": [ + "Bitrate", + "Language" + ], + "x-ms-enum": { + "name": "TrackAttribute", + "values": [ + { + "value": "Bitrate", + "description": "The bitrate of the track." + }, + { + "value": "Language", + "description": "The language of the track." + } + ], + "modelAsString": true + }, + "description": "The TrackAttribute to filter the tracks by." + }, + "filter": { + "type": "string", + "enum": [ + "All", + "Top", + "Bottom", + "ValueEquals" + ], + "x-ms-enum": { + "name": "AttributeFilter", + "values": [ + { + "value": "All", + "description": "All tracks will be included." + }, + { + "value": "Top", + "description": "The first track will be included when the attribute is sorted in descending order. Generally used to select the largest bitrate." + }, + { + "value": "Bottom", + "description": "The first track will be included when the attribute is sorted in ascending order. Generally used to select the smallest bitrate." + }, + { + "value": "ValueEquals", + "description": "Any tracks that have an attribute equal to the value given will be included." + } + ], + "modelAsString": true + }, + "description": "The type of AttributeFilter to apply to the TrackAttribute in order to select the tracks." + }, + "filterValue": { + "type": "string", + "description": "The value to filter the tracks by. Only used when AttributeFilter.ValueEquals is specified for the Filter property. For TrackAttribute.Bitrate, this should be an integer value in bits per second (e.g: '1500000'). The TrackAttribute.Language is not supported for video tracks." + } + }, + "type": "object", + "required": [ + "attribute", + "filter" + ], + "description": "Select video tracks from the input by specifying an attribute and an attribute filter." + }, + "SelectVideoTrackById": { + "x-ms-discriminator-value": "#Microsoft.Media.SelectVideoTrackById", + "allOf": [ + { + "$ref": "#/definitions/VideoTrackDescriptor" + } + ], + "properties": { + "trackId": { + "type": "integer", + "format": "int64", + "description": "Track identifier to select" + } + }, + "type": "object", + "required": [ + "trackId" + ], + "description": "Select video tracks from the input by specifying a track identifier." + }, "TransformOutput": { "properties": { "onError": { @@ -1062,7 +1767,7 @@ "Transform": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1070,6 +1775,11 @@ "$ref": "#/definitions/TransformProperties", "description": "The resource properties.", "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", @@ -1102,16 +1812,85 @@ "items": { "type": "string" }, - "description": "List of files. Required for JobInputHttp." + "description": "List of files. Required for JobInputHttp. Maximum of 4000 characters each. Query strings will not be returned in service responses to prevent sensitive data exposure." + }, + "start": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will start. Defaults to the beginning of the input media." + }, + "end": { + "$ref": "#/definitions/ClipTime", + "description": "Defines a point on the timeline of the input media at which processing will end. Defaults to the end of the input media." }, "label": { "type": "string", "description": "A label that is assigned to a JobInputClip, that is used to satisfy a reference used in the Transform. For example, a Transform can be authored so as to take an image file with the label 'xyz' and apply it as an overlay onto the input video before it is encoded. When submitting a Job, exactly one of the JobInputs should be the image file, and it should have the label 'xyz'." + }, + "inputDefinitions": { + "type": "array", + "items": { + "$ref": "#/definitions/InputDefinition" + }, + "description": "Defines a list of InputDefinitions. For each InputDefinition, it defines a list of track selections and related metadata." } }, "type": "object", "description": "Represents input files for a Job." }, + "ClipTime": { + "discriminator": "@odata.type", + "properties": { + "@odata.type": { + "type": "string", + "description": "The discriminator for derived types." + } + }, + "type": "object", + "required": [ + "@odata.type" + ], + "description": "Base class for specifying a clip time. Use sub classes of this class to specify the time position in the media." + }, + "AbsoluteClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.AbsoluteClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "duration", + "description": "The time position on the timeline of the input media. It is usually specified as an ISO8601 period. e.g PT30S for 30 seconds." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as an absolute time position in the media file. The absolute time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, + "UtcClipTime": { + "x-ms-discriminator-value": "#Microsoft.Media.UtcClipTime", + "allOf": [ + { + "$ref": "#/definitions/ClipTime" + } + ], + "properties": { + "time": { + "type": "string", + "format": "date-time", + "description": "The time position on the timeline of the input media based on Utc time." + } + }, + "type": "object", + "required": [ + "time" + ], + "description": "Specifies the clip time as a Utc time position in the media file. The Utc time can point to a different position depending on whether the media file starts from a timestamp of zero or not." + }, "JobInputs": { "x-ms-discriminator-value": "#Microsoft.Media.JobInputs", "allOf": [ @@ -1160,7 +1939,7 @@ "properties": { "baseUri": { "type": "string", - "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris." + "description": "Base URI for HTTPS job input. It will be concatenated with provided file names. If no base uri is given, then the provided file list is assumed to be fully qualified uris. Maximum length of 4000 characters. The query strings will not be returned in service responses to prevent sensitive data exposure." } }, "type": "object", @@ -1178,6 +1957,10 @@ "description": "If the JobOutput is in the Error state, it contains the details of the error.", "readOnly": true }, + "presetOverride": { + "$ref": "#/definitions/Preset", + "description": "A preset used to override the preset in the corresponding transform output." + }, "state": { "type": "string", "enum": [ @@ -1237,6 +2020,20 @@ "label": { "type": "string", "description": "A label that is assigned to a JobOutput in order to help uniquely identify it. This is useful when your Transform has more than one TransformOutput, whereby your Job has more than one JobOutput. In such cases, when you submit the Job, you will add two or more JobOutputs, in the same order as TransformOutputs in the Transform. Subsequently, when you retrieve the Job, either through events or on a GET request, you can use the label to easily identify the JobOutput. If a label is not provided, a default value of '{presetName}_{outputIndex}' will be used, where the preset name is the name of the preset in the corresponding TransformOutput and the output index is the relative index of the this JobOutput within the Job. Note that this index is the same as the relative index of the corresponding TransformOutput within its Transform." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job Output finished processing.", + "readOnly": true, + "x-nullable": true } }, "type": "object", @@ -1426,7 +2223,7 @@ "created": { "type": "string", "format": "date-time", - "description": "The UTC date and time when the Job was created, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "description": "The UTC date and time when the customer has created the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", "readOnly": true, "x-nullable": false }, @@ -1490,7 +2287,7 @@ "lastModified": { "type": "string", "format": "date-time", - "description": "The UTC date and time when the Job was last updated, in 'YYYY-MM-DDThh:mm:ssZ' format.", + "description": "The UTC date and time when the customer has last updated the Job, in 'YYYY-MM-DDThh:mm:ssZ' format.", "readOnly": true, "x-nullable": false }, @@ -1533,7 +2330,21 @@ "additionalProperties": { "type": "string" }, - "description": "Customer provided correlation data that will be returned in Job and JobOutput state events." + "description": "Customer provided key, value pairs that will be returned in Job and JobOutput state events." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job began processing.", + "readOnly": true, + "x-nullable": true + }, + "endTime": { + "type": "string", + "format": "date-time", + "description": "The UTC date and time at which this Job finished processing.", + "readOnly": true, + "x-nullable": true } }, "type": "object", @@ -1543,10 +2354,29 @@ ], "description": "Properties of the Job." }, + "JobInputSequence": { + "x-ms-discriminator-value": "#Microsoft.Media.JobInputSequence", + "allOf": [ + { + "$ref": "#/definitions/JobInput" + } + ], + "properties": { + "inputs": { + "type": "array", + "items": { + "$ref": "#/definitions/JobInputClip" + }, + "description": "JobInputs that make up the timeline." + } + }, + "type": "object", + "description": "A Sequence contains an ordered list of Clips where each clip is a JobInput. The Sequence will be treated as a single input." + }, "Job": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { @@ -1554,45 +2384,100 @@ "$ref": "#/definitions/JobProperties", "description": "The resource properties.", "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", "description": "A Job resource type. The progress and state can be obtained by polling a Job or subscribing to events using EventGrid." }, - "ODataError": { + "PresetConfigurations": { + "description": "An object of optional configuration settings for encoder.", "properties": { - "code": { + "complexity": { + "description": "Allows you to configure the encoder settings to control the balance between speed and quality. Example: set Complexity as Speed for faster encoding but less compression efficiency.", + "enum": [ + "Speed", + "Balanced", + "Quality" + ], "type": "string", - "description": "A language-independent error name." + "x-ms-enum": { + "modelAsString": true, + "name": "Complexity", + "values": [ + { + "description": "Configures the encoder to use settings optimized for faster encoding. Quality is sacrificed to decrease encoding time.", + "value": "Speed" + }, + { + "description": "Configures the encoder to use settings that achieve a balance between speed and quality.", + "value": "Balanced" + }, + { + "description": "Configures the encoder to use settings optimized to produce higher quality output at the expense of slower overall encode time.", + "value": "Quality" + } + ] + } }, - "message": { + "interleaveOutput": { + "description": "Sets the interleave mode of the output to control how audio and video are stored in the container format. Example: set InterleavedOutput as NonInterleavedOutput to produce audio-only and video-only outputs in separate MP4 files.", + "enum": [ + "NonInterleavedOutput", + "InterleavedOutput" + ], "type": "string", - "description": "The error message." + "x-ms-enum": { + "modelAsString": true, + "name": "InterleaveOutput", + "values": [ + { + "description": "The output is video-only or audio-only.", + "value": "NonInterleavedOutput" + }, + { + "description": "The output includes both audio and video.", + "value": "InterleavedOutput" + } + ] + } }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." + "keyFrameIntervalInSeconds": { + "description": "The key frame interval in seconds. Example: set KeyFrameIntervalInSeconds as 2 to reduce the playback buffering for some players.", + "format": "float", + "type": "number" }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." - } - }, - "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." + "maxBitrateBps": { + "description": "The maximum bitrate in bits per second (threshold for the top video layer). Example: set MaxBitrateBps as 6000000 to avoid producing very high bitrate outputs for contents with high complexity.", + "format": "int32", + "type": "integer" + }, + "maxHeight": { + "description": "The maximum height of output video layers. Example: set MaxHeight as 720 to produce output layers up to 720P even if the input is 4K.", + "format": "int32", + "type": "integer" + }, + "maxLayers": { + "description": "The maximum number of output video layers. Example: set MaxLayers as 4 to make sure at most 4 output layers are produced to control the overall cost of the encoding job.", + "format": "int32", + "type": "integer" + }, + "minBitrateBps": { + "description": "The minimum bitrate in bits per second (threshold for the bottom video layer). Example: set MinBitrateBps as 200000 to have a bottom layer that covers users with low network bandwidth.", + "format": "int32", + "type": "integer" + }, + "minHeight": { + "description": "The minimum height of output video layers. Example: set MinHeight as 360 to avoid output layers of smaller resolutions like 180P.", + "format": "int32", + "type": "integer" } }, - "type": "object", - "description": "The API error." + "type": "object" }, "TransformCollection": { "properties": { @@ -1645,7 +2530,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1674,7 +2559,7 @@ "in": "query", "required": false, "type": "string", - "description": "Specifies the the key by which the result collection should be ordered." + "description": "Specifies the key by which the result collection should be ordered." } ], "x-ms-pageable": { @@ -1683,16 +2568,16 @@ "x-ms-odata": "#/definitions/Transform", "x-ms-examples": { "Lists the Transforms": { - "$ref": "./examples/transforms-list-all.json" + "$ref": "examples/transforms-list-all.json" }, "Lists the Transforms filter by name": { - "$ref": "./examples/transforms-list-all-filter-by-name.json" + "$ref": "examples/transforms-list-all-filter-by-name.json" }, "Lists the Transforms filter by created": { - "$ref": "./examples/transforms-list-all-filter-by-created.json" + "$ref": "examples/transforms-list-all-filter-by-created.json" }, "Lists the Transforms filter by lastmodified": { - "$ref": "./examples/transforms-list-all-filter-by-lastmodified.json" + "$ref": "examples/transforms-list-all-filter-by-lastmodified.json" } } } @@ -1709,13 +2594,10 @@ "$ref": "#/definitions/Transform" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1742,7 +2624,7 @@ ], "x-ms-examples": { "Get a Transform by name": { - "$ref": "./examples/transforms-get-by-name.json" + "$ref": "examples/transforms-get-by-name.json" } } }, @@ -1766,7 +2648,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1802,7 +2684,7 @@ ], "x-ms-examples": { "Create or update a Transform": { - "$ref": "./examples/transforms-create.json" + "$ref": "examples/transforms-create.json" } } }, @@ -1820,7 +2702,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1847,7 +2729,7 @@ ], "x-ms-examples": { "Delete a Transform": { - "$ref": "./examples/transforms-delete.json" + "$ref": "examples/transforms-delete.json" } } }, @@ -1865,7 +2747,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1901,7 +2783,7 @@ ], "x-ms-examples": { "Update a Transform.": { - "$ref": "./examples/transforms-update.json" + "$ref": "examples/transforms-update.json" } } } @@ -1921,7 +2803,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1957,7 +2839,7 @@ "in": "query", "required": false, "type": "string", - "description": "Specifies the the key by which the result collection should be ordered." + "description": "Specifies the key by which the result collection should be ordered." } ], "x-ms-pageable": { @@ -1966,25 +2848,25 @@ "x-ms-odata": "#/definitions/Job", "x-ms-examples": { "Lists all of the Jobs for the Transform.": { - "$ref": "./examples/jobs-list-all.json" + "$ref": "examples/jobs-list-all.json" }, "Lists Jobs for the Transform filter by name.": { - "$ref": "./examples/jobs-list-all-filter-by-name.json" + "$ref": "examples/jobs-list-all-filter-by-name.json" }, "Lists Jobs for the Transform filter by state equal.": { - "$ref": "./examples/jobs-list-all-filter-by-state-eq.json" + "$ref": "examples/jobs-list-all-filter-by-state-eq.json" }, "Lists Jobs for the Transform filter by state not equal.": { - "$ref": "./examples/jobs-list-all-filter-by-state-ne.json" + "$ref": "examples/jobs-list-all-filter-by-state-ne.json" }, "Lists Jobs for the Transform filter by name and state.": { - "$ref": "./examples/jobs-list-all-filter-by-name-and-state.json" + "$ref": "examples/jobs-list-all-filter-by-name-and-state.json" }, "Lists Jobs for the Transform filter by created.": { - "$ref": "./examples/jobs-list-all-filter-by-created.json" + "$ref": "examples/jobs-list-all-filter-by-created.json" }, "Lists Jobs for the Transform filter by lastmodified.": { - "$ref": "./examples/jobs-list-all-filter-by-lastmodified.json" + "$ref": "examples/jobs-list-all-filter-by-lastmodified.json" } } } @@ -2001,13 +2883,10 @@ "$ref": "#/definitions/Job" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2041,7 +2920,7 @@ ], "x-ms-examples": { "Get a Job by name": { - "$ref": "./examples/jobs-get-by-name.json" + "$ref": "examples/jobs-get-by-name.json" } } }, @@ -2059,7 +2938,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2102,7 +2981,7 @@ ], "x-ms-examples": { "Create a Job": { - "$ref": "./examples/jobs-create.json" + "$ref": "examples/jobs-create.json" } } }, @@ -2120,7 +2999,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2154,7 +3033,7 @@ ], "x-ms-examples": { "Delete a Job": { - "$ref": "./examples/jobs-delete.json" + "$ref": "examples/jobs-delete.json" } } }, @@ -2172,7 +3051,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2215,7 +3094,7 @@ ], "x-ms-examples": { "Update a Job": { - "$ref": "./examples/jobs-update.json" + "$ref": "examples/jobs-update.json" } } } @@ -2232,7 +3111,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -2266,7 +3145,7 @@ ], "x-ms-examples": { "Cancel a Job": { - "$ref": "./examples/jobs-cancel.json" + "$ref": "examples/jobs-cancel.json" } } } @@ -2301,7 +3180,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/StreamingPoliciesAndStreamingLocators.json b/App_Data/SwaggerSpecs/Microsoft.Media/StreamingPoliciesAndStreamingLocators.json index 200274e4..aa12f16d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/StreamingPoliciesAndStreamingLocators.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/StreamingPoliciesAndStreamingLocators.json @@ -6,7 +6,7 @@ "info": { "title": "Azure Media Services", "description": "This Swagger was generated by the API Framework.", - "version": "2018-07-01" + "version": "2021-06-01" }, "host": "management.azure.com", "consumes": [ @@ -154,7 +154,7 @@ "properties": { "customLicenseAcquisitionUrlTemplate": { "type": "string", - "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys." + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." }, "playReadyCustomAttributes": { "type": "string", @@ -168,7 +168,7 @@ "properties": { "customLicenseAcquisitionUrlTemplate": { "type": "string", - "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys." + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." } }, "type": "object", @@ -178,7 +178,7 @@ "properties": { "customLicenseAcquisitionUrlTemplate": { "type": "string", - "description": "The template for a customer service to deliver keys to end users. Not needed when using Azure Media Services for issuing keys." + "description": "Template for the URL of the custom service delivering licenses to end user players. Not required when using Azure Media Services for issuing licenses. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." }, "allowPersistentLicense": { "type": "boolean", @@ -280,7 +280,7 @@ }, "customKeyAcquisitionUrlTemplate": { "type": "string", - "description": "KeyAcquisitionUrlTemplate is used to point to user specified service to delivery content keys" + "description": "Template for the URL of the custom service delivering keys to end user players. Not required when using Azure Media Services for issuing keys. The template supports replaceable tokens that the service will update at runtime with the value specific to the request. The currently supported token values are {AlternativeMediaId}, which is replaced with the value of StreamingLocatorId.AlternativeMediaId, and {ContentKeyId}, which is replaced with the value of identifier of the key being requested." } }, "type": "object", @@ -372,13 +372,18 @@ "StreamingPolicy": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/StreamingPolicyProperties", "x-ms-client-flatten": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", @@ -575,6 +580,13 @@ "alternativeMediaId": { "type": "string", "description": "Alternative Media ID of this Streaming Locator" + }, + "filters": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of asset or account filters which apply to this streaming locator" } }, "type": "object", @@ -620,52 +632,22 @@ "StreamingLocator": { "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "properties": { "properties": { "$ref": "#/definitions/StreamingLocatorProperties", "x-ms-client-flatten": true - } - }, - "type": "object", - "description": "A Streaming Locator resource" - }, - "ODataError": { - "properties": { - "code": { - "type": "string", - "description": "A language-independent error name." - }, - "message": { - "type": "string", - "description": "The error message." - }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." - } - }, - "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties." + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "type": "object", - "description": "The API error." + "description": "A Streaming Locator resource" }, "StreamingPolicyCollection": { "properties": { @@ -718,7 +700,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -747,6 +729,7 @@ "in": "query", "required": false, "type": "integer", + "format": "int32", "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." }, { @@ -763,7 +746,7 @@ "x-ms-odata": "#/definitions/StreamingPolicy", "x-ms-examples": { "Lists Streaming Policies": { - "$ref": "./examples/streaming-policies-list.json" + "$ref": "examples/streaming-policies-list.json" } } } @@ -780,13 +763,10 @@ "$ref": "#/definitions/StreamingPolicy" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -813,7 +793,7 @@ ], "x-ms-examples": { "Get a Streaming Policy by name": { - "$ref": "./examples/streaming-policy-get-by-name.json" + "$ref": "examples/streaming-policy-get-by-name.json" } } }, @@ -831,7 +811,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -867,19 +847,19 @@ ], "x-ms-examples": { "Creates a Streaming Policy with clear streaming": { - "$ref": "./examples/streaming-policies-create-clear.json" + "$ref": "examples/streaming-policies-create-clear.json" }, "Creates a Streaming Policy with envelopeEncryption only": { - "$ref": "./examples/streaming-policies-create-envelopeEncryption-only.json" + "$ref": "examples/streaming-policies-create-envelopeEncryption-only.json" }, "Creates a Streaming Policy with commonEncryptionCenc only": { - "$ref": "./examples/streaming-policies-create-commonEncryptionCenc-only.json" + "$ref": "examples/streaming-policies-create-commonEncryptionCenc-only.json" }, "Creates a Streaming Policy with commonEncryptionCbcs only": { - "$ref": "./examples/streaming-policies-create-commonEncryptionCbcs-only.json" + "$ref": "examples/streaming-policies-create-commonEncryptionCbcs-only.json" }, "Creates a Streaming Policy with secure streaming": { - "$ref": "./examples/streaming-policies-create-secure-streaming.json" + "$ref": "examples/streaming-policies-create-secure-streaming.json" } } }, @@ -897,7 +877,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -924,7 +904,7 @@ ], "x-ms-examples": { "Delete a Streaming Policy": { - "$ref": "./examples/streaming-policies-delete.json" + "$ref": "examples/streaming-policies-delete.json" } } } @@ -944,7 +924,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -973,6 +953,7 @@ "in": "query", "required": false, "type": "integer", + "format": "int32", "description": "Specifies a non-negative integer n that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value n." }, { @@ -989,7 +970,7 @@ "x-ms-odata": "#/definitions/StreamingLocator", "x-ms-examples": { "Lists Streaming Locators": { - "$ref": "./examples/streaming-locators-list.json" + "$ref": "examples/streaming-locators-list.json" } } } @@ -1006,13 +987,10 @@ "$ref": "#/definitions/StreamingLocator" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1039,7 +1017,7 @@ ], "x-ms-examples": { "Get a Streaming Locator by name": { - "$ref": "./examples/streaming-locators-get-by-name.json" + "$ref": "examples/streaming-locators-get-by-name.json" } } }, @@ -1057,7 +1035,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1093,13 +1071,13 @@ ], "x-ms-examples": { "Creates a Streaming Locator with clear streaming": { - "$ref": "./examples/streaming-locators-create-clear.json" + "$ref": "examples/streaming-locators-create-clear.json" }, "Creates a Streaming Locator with secure streaming": { - "$ref": "./examples/streaming-locators-create-secure.json" + "$ref": "examples/streaming-locators-create-secure.json" }, "Creates a Streaming Locator with user defined content keys": { - "$ref": "./examples/streaming-locators-create-secure-userDefinedContentKeys.json" + "$ref": "examples/streaming-locators-create-secure-userDefinedContentKeys.json" } } }, @@ -1117,7 +1095,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1144,7 +1122,7 @@ ], "x-ms-examples": { "Delete a Streaming Locator": { - "$ref": "./examples/streaming-locators-delete.json" + "$ref": "examples/streaming-locators-delete.json" } } } @@ -1164,7 +1142,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1191,7 +1169,7 @@ ], "x-ms-examples": { "List Content Keys": { - "$ref": "./examples/streaming-locators-list-content-keys.json" + "$ref": "examples/streaming-locators-list-content-keys.json" } } } @@ -1211,7 +1189,7 @@ "default": { "description": "Detailed error information.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -1238,10 +1216,10 @@ ], "x-ms-examples": { "List Paths which has streaming paths only": { - "$ref": "./examples/streaming-locators-list-paths-streaming-only.json" + "$ref": "examples/streaming-locators-list-paths-streaming-only.json" }, "List Paths which has streaming paths and download paths": { - "$ref": "./examples/streaming-locators-list-paths-streaming-and-download.json" + "$ref": "examples/streaming-locators-list-paths-streaming-and-download.json" } } } @@ -1276,7 +1254,7 @@ "in": "query", "required": true, "type": "string", - "description": "The Version of the API to be used with the client request." + "description": "The version of the API to be used with the client request." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Media/streamingservice.json b/App_Data/SwaggerSpecs/Microsoft.Media/streamingservice.json index 47f2c16d..a157ea33 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Media/streamingservice.json +++ b/App_Data/SwaggerSpecs/Microsoft.Media/streamingservice.json @@ -5,8 +5,8 @@ "swagger": "2.0", "info": { "title": "Azure Media Services", - "description": "Streaming resource management client for Azure Media Services", - "version": "2018-07-01" + "description": "Live event and streaming endpoint management APIs", + "version": "2021-06-01" }, "host": "management.azure.com", "consumes": [ @@ -32,8 +32,8 @@ "tags": [ "LiveEvents" ], - "summary": "List Live Events", - "description": "Lists the Live Events in the account.", + "summary": "List live events", + "description": "Lists all the live events in the account.", "operationId": "LiveEvents_List", "parameters": [ { @@ -59,7 +59,7 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -68,7 +68,7 @@ }, "x-ms-examples": { "List all LiveEvents": { - "$ref": "./examples/liveevent-list-all.json" + "$ref": "examples/liveevent-list-all.json" } } } @@ -79,7 +79,7 @@ "LiveEvents" ], "summary": "Get Live Event", - "description": "Gets a Live Event.", + "description": "Gets properties of a live event.", "operationId": "LiveEvents_Get", "parameters": [ { @@ -105,19 +105,16 @@ "$ref": "#/definitions/LiveEvent" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a LiveEvent by name": { - "$ref": "./examples/liveevent-list-by-name.json" + "$ref": "examples/liveevent-list-by-name.json" } } }, @@ -126,7 +123,7 @@ "LiveEvents" ], "summary": "Create Live Event", - "description": "Creates a Live Event.", + "description": "Creates a new live event.", "operationId": "LiveEvents_Create", "parameters": [ { @@ -149,7 +146,7 @@ }, { "name": "parameters", - "description": "Live Event properties needed for creation.", + "description": "Live event properties needed for creation.", "in": "body", "required": true, "schema": { @@ -164,8 +161,8 @@ "$ref": "#/definitions/LiveEvent" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/LiveEvent" } @@ -173,14 +170,14 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Create a LiveEvent": { - "$ref": "./examples/liveevent-create.json" + "$ref": "examples/liveevent-create.json" } } }, @@ -188,7 +185,7 @@ "tags": [ "LiveEvents" ], - "description": "Updates a existing Live Event.", + "description": "Updates settings on an existing live event.", "operationId": "LiveEvents_Update", "parameters": [ { @@ -208,7 +205,7 @@ }, { "name": "parameters", - "description": "Live Event properties needed for creation.", + "description": "Live event properties needed for patch.", "in": "body", "required": true, "schema": { @@ -224,7 +221,7 @@ } }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", "schema": { "$ref": "#/definitions/LiveEvent" } @@ -232,14 +229,14 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Update a LiveEvent": { - "$ref": "./examples/liveevent-update.json" + "$ref": "examples/liveevent-update.json" } } }, @@ -248,7 +245,7 @@ "LiveEvents" ], "summary": "Delete Live Event", - "description": "Deletes a Live Event.", + "description": "Deletes a live event.", "operationId": "LiveEvents_Delete", "parameters": [ { @@ -272,22 +269,69 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "204": { - "description": "No content. The request has been accepted but the Live Event was not found." + "description": "No content. The request has been accepted but the live event was not found." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Delete a LiveEvent": { - "$ref": "./examples/liveevent-delete.json" + "$ref": "examples/liveevent-delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/liveEvents/{liveEventName}/allocate": { + "post": { + "tags": [ + "LiveEvents" + ], + "summary": "Allocate resources for a live event", + "description": "A live event is in StandBy state after allocation completes, and is ready to start.", + "operationId": "LiveEvents_Allocate", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/MediaServicesAccountName" + }, + { + "$ref": "#/parameters/LiveEventName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." + }, + "default": { + "description": "The streaming error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Allocate a LiveEvent": { + "$ref": "examples/liveevent-allocate.json" } } } @@ -298,7 +342,7 @@ "LiveEvents" ], "summary": "Start Live Event", - "description": "Starts an existing Live Event.", + "description": "A live event in Stopped or StandBy state will be in Running state after the start operation completes.", "operationId": "LiveEvents_Start", "parameters": [ { @@ -322,19 +366,19 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Start a LiveEvent": { - "$ref": "./examples/liveevent-start.json" + "$ref": "examples/liveevent-start.json" } } } @@ -345,7 +389,7 @@ "LiveEvents" ], "summary": "Stop Live Event", - "description": "Stops an existing Live Event.", + "description": "Stops a running live event.", "operationId": "LiveEvents_Stop", "parameters": [ { @@ -378,19 +422,19 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Stop a LiveEvent": { - "$ref": "./examples/liveevent-stop.json" + "$ref": "examples/liveevent-stop.json" } } } @@ -401,7 +445,7 @@ "LiveEvents" ], "summary": "Reset Live Event", - "description": "Resets an existing Live Event.", + "description": "Resets an existing live event. All live outputs for the live event are deleted and the live event is stopped and will be started again. All assets used by the live outputs and streaming locators created on these assets are unaffected. ", "operationId": "LiveEvents_Reset", "parameters": [ { @@ -425,19 +469,19 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Reset a LiveEvent": { - "$ref": "./examples/liveevent-reset.json" + "$ref": "examples/liveevent-reset.json" } } } @@ -448,7 +492,7 @@ "LiveOutputs" ], "summary": "List Live Outputs", - "description": "Lists the Live Outputs in the Live Event.", + "description": "Lists the live outputs of a live event.", "operationId": "LiveOutputs_List", "parameters": [ { @@ -477,7 +521,7 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -486,7 +530,7 @@ }, "x-ms-examples": { "List all LiveOutputs": { - "$ref": "./examples/liveoutput-list-all.json" + "$ref": "examples/liveoutput-list-all.json" } } } @@ -497,7 +541,7 @@ "LiveOutputs" ], "summary": "Get Live Output", - "description": "Gets a Live Output.", + "description": "Gets a live output.", "operationId": "LiveOutputs_Get", "parameters": [ { @@ -526,19 +570,16 @@ "$ref": "#/definitions/LiveOutput" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get a LiveOutput by name": { - "$ref": "./examples/liveoutput-list-by-name.json" + "$ref": "examples/liveoutput-list-by-name.json" } } }, @@ -547,7 +588,7 @@ "LiveOutputs" ], "summary": "Create Live Output", - "description": "Creates a Live Output.", + "description": "Creates a new live output.", "operationId": "LiveOutputs_Create", "parameters": [ { @@ -585,8 +626,8 @@ "$ref": "#/definitions/LiveOutput" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/LiveOutput" } @@ -594,14 +635,14 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Create a LiveOutput": { - "$ref": "./examples/liveoutput-create.json" + "$ref": "examples/liveoutput-create.json" } } }, @@ -610,7 +651,7 @@ "LiveOutputs" ], "summary": "Delete Live Output", - "description": "Deletes a Live Output.", + "description": "Deletes a live output. Deleting a live output does not delete the asset the live output is writing to.", "operationId": "LiveOutputs_Delete", "parameters": [ { @@ -637,22 +678,22 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "204": { - "description": "No content. The request has been accepted but the Live Output was not found." + "description": "No content. The request has been accepted but the live output was not found." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Delete a LiveOutput": { - "$ref": "./examples/liveoutput-delete.json" + "$ref": "examples/liveoutput-delete.json" } } } @@ -663,7 +704,7 @@ "StreamingEndpoints" ], "summary": "List StreamingEndpoints", - "description": "Lists the StreamingEndpoints in the account.", + "description": "Lists the streaming endpoints in the account.", "operationId": "StreamingEndpoints_List", "parameters": [ { @@ -689,7 +730,7 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, @@ -697,10 +738,10 @@ "nextLinkName": "@odata.nextLink" }, "x-ms-examples": { - "List all StreamingEndpoints": { - "$ref": "./examples/streamingendpoint-list-all.json" + "List all streaming endpoints": { + "$ref": "examples/streamingendpoint-list-all.json" } - } + } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Media/mediaservices/{accountName}/streamingEndpoints/{streamingEndpointName}": { @@ -709,7 +750,7 @@ "StreamingEndpoints" ], "summary": "Get StreamingEndpoint", - "description": "Gets a StreamingEndpoint.", + "description": "Gets a streaming endpoint.", "operationId": "StreamingEndpoints_Get", "parameters": [ { @@ -735,19 +776,16 @@ "$ref": "#/definitions/StreamingEndpoint" } }, - "404": { - "description": "NotFound" - }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { - "Get a StreamingEndpoint by name": { - "$ref": "./examples/streamingendpoint-list-by-name.json" + "Get a streaming endpoint by name": { + "$ref": "examples/streamingendpoint-list-by-name.json" } } }, @@ -756,7 +794,7 @@ "StreamingEndpoints" ], "summary": "Create StreamingEndpoint", - "description": "Creates a StreamingEndpoint.", + "description": "Creates a streaming endpoint.", "operationId": "StreamingEndpoints_Create", "parameters": [ { @@ -779,7 +817,7 @@ }, { "name": "parameters", - "description": "StreamingEndpoint properties needed for creation.", + "description": "Streaming endpoint properties needed for creation.", "in": "body", "required": true, "schema": { @@ -794,8 +832,8 @@ "$ref": "#/definitions/StreamingEndpoint" } }, - "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "201": { + "description": "Created. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on monitoring asynchronous Azure operations using the Azure-AsyncOperation response header.", "schema": { "$ref": "#/definitions/StreamingEndpoint" } @@ -803,23 +841,23 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-create.json" + "Create a streaming endpoint": { + "$ref": "examples/streamingendpoint-create.json" } - } + } }, "patch": { "tags": [ "StreamingEndpoint" ], "summary": "Update StreamingEndpoint", - "description": "Updates a existing StreamingEndpoint.", + "description": "Updates a existing streaming endpoint.", "operationId": "StreamingEndpoints_Update", "parameters": [ { @@ -839,7 +877,7 @@ }, { "name": "parameters", - "description": "StreamingEndpoint properties needed for creation.", + "description": "Streaming endpoint properties needed for creation.", "in": "body", "required": true, "schema": { @@ -855,7 +893,7 @@ } }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations.", "schema": { "$ref": "#/definitions/StreamingEndpoint" } @@ -863,14 +901,14 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Update a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-update.json" + "Update a streaming endpoint": { + "$ref": "examples/streamingendpoint-update.json" } } }, @@ -879,7 +917,7 @@ "StreamingEndpoints" ], "summary": "Delete StreamingEndpoint", - "description": "Deletes a StreamingEndpoint.", + "description": "Deletes a streaming endpoint.", "operationId": "StreamingEndpoints_Delete", "parameters": [ { @@ -903,7 +941,7 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "204": { "description": "No content. The request has been accepted but the Streaming Endpoint was not found." @@ -911,14 +949,14 @@ "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-delete.json" + "Delete a streaming endpoint": { + "$ref": "examples/streamingendpoint-delete.json" } } } @@ -929,7 +967,7 @@ "StreamingEndpoints" ], "summary": "Start StreamingEndpoint", - "description": "Starts an existing StreamingEndpoint.", + "description": "Starts an existing streaming endpoint.", "operationId": "StreamingEndpoints_Start", "parameters": [ { @@ -953,19 +991,19 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Start a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-start.json" + "Start a streaming endpoint": { + "$ref": "examples/streamingendpoint-start.json" } } } @@ -976,7 +1014,7 @@ "StreamingEndpoints" ], "summary": "Stop StreamingEndpoint", - "description": "Stops an existing StreamingEndpoint.", + "description": "Stops an existing streaming endpoint.", "operationId": "StreamingEndpoints_Stop", "parameters": [ { @@ -1000,19 +1038,19 @@ "description": "OK. The request has succeeded." }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Stop a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-stop.json" + "Stop a streaming endpoint": { + "$ref": "examples/streamingendpoint-stop.json" } } } @@ -1023,7 +1061,7 @@ "StreamingEndpoints" ], "summary": "Scale StreamingEndpoint", - "description": "Scales an existing StreamingEndpoint.", + "description": "Scales an existing streaming endpoint.", "operationId": "StreamingEndpoints_Scale", "parameters": [ { @@ -1043,10 +1081,10 @@ }, { "name": "parameters", - "description": "StreamingEndpoint scale parameters", + "description": "Streaming endpoint scale parameters", "in": "body", "required": true, - "schema": { + "schema": { "$ref": "#/definitions/StreamingEntityScaleUnit" } } @@ -1054,21 +1092,21 @@ "responses": { "200": { "description": "OK. The request has succeeded." - }, + }, "202": { - "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously." + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. See https://go.microsoft.com/fwlink/?linkid=2087017 for details on the monitoring asynchronous Azure Operations." }, "default": { "description": "The streaming error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApiError" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse" } } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Scale a StreamingEndpoint": { - "$ref": "./examples/streamingendpoint-scale.json" + "$ref": "examples/streamingendpoint-scale.json" } } } @@ -1076,64 +1114,69 @@ }, "definitions": { "Hls": { + "type": "object", "properties": { "fragmentsPerTsSegment": { "format": "int32", "type": "integer", - "description": "The amount of fragments per HTTP Live Streaming (HLS) segment." + "description": "The number of fragments in an HTTP Live Streaming (HLS) TS segment in the output of the live event. This value does not affect the packing ratio for HLS CMAF output." } }, - "description": "The HLS configuration." + "description": "HTTP Live Streaming (HLS) packing setting for the live output." }, "LiveOutputProperties": { - "required": ["assetName","archiveWindowLength"], + "type": "object", + "required": [ + "assetName", + "archiveWindowLength" + ], "properties": { "description": { "type": "string", - "description": "The description of the Live Output." + "description": "The description of the live output." }, "assetName": { "type": "string", - "description": "The asset name." + "description": "The asset that the live output will write to." }, "archiveWindowLength": { "format": "duration", "type": "string", - "description": "ISO 8601 timespan duration of the archive window length. This is duration that customer want to retain the recorded content." + "description": "ISO 8601 time between 1 minute to 25 hours to indicate the maximum content length that can be archived in the asset for this live output. This also sets the maximum content length for the rewind window. For example, use PT1H30M to indicate 1 hour and 30 minutes of archive window." }, "manifestName": { "type": "string", - "description": "The manifest file name. If not provided, the service will generate one automatically." + "description": "The manifest file name. If not provided, the service will generate one automatically." }, "hls": { "type": "object", "$ref": "#/definitions/Hls", - "description": "The HLS configuration." + "description": "HTTP Live Streaming (HLS) packing setting for the live output." }, "outputSnapTime": { "type": "integer", "format": "int64", - "description": "The output snapshot time." + "description": "The initial timestamp that the live output will start at, any content before this value will not be archived." }, "created": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Output was created." + "description": "The creation time the live output." }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Output was last modified." + "description": "The time the live output was last modified." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the Live Output." + "description": "The provisioning state of the live output." }, "resourceState": { - "description": "The resource state of the Live Output.", + "description": "The resource state of the live output.", "readOnly": true, "type": "string", "enum": [ @@ -1143,35 +1186,56 @@ ], "x-ms-enum": { "name": "LiveOutputResourceState", - "modelAsString": false + "values": [ + { + "value": "Creating", + "description": "Live output is being created. No content is archived in the asset until the live output is in running state." + }, + { + "value": "Running", + "description": "Live output is running and archiving live streaming content to the asset if there is valid input from a contribution encoder." + }, + { + "value": "Deleting", + "description": "Live output is being deleted. The live asset is being converted from live to on-demand asset. Any streaming URLs created on the live output asset continue to work." + } + ], + "modelAsString": true } } }, - "description": "The JSON object that contains the properties required to create a Live Output." + "description": "The JSON object that contains the properties required to create a live output." }, "LiveOutput": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/LiveOutputProperties", - "description": "The Live Output properties." + "description": "Live output properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "allOf": [ { - "$ref": "./Common.json#/definitions/ProxyResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource" } ], "description": "The Live Output." }, "LiveOutputListResult": { + "type": "object", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/LiveOutput" }, - "description": "The result of the List Live Output operation." + "description": "The result of the List LiveOutput operation." }, "@odata.count": { "type": "integer", @@ -1180,13 +1244,14 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." } }, "description": "The LiveOutput list result.", "title": "LiveOutputListResult" }, "LiveEventEndpoint": { + "type": "object", "properties": { "protocol": { "type": "string", @@ -1197,9 +1262,10 @@ "description": "The endpoint URL." } }, - "description": "The Live Event endpoint." + "description": "The live event endpoint." }, "LiveEventInputAccessControl": { + "type": "object", "properties": { "ip": { "type": "object", @@ -1207,47 +1273,61 @@ "description": "The IP access control properties." } }, - "description": "The IP access control for Live Event Input." + "description": "The IP access control for live event input." }, "LiveEventInput": { - "required": ["streamingProtocol"], + "type": "object", + "required": [ + "streamingProtocol" + ], "properties": { "streamingProtocol": { "type": "string", - "description": "The streaming protocol for the Live Event. This is specified at creation time and cannot be updated.", + "description": "The input protocol for the live event. This is specified at creation time and cannot be updated.", "enum": [ "FragmentedMP4", "RTMP" ], "x-ms-enum": { "name": "LiveEventInputProtocol", - "modelAsString": false + "values": [ + { + "value": "FragmentedMP4", + "description": "Smooth Streaming input will be sent by the contribution encoder to the live event." + }, + { + "value": "RTMP", + "description": "RTMP input will be sent by the contribution encoder to the live event." + } + ], + "modelAsString": true } }, "accessControl": { "type": "object", "$ref": "#/definitions/LiveEventInputAccessControl", - "description": "The access control for LiveEvent Input." + "description": "Access control for live event input." }, "keyFrameIntervalDuration": { "type": "string", - "description": "ISO 8601 timespan duration of the key frame interval duration." + "description": "ISO 8601 time duration of the key frame interval duration of the input. This value sets the EXT-X-TARGETDURATION property in the HLS output. For example, use PT2S to indicate 2 seconds. Leave the value empty for encoding live events." }, "accessToken": { "type": "string", - "description": "A unique identifier for a stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." + "description": "A UUID in string form to uniquely identify the stream. This can be specified at creation time but cannot be updated. If omitted, the service will generate a unique value." }, "endpoints": { "type": "array", "items": { "$ref": "#/definitions/LiveEventEndpoint" }, - "description": "The input endpoints for the Live Event." + "description": "The input endpoints for the live event." } }, - "description": "The Live Event input." + "description": "The live event input." }, "IPRange": { + "type": "object", "properties": { "name": { "type": "string", @@ -1266,6 +1346,7 @@ "description": "The IP address range in the CIDR scheme." }, "IPAccessControl": { + "type": "object", "properties": { "allow": { "type": "array", @@ -1278,6 +1359,7 @@ "description": "The IP access control." }, "LiveEventPreviewAccessControl": { + "type": "object", "properties": { "ip": { "type": "object", @@ -1285,60 +1367,172 @@ "description": "The IP access control properties." } }, - "description": "The IP access control for Live Event preview." + "description": "The IP access control for the live event preview endpoint." }, "LiveEventPreview": { + "type": "object", "properties": { "endpoints": { "type": "array", "items": { "$ref": "#/definitions/LiveEventEndpoint" }, - "description": "The endpoints for preview." + "description": "The endpoints for preview. Do not share the preview URL with the live event audience." }, "accessControl": { "type": "object", "$ref": "#/definitions/LiveEventPreviewAccessControl", - "description": "The access control for LiveEvent preview." + "description": "The access control for live event preview." }, "previewLocator": { "type": "string", - "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." + "description": "The identifier of the preview locator in Guid format. Specifying this at creation time allows the caller to know the preview locator url before the event is created. If omitted, the service will generate a random identifier. This value cannot be updated once the live event is created." }, "streamingPolicyName": { "type": "string", - "description": "The name of streaming policy used for the LiveEvent preview. This value is specified at creation time and cannot be updated." + "description": "The name of streaming policy used for the live event preview. This value is specified at creation time and cannot be updated." }, "alternativeMediaId": { "type": "string", - "description": "An Alternative Media Identifier associated with the StreamingLocator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." + "description": "An alternative media identifier associated with the streaming locator created for the preview. This value is specified at creation time and cannot be updated. The identifier can be used in the CustomLicenseAcquisitionUrlTemplate or the CustomKeyAcquisitionUrlTemplate of the StreamingPolicy specified in the StreamingPolicyName field." } }, - "description": "The Live Event preview." + "description": "Live event preview settings." }, "LiveEventEncoding": { + "type": "object", "properties": { "encodingType": { "type": "string", - "description": "The encoding type for Live Event. This value is specified at creation time and cannot be updated.", + "description": "Live event type. When encodingType is set to PassthroughBasic or PassthroughStandard, the service simply passes through the incoming video and audio layer(s) to the output. When encodingType is set to Standard or Premium1080p, a live encoder transcodes the incoming stream into multiple bitrates or layers. See https://go.microsoft.com/fwlink/?linkid=2095101 for more information. This property cannot be modified after the live event is created.", "enum": [ "None", - "Basic", - "Standard" + "Standard", + "Premium1080p", + "PassthroughBasic", + "PassthroughStandard" ], "x-ms-enum": { "name": "LiveEventEncodingType", - "modelAsString": false + "values": [ + { + "value": "None", + "description": "This is the same as PassthroughStandard, please see description below. This enumeration value is being deprecated." + }, + { + "value": "Standard", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 720p in resolution." + }, + { + "value": "Premium1080p", + "description": "A contribution live encoder sends a single bitrate stream to the live event and Media Services creates multiple bitrate streams. The output cannot exceed 1080p in resolution." + }, + { + "value": "PassthroughBasic", + "description": "The ingested stream passes through the live event from the contribution encoder without any further processing. In the PassthroughBasic mode, ingestion is limited to up to 5Mbps and only 1 concurrent live output is allowed. Live transcription is not available." + }, + { + "value": "PassthroughStandard", + "description": "The ingested stream passes through the live event from the contribution encoder without any further processing. Live transcription is available. Ingestion bitrate limits are much higher and up to 3 concurrent live outputs are allowed." + } + ], + "modelAsString": true } }, "presetName": { "type": "string", - "description": "The encoding preset name. This value is specified at creation time and cannot be updated." + "description": "The optional encoding preset name, used when encodingType is not None. This value is specified at creation time and cannot be updated. If the encodingType is set to Standard, then the default preset name is ‘Default720p’. Else if the encodingType is set to Premium1080p, the default preset is ‘Default1080p’." + }, + "stretchMode": { + "type": "string", + "enum": [ + "None", + "AutoSize", + "AutoFit" + ], + "x-ms-enum": { + "name": "StretchMode", + "values": [ + { + "value": "None", + "description": "Strictly respects the output resolution specified in the encoding preset without considering the pixel aspect ratio or display aspect ratio of the input video." + }, + { + "value": "AutoSize", + "description": "Override the output resolution, and change it to match the display aspect ratio of the input, without padding. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the value in the preset is overridden, and the output will be at 1280x720, which maintains the input aspect ratio of 16:9." + }, + { + "value": "AutoFit", + "description": "Pad the output (with either letterbox or pillar box) to honor the output resolution, while ensuring that the active video region in the output has the same aspect ratio as the input. For example, if the input is 1920x1080 and the encoding preset asks for 1280x1280, then the output will be at 1280x1280, which contains an inner rectangle of 1280x720 at aspect ratio of 16:9, and pillar box regions 280 pixels wide at the left and right." + } + ], + "modelAsString": true + }, + "description": "Specifies how the input video will be resized to fit the desired output resolution(s). Default is None" + }, + "keyFrameInterval": { + "type": "string", + "format": "duration", + "description": "Use an ISO 8601 time value between 0.5 to 20 seconds to specify the output fragment length for the video and audio tracks of an encoding live event. For example, use PT2S to indicate 2 seconds. For the video track it also defines the key frame interval, or the length of a GoP (group of pictures). If this value is not set for an encoding live event, the fragment duration defaults to 2 seconds. The value cannot be set for pass-through live events." + } + }, + "description": "Specifies the live event type and optional encoding settings for encoding live events." + }, + "LiveEventInputTrackSelection": { + "type": "object", + "properties": { + "property": { + "type": "string", + "description": "Property name to select. This property is reserved for future use, any value set on this property will be ignored." + }, + "operation": { + "type": "string", + "description": "Comparing operation. This property is reserved for future use, any value set on this property will be ignored." + }, + "value": { + "type": "string", + "description": "Property value to select. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "A track selection condition. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventOutputTranscriptionTrack": { + "type": "object", + "required": [ + "trackName" + ], + "properties": { + "trackName": { + "type": "string", + "description": "The output track name. This property is reserved for future use, any value set on this property will be ignored." } }, - "description": "The Live Event encoding." + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + }, + "LiveEventTranscription": { + "type": "object", + "properties": { + "language": { + "type": "string", + "description": "Specifies the language (locale) to be used for speech-to-text transcription – it should match the spoken language in the audio track. The value should be in BCP-47 format (e.g: 'en-US'). See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature and the list of supported languages." + }, + "inputTrackSelection": { + "type": "array", + "description": "Provides a mechanism to select the audio track in the input live feed, to which speech-to-text transcription is applied. This property is reserved for future use, any value set on this property will be ignored.", + "items": { + "$ref": "#/definitions/LiveEventInputTrackSelection" + } + }, + "outputTranscriptionTrack": { + "type": "object", + "$ref": "#/definitions/LiveEventOutputTranscriptionTrack", + "description": "Describes a transcription track in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." + } + }, + "description": "Describes the transcription tracks in the output of a live event, generated using speech-to-text transcription. This property is reserved for future use, any value set on this property will be ignored." }, "CrossSiteAccessPolicies": { + "type": "object", "properties": { "clientAccessPolicy": { "type": "string", @@ -1352,47 +1546,60 @@ "description": "The client access policy." }, "LiveEventActionInput": { + "type": "object", "properties": { "removeOutputsOnStop": { "type": "boolean", - "description": "The flag indicates if remove LiveOutputs on Stop." + "description": "The flag indicates whether live outputs are automatically deleted when live event is being stopped. Deleting live outputs do not delete the underlying assets." } }, "description": "The LiveEvent action input parameter definition." }, "LiveEventProperties": { - "required": ["input"], + "type": "object", + "required": [ + "input" + ], "properties": { "description": { "type": "string", - "description": "The Live Event description." + "description": "A description for the live event." }, "input": { "type": "object", "$ref": "#/definitions/LiveEventInput", - "description": "The Live Event input." + "description": "Live event input settings. It defines how the live event receives input from a contribution encoder." }, "preview": { "type": "object", "$ref": "#/definitions/LiveEventPreview", - "description": "The Live Event preview." + "description": "Live event preview settings. Preview allows live event producers to preview the live streaming content without creating any live output." }, "encoding": { "type": "object", "$ref": "#/definitions/LiveEventEncoding", - "description": "The Live Event encoding." + "description": "Encoding settings for the live event. It configures whether a live encoder is used for the live event and settings for the live encoder if it is used." + }, + "transcriptions": { + "type": "array", + "items": { + "$ref": "#/definitions/LiveEventTranscription" + }, + "description": "Live transcription settings for the live event. See https://go.microsoft.com/fwlink/?linkid=2133742 for more information about the live transcription feature." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the Live Event." + "description": "The provisioning state of the live event." }, "resourceState": { "readOnly": true, "type": "string", - "description": "The resource state of the Live Event.", + "description": "The resource state of the live event. See https://go.microsoft.com/fwlink/?linkid=2139012 for more information.", "enum": [ "Stopped", + "Allocating", + "StandBy", "Starting", "Running", "Stopping", @@ -1400,17 +1607,51 @@ ], "x-ms-enum": { "name": "LiveEventResourceState", - "modelAsString": false + "values": [ + { + "value": "Stopped", + "description": "This is the initial state of the live event after creation (unless autostart was set to true.) No billing occurs in this state. In this state, the live event properties can be updated but streaming is not allowed." + }, + { + "value": "Allocating", + "description": "Allocate action was called on the live event and resources are being provisioned for this live event. Once allocation completes successfully, the live event will transition to StandBy state." + }, + { + "value": "StandBy", + "description": "Live event resources have been provisioned and is ready to start. Billing occurs in this state. Most properties can still be updated, however ingest or streaming is not allowed during this state." + }, + { + "value": "Starting", + "description": "The live event is being started and resources are being allocated. No billing occurs in this state. Updates or streaming are not allowed during this state. If an error occurs, the live event returns to the Stopped state." + }, + { + "value": "Running", + "description": "The live event resources have been allocated, ingest and preview URLs have been generated, and it is capable of receiving live streams. At this point, billing is active. You must explicitly call Stop on the live event resource to halt further billing." + }, + { + "value": "Stopping", + "description": "The live event is being stopped and resources are being de-provisioned. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + }, + { + "value": "Deleting", + "description": "The live event is being deleted. No billing occurs in this transient state. Updates or streaming are not allowed during this state." + } + ], + "modelAsString": true } }, "crossSiteAccessPolicies": { "type": "object", "$ref": "#/definitions/CrossSiteAccessPolicies", - "description": "The Live Event access policies." + "description": "Live event cross site access policies." }, - "vanityUrl": { + "useStaticHostname": { "type": "boolean", - "description": "Specifies whether to use a vanity url with the Live Event. This value is specified at creation time and cannot be updated." + "description": "Specifies whether a static hostname would be assigned to the live event preview and ingest endpoints. This value can only be updated if the live event is in Standby state" + }, + "hostnamePrefix": { + "type": "string", + "description": "When useStaticHostname is set to true, the hostnamePrefix specifies the first part of the hostname assigned to the live event preview and ingest endpoints. The final hostname would be a combination of this prefix, the media service account name and a short code for the Azure Media Services data center." }, "streamOptions": { "type": "array", @@ -1422,42 +1663,59 @@ ], "x-ms-enum": { "name": "StreamOptionsFlag", - "modelAsString": false + "values": [ + { + "value": "Default", + "description": "Live streaming with no special latency optimizations." + }, + { + "value": "LowLatency", + "description": "The live event provides lower end to end latency by reducing its internal buffers. This could result in more client buffering during playback if network bandwidth is low." + } + ], + "modelAsString": true } }, - "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated." + "description": "The options to use for the LiveEvent. This value is specified at creation time and cannot be updated. The valid values for the array entry values are 'Default' and 'LowLatency'." }, "created": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Event was created." + "description": "The creation time for the live event" }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the Live Event was last modified." + "description": "The last modified time of the live event." } }, - "description": "The Live Event properties." + "description": "The live event properties." }, "LiveEvent": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/LiveEventProperties", - "description": "The Live Event properties." + "description": "The live event properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "allOf": [ { - "$ref": "./Common.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], - "description": "The Live Event." + "description": "The live event." }, "LiveEventListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1473,13 +1731,14 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of Live Outputs." + "description": "The link to the next set of results. Not empty if value contains incomplete list of live outputs." } }, "description": "The LiveEvent list result.", "title": "LiveEventListResult" }, "AkamaiSignatureHeaderAuthenticationKey": { + "type": "object", "properties": { "identifier": { "type": "string", @@ -1498,6 +1757,7 @@ "description": "Akamai Signature Header authentication key." }, "AkamaiAccessControl": { + "type": "object", "properties": { "akamaiSignatureHeaderAuthenticationKeyList": { "type": "array", @@ -1510,6 +1770,7 @@ "description": "Akamai access control" }, "StreamingEndpointAccessControl": { + "type": "object", "properties": { "akamai": { "type": "object", @@ -1519,41 +1780,45 @@ "ip": { "type": "object", "$ref": "#/definitions/IPAccessControl", - "description": "The IP access control of the StreamingEndpoint." + "description": "The IP access control of the streaming endpoint." } }, - "description": "StreamingEndpoint access control definition." + "description": "Streaming endpoint access control definition." }, "StreamingEntityScaleUnit": { + "type": "object", "properties": { "scaleUnit": { "type": "integer", "format": "int32", - "description": "The scale unit number of the StreamingEndpoint." + "description": "The scale unit number of the streaming endpoint." } }, "description": "scale units definition" }, "StreamingEndpointProperties": { - "required": ["scaleUnits"], + "type": "object", + "required": [ + "scaleUnits" + ], "properties": { "description": { "type": "string", - "description": "The StreamingEndpoint description." + "description": "The streaming endpoint description." }, "scaleUnits": { "type": "integer", "format": "int32", - "description": "The number of scale units. Use the Scale operation to adjust this value." + "description": "The number of scale units. Use the Scale operation to adjust this value." }, "availabilitySetName": { "type": "string", - "description": "The name of the AvailabilitySet used with this StreamingEndpoint for high availability streaming. This value can only be set at creation time." + "description": "This feature is deprecated, do not set a value for this property." }, "accessControl": { "type": "object", "$ref": "#/definitions/StreamingEndpointAccessControl", - "description": "The access control definition of the StreamingEndpoint." + "description": "The access control definition of the streaming endpoint." }, "maxCacheAge": { "type": "integer", @@ -1566,12 +1831,12 @@ "type": "string", "description": "custom host name" }, - "description": "The custom host names of the StreamingEndpoint" + "description": "The custom host names of the streaming endpoint" }, "hostName": { "readOnly": true, "type": "string", - "description": "The StreamingEndpoint host name." + "description": "The streaming endpoint host name." }, "cdnEnabled": { "type": "boolean", @@ -1588,12 +1853,12 @@ "provisioningState": { "readOnly": true, "type": "string", - "description": "The provisioning state of the StreamingEndpoint." + "description": "The provisioning state of the streaming endpoint." }, "resourceState": { "readOnly": true, "type": "string", - "description": "The resource state of the StreamingEndpoint.", + "description": "The resource state of the streaming endpoint.", "enum": [ "Stopped", "Starting", @@ -1604,13 +1869,39 @@ ], "x-ms-enum": { "name": "StreamingEndpointResourceState", - "modelAsString": false + "values": [ + { + "value": "Stopped", + "description": "The initial state of a streaming endpoint after creation. Content is not ready to be streamed from this endpoint." + }, + { + "value": "Starting", + "description": "The streaming endpoint is transitioning to the running state." + }, + { + "value": "Running", + "description": "The streaming endpoint is running. It is able to stream content to clients" + }, + { + "value": "Stopping", + "description": "The streaming endpoint is transitioning to the stopped state." + }, + { + "value": "Deleting", + "description": "The streaming endpoint is being deleted." + }, + { + "value": "Scaling", + "description": "The streaming endpoint is increasing or decreasing scale units." + } + ], + "modelAsString": true } }, "crossSiteAccessPolicies": { "type": "object", "$ref": "#/definitions/CrossSiteAccessPolicies", - "description": "The StreamingEndpoint access policies." + "description": "The streaming endpoint access policies." }, "freeTrialEndTime": { "readOnly": true, @@ -1622,33 +1913,40 @@ "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the StreamingEndpoint was created." + "description": "The exact time the streaming endpoint was created." }, "lastModified": { "readOnly": true, "format": "date-time", "type": "string", - "description": "The exact time the StreamingEndpoint was last modified." + "description": "The exact time the streaming endpoint was last modified." } }, - "description": "The StreamingEndpoint properties." + "description": "The streaming endpoint properties." }, "StreamingEndpoint": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/StreamingEndpointProperties", - "description": "The StreamingEndpoint properties." + "description": "The streaming endpoint properties." + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData", + "description": "The system metadata relating to this resource.", + "readOnly": true } }, "allOf": [ { - "$ref": "./Common.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" } ], - "description": "The StreamingEndpoint." + "description": "The streaming endpoint." }, "StreamingEndpointListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1664,47 +1962,11 @@ }, "@odata.nextLink": { "type": "string", - "description": "Th link to the next set of results. Not empty if value contains incomplete list of StreamingEndpoints." + "description": "The link to the next set of results. Not empty if value contains incomplete list of streaming endpoints." } }, - "description": "The StreamingEndpoint list result.", + "description": "The streaming endpoint list result.", "title": "StreamingEndpointListResult" - }, - "ODataError": { - "properties": { - "code": { - "type": "string", - "description": "A language-independent error name." - }, - "message": { - "type": "string", - "description": "The error message." - }, - "target": { - "type": "string", - "description": "The target of the error (for example, the name of the property in error)." - }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/ODataError" - }, - "description": "The error details." - } - }, - "type": "object", - "description": "Information about an error." - }, - "ApiError": { - "properties": { - "error": { - "$ref": "#/definitions/ODataError", - "description": "The error properties.", - "title": "ApiError" - } - }, - "type": "object", - "description": "The API error." } }, "parameters": { @@ -1717,7 +1979,7 @@ }, "ApiVersion": { "name": "api-version", - "description": "The Version of the API to be used with the client request.", + "description": "The version of the API to be used with the client request.", "in": "query", "required": true, "type": "string" @@ -1740,7 +2002,7 @@ }, "LiveEventName": { "name": "liveEventName", - "description": "The name of the Live Event.", + "description": "The name of the live event, maximum length is 32.", "in": "path", "required": true, "type": "string", @@ -1759,7 +2021,7 @@ }, "LiveOutputName": { "name": "liveOutputName", - "description": "The name of the Live Output.", + "description": "The name of the live output.", "in": "path", "required": true, "type": "string", @@ -1770,7 +2032,7 @@ }, "StreamingEndpointName": { "name": "streamingEndpointName", - "description": "The name of the StreamingEndpoint.", + "description": "The name of the streaming endpoint, maximum length is 24.", "in": "path", "required": true, "type": "string", diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/applicationGateway.json b/App_Data/SwaggerSpecs/Microsoft.Network/applicationGateway.json index f5e17e1e..f877c6ec 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/applicationGateway.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/applicationGateway.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -2053,6 +2053,10 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Rewrite rule set resource of URL path map path rule." }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of URL path map path rule." + }, "provisioningState": { "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", @@ -2243,6 +2247,10 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Redirect configuration resource of the application gateway." }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of the application gateway." + }, "provisioningState": { "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", @@ -2928,6 +2936,17 @@ "forceFirewallPolicyAssociation": { "type": "boolean", "description": "If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config." + }, + "loadDistributionPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicy" + }, + "description": "Load distribution policies of the application gateway resource." + }, + "globalConfiguration": { + "$ref": "#/definitions/ApplicationGatewayGlobalConfiguration", + "description": "Global Configuration." } }, "description": "Properties of the application gateway." @@ -2997,6 +3016,10 @@ "$ref": "./network.json#/definitions/SubResource", "description": "Default redirect configuration resource of URL path map." }, + "defaultLoadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Load Distribution Policy resource of URL path map." + }, "pathRules": { "type": "array", "items": { @@ -3531,6 +3554,128 @@ "name": "ApplicationGatewayProtocol", "modelAsString": true } + }, + "ApplicationGatewayLoadDistributionPolicyPropertiesFormat": { + "properties": { + "loadDistributionTargets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTarget" + }, + "description": "Load Distribution Targets resource of an application gateway." + }, + "loadDistributionAlgorithm": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionAlgorithmEnum", + "description": "Load Distribution Targets resource of an application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Load Distribution Policy resource." + } + }, + "description": "Properties of Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicyPropertiesFormat", + "description": "Properties of the application gateway load distribution policy." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionTargetPropertiesFormat": { + "properties": { + "weightPerServer": { + "type": "integer", + "format": "int32", + "maximum": 100, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "Weight per server. Range between 1 and 100." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + } + } + }, + "ApplicationGatewayLoadDistributionTarget": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTargetPropertiesFormat", + "description": "Properties of the application gateway load distribution target." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Target of an application gateway." + }, + "ApplicationGatewayLoadDistributionAlgorithmEnum": { + "type": "string", + "description": "Load Distribution Algorithm enums.", + "enum": [ + "RoundRobin", + "LeastConnections", + "IpHash" + ], + "x-ms-enum": { + "name": "ApplicationGatewayLoadDistributionAlgorithm", + "modelAsString": true + } + }, + "ApplicationGatewayGlobalConfiguration": { + "properties": { + "enableRequestBuffering": { + "type": "boolean", + "description": "Enable request buffering." + }, + "enableResponseBuffering": { + "type": "boolean", + "description": "Enable response buffering." + } + }, + "description": "Application Gateway global configuration." } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/applicationSecurityGroup.json b/App_Data/SwaggerSpecs/Microsoft.Network/applicationSecurityGroup.json index a2826e02..5330acab 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/applicationSecurityGroup.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/applicationSecurityGroup.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/azureFirewall.json b/App_Data/SwaggerSpecs/Microsoft.Network/azureFirewall.json index e5974189..6b978f95 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/azureFirewall.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/azureFirewall.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -1071,7 +1071,8 @@ "description": "Tier of an Azure Firewall.", "enum": [ "Standard", - "Premium" + "Premium", + "Basic" ], "x-ms-enum": { "name": "AzureFirewallSkuTier", diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/bastionHost.json b/App_Data/SwaggerSpecs/Microsoft.Network/bastionHost.json index 28e9654f..28565ea9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/bastionHost.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/bastionHost.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -180,6 +180,62 @@ "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" } + }, + "patch": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_UpdateTags", + "description": "Updates Tags for BastionHost resource", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update BastionHost tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch Bastion Host": { + "$ref": "./examples/BastionHostPatch.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } } }, "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": { @@ -611,6 +667,38 @@ "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", "description": "The provisioning state of the bastion host resource." + }, + "scaleUnits": { + "type": "integer", + "format": "int32", + "description": "The scale units for the Bastion Host resource.", + "minimum": 2, + "maximum": 50 + }, + "disableCopyPaste": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Copy/Paste feature of the Bastion Host resource." + }, + "enableFileCopy": { + "type": "boolean", + "default": false, + "description": "Enable/Disable File Copy feature of the Bastion Host resource." + }, + "enableIpConnect": { + "type": "boolean", + "default": false, + "description": "Enable/Disable IP Connect feature of the Bastion Host resource." + }, + "enableShareableLink": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Shareable Link of the Bastion Host resource." + }, + "enableTunneling": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Tunneling feature of the Bastion Host resource." } }, "description": "Properties of the Bastion Host." diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/checkDnsAvailability.json b/App_Data/SwaggerSpecs/Microsoft.Network/checkDnsAvailability.json index 6ed433c2..bd1a7226 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/checkDnsAvailability.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/checkDnsAvailability.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/ddosProtectionPlan.json b/App_Data/SwaggerSpecs/Microsoft.Network/ddosProtectionPlan.json index 6209433d..ada67169 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/ddosProtectionPlan.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/ddosProtectionPlan.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/endpointService.json b/App_Data/SwaggerSpecs/Microsoft.Network/endpointService.json index a277e9b2..49389d56 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/endpointService.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/endpointService.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCircuit.json b/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCircuit.json index a766d10c..43f0a0ef 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCircuit.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCircuit.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCrossConnection.json b/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCrossConnection.json index f0d572c7..ca8c92f2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCrossConnection.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/expressRouteCrossConnection.json @@ -3,7 +3,7 @@ "info": { "title": "ExpressRouteCrossConnection REST APIs", "description": "The Microsoft Azure ExpressRouteCrossConnection Resource Provider REST APIs describes the operations for the connectivity provider to provision ExpressRoute circuit, create and modify BGP peering entities and troubleshoot connectivity on customer's ExpressRoute circuit.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/loadBalancer.json b/App_Data/SwaggerSpecs/Microsoft.Network/loadBalancer.json index 77b738e4..f4884e83 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/loadBalancer.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/loadBalancer.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -142,6 +142,9 @@ "x-ms-examples": { "Get load balancer": { "$ref": "./examples/LoadBalancerGet.json" + }, + "Get load balancer with inbound NAT rule port mapping": { + "$ref": "./examples/LoadBalancerGetInboundNatRulePortMapping.json" } } }, @@ -747,7 +750,7 @@ "LoadBalancers" ], "operationId": "InboundNatRules_List", - "description": "Gets all the inbound nat rules in a load balancer.", + "description": "Gets all the inbound NAT rules in a load balancer.", "parameters": [ { "name": "resourceGroupName", @@ -800,7 +803,7 @@ "LoadBalancers" ], "operationId": "InboundNatRules_Delete", - "description": "Deletes the specified load balancer inbound nat rule.", + "description": "Deletes the specified load balancer inbound NAT rule.", "parameters": [ { "name": "resourceGroupName", @@ -821,7 +824,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the inbound nat rule." + "description": "The name of the inbound NAT rule." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -862,7 +865,7 @@ "LoadBalancers" ], "operationId": "InboundNatRules_Get", - "description": "Gets the specified load balancer inbound nat rule.", + "description": "Gets the specified load balancer inbound NAT rule.", "parameters": [ { "name": "resourceGroupName", @@ -883,7 +886,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the inbound nat rule." + "description": "The name of the inbound NAT rule." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -924,7 +927,7 @@ "LoadBalancers" ], "operationId": "InboundNatRules_CreateOrUpdate", - "description": "Creates or updates a load balancer inbound nat rule.", + "description": "Creates or updates a load balancer inbound NAT rule.", "parameters": [ { "name": "resourceGroupName", @@ -945,7 +948,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the inbound nat rule." + "description": "The name of the inbound NAT rule." }, { "name": "inboundNatRuleParameters", @@ -954,7 +957,7 @@ "schema": { "$ref": "#/definitions/InboundNatRule" }, - "description": "Parameters supplied to the create or update inbound nat rule operation." + "description": "Parameters supplied to the create or update inbound NAT rule operation." }, { "$ref": "./network.json#/parameters/ApiVersionParameter" @@ -1379,6 +1382,82 @@ } } }, + "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools/{backendPoolName}/queryInboundNatRulePortMapping": { + "post": { + "tags": [ + "LoadBalancers" + ], + "operationId": "LoadBalancers_ListInboundNatRulePortMappings", + "description": "List of inbound NAT rule port mappings.", + "parameters": [ + { + "name": "groupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "loadBalancerName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer." + }, + { + "name": "backendPoolName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the load balancer backend address pool." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/QueryInboundNatRulePortMappingRequest" + }, + "description": "Query inbound NAT rule port mapping request." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successful request for query inbound NAT rule port mapping.", + "schema": { + "$ref": "#/definitions/BackendAddressInboundNatRulePortMappings" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BackendAddressInboundNatRulePortMappings" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Query inbound NAT rule port mapping": { + "$ref": "./examples/QueryInboundNatRulePortMapping.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}": { "get": { "tags": [ @@ -1639,6 +1718,14 @@ "readOnly": false, "$ref": "./network.json#/definitions/SubResource", "description": "Reference to the frontend ip address configuration defined in regional loadbalancer." + }, + "inboundNatRulesPortMapping": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/NatRulePortMapping" + }, + "description": "Collection of inbound NAT rule port mappings." } }, "description": "Properties of the load balancer backend addresses." @@ -1706,6 +1793,14 @@ }, "description": "An array of references to outbound rules that use this backend address pool." }, + "inboundNatRules": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "An array of references to inbound NAT rules that use this backend address pool." + }, "provisioningState": { "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", @@ -1970,6 +2065,20 @@ "type": "boolean", "description": "Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected connection termination. This element is only used when the protocol is set to TCP." }, + "frontendPortRangeStart": { + "type": "integer", + "format": "int32", + "description": "The port range start for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeEnd. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "frontendPortRangeEnd": { + "type": "integer", + "format": "int32", + "description": "The port range end for the external endpoint. This property is used together with BackendAddressPool and FrontendPortRangeStart. Individual inbound NAT rule port mappings will be created for each backend address from BackendAddressPool. Acceptable values range from 1 to 65534." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "A reference to backendAddressPool resource." + }, "provisioningState": { "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", @@ -1983,7 +2092,7 @@ "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/InboundNatRulePropertiesFormat", - "description": "Properties of load balancer inbound nat rule." + "description": "Properties of load balancer inbound NAT rule." }, "name": { "type": "string", @@ -2211,7 +2320,7 @@ "items": { "$ref": "#/definitions/InboundNatPool" }, - "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." + "description": "Defines an external port range for inbound NAT to a single backend port on NICs associated with a load balancer. Inbound NAT rules are created automatically for each NIC associated with the Load Balancer using an external port from this range. Defining an Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound NAT rules. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with individual virtual machines cannot reference an inbound NAT pool. They have to reference individual inbound NAT rules." }, "outboundRules": { "type": "array", @@ -2285,7 +2394,7 @@ "items": { "$ref": "#/definitions/InboundNatRule" }, - "description": "A list of inbound nat rules in a load balancer." + "description": "A list of inbound NAT rules in a load balancer." }, "nextLink": { "readOnly": true, @@ -2427,6 +2536,81 @@ } }, "description": "The properties of VIP swap request's frontend IP configuration object." + }, + "NatRulePortMapping": { + "type": "object", + "properties": { + "inboundNatRuleName": { + "type": "string", + "description": "Name of inbound NAT rule." + }, + "frontendPort": { + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "backendPort": { + "type": "integer", + "format": "int32", + "description": "Backend port." + } + }, + "description": "Individual port mappings for inbound NAT rule created for backend pool." + }, + "QueryInboundNatRulePortMappingRequest": { + "type": "object", + "properties": { + "ipConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "NetworkInterfaceIPConfiguration set in load balancer backend address." + }, + "ipAddress": { + "type": "string", + "description": "IP address set in load balancer backend address." + } + }, + "description": "The request for a QueryInboundNatRulePortMapping API. Either IpConfiguration or IpAddress should be set" + }, + "BackendAddressInboundNatRulePortMappings": { + "type": "object", + "properties": { + "inboundNatRulePortMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/InboundNatRulePortMapping" + }, + "description": "Collection of inbound NAT rule port mappings." + } + }, + "description": "The response for a QueryInboundNatRulePortMapping API." + }, + "InboundNatRulePortMapping": { + "type": "object", + "properties": { + "inboundNatRuleName": { + "readOnly": true, + "type": "string", + "description": "Name of inbound NAT rule." + }, + "protocol": { + "readOnly": true, + "$ref": "#/definitions/TransportProtocol", + "description": "The reference to the transport protocol used by the inbound NAT rule." + }, + "frontendPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "backendPort": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Backend port." + } + }, + "description": "Individual port mappings for inbound NAT rule created for backend pool." } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/natGateway.json b/App_Data/SwaggerSpecs/Microsoft.Network/natGateway.json index 946e817d..965fcf1a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/natGateway.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/natGateway.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/network.json b/App_Data/SwaggerSpecs/Microsoft.Network/network.json index 01be4961..ad54f54d 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/network.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/network.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/networkInterface.json b/App_Data/SwaggerSpecs/Microsoft.Network/networkInterface.json index f5134567..d762a4c4 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/networkInterface.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/networkInterface.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -1134,6 +1134,11 @@ "type": "boolean", "description": "Whether this is a primary network interface on a virtual machine." }, + "vnetEncryptionSupported": { + "readOnly": true, + "type": "boolean", + "description": "Whether the virtual machine this nic is attached to supports encryption." + }, "enableAcceleratedNetworking": { "type": "boolean", "description": "If the network interface is accelerated networking enabled." diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/networkProfile.json b/App_Data/SwaggerSpecs/Microsoft.Network/networkProfile.json index d56a0506..17436ae5 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/networkProfile.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/networkProfile.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/networkSecurityGroup.json b/App_Data/SwaggerSpecs/Microsoft.Network/networkSecurityGroup.json index d3ab7117..9156d0eb 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/networkSecurityGroup.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/networkSecurityGroup.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/networkWatcher.json b/App_Data/SwaggerSpecs/Microsoft.Network/networkWatcher.json index c010eb88..4a25de74 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/networkWatcher.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/networkWatcher.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/operation.json b/App_Data/SwaggerSpecs/Microsoft.Network/operation.json index 4dca7023..b30b755e 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/operation.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/operation.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/privateEndpoint.json b/App_Data/SwaggerSpecs/Microsoft.Network/privateEndpoint.json index 8f094c98..62ad009f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/privateEndpoint.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/privateEndpoint.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -145,6 +145,9 @@ }, "Get private endpoint with manual approval connection": { "$ref": "./examples/PrivateEndpointGetForManualApproval.json" + }, + "Get private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointGetWithASG.json" } } }, @@ -215,6 +218,9 @@ }, "Create private endpoint with manual approval connection": { "$ref": "./examples/PrivateEndpointCreateForManualApproval.json" + }, + "Create private endpoint with application security groups": { + "$ref": "./examples/PrivateEndpointCreateWithASG.json" } } } @@ -708,6 +714,24 @@ "$ref": "#/definitions/CustomDnsConfigPropertiesFormat" }, "description": "An array of custom dns configurations." + }, + "applicationSecurityGroups": { + "type": "array", + "items": { + "$ref": "./applicationSecurityGroup.json#/definitions/ApplicationSecurityGroup" + }, + "description": "Application security groups in which the private endpoint IP configuration is included." + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointIPConfiguration" + }, + "description": "A list of IP configurations of the private endpoint. This will be used to map to the First Party Service's endpoints." + }, + "customNetworkInterfaceName": { + "type": "string", + "description": "The custom name of the network interface attached to the private endpoint." } }, "description": "Properties of the private endpoint." @@ -966,6 +990,49 @@ } }, "description": "A collective group of information about the record set information." + }, + "PrivateEndpointIPConfiguration": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointIPConfigurationProperties", + "description": "Properties of private endpoint IP configurations." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "An IP Configuration of the private endpoint." + }, + "PrivateEndpointIPConfigurationProperties": { + "type": "object", + "properties": { + "groupId": { + "type": "string", + "description": "The ID of a group obtained from the remote resource that this private endpoint should connect to." + }, + "memberName": { + "type": "string", + "description": "The member name of a group obtained from the remote resource that this private endpoint should connect to." + }, + "privateIPAddress": { + "type": "string", + "description": "A private ip address obtained from the private endpoint's subnet." + } + }, + "description": "Properties of an IP Configuration of the private endpoint." } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/privateLinkService.json b/App_Data/SwaggerSpecs/Microsoft.Network/privateLinkService.json index 0bb581fb..82a1cb96 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/privateLinkService.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/privateLinkService.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/publicIpAddress.json b/App_Data/SwaggerSpecs/Microsoft.Network/publicIpAddress.json index 454dcfdb..e230f2b6 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/publicIpAddress.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/publicIpAddress.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/publicIpPrefix.json b/App_Data/SwaggerSpecs/Microsoft.Network/publicIpPrefix.json index 296ecbb8..45b02e2e 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/publicIpPrefix.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/publicIpPrefix.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/routeFilter.json b/App_Data/SwaggerSpecs/Microsoft.Network/routeFilter.json index 7842865f..b722403f 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/routeFilter.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/routeFilter.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/routeTable.json b/App_Data/SwaggerSpecs/Microsoft.Network/routeTable.json index aad6ca47..d92c8624 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/routeTable.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/routeTable.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/serviceCommunity.json b/App_Data/SwaggerSpecs/Microsoft.Network/serviceCommunity.json index a376df06..10e490da 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/serviceCommunity.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/serviceCommunity.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/serviceEndpointPolicy.json b/App_Data/SwaggerSpecs/Microsoft.Network/serviceEndpointPolicy.json index 238c590e..39c2770c 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/serviceEndpointPolicy.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/serviceEndpointPolicy.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -646,6 +646,10 @@ "readOnly": true, "type": "string", "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "The type of the resource." } }, "allOf": [ @@ -697,6 +701,17 @@ "readOnly": true, "$ref": "./network.json#/definitions/ProvisioningState", "description": "The provisioning state of the service endpoint policy resource." + }, + "serviceAlias": { + "type": "string", + "description": "The alias indicating if the policy belongs to a service" + }, + "contextualServiceEndpointPolicies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A collection of contextual service endpoint policy." } }, "description": "Service Endpoint Policy resource." diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/usage.json b/App_Data/SwaggerSpecs/Microsoft.Network/usage.json index 947f363a..6c3b304a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/usage.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/usage.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetwork.json b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetwork.json index cc1a75d6..fad7d17b 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetwork.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetwork.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -233,6 +233,9 @@ }, "Create virtual network with delegated subnets": { "$ref": "./examples/VirtualNetworkCreateSubnetWithDelegation.json" + }, + "Create virtual network with encryption": { + "$ref": "./examples/VirtualNetworkCreateWithEncryption.json" } } }, @@ -998,6 +1001,9 @@ "x-ms-examples": { "Get peering": { "$ref": "./examples/VirtualNetworkPeeringGet.json" + }, + "Get peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json" } } }, @@ -1085,6 +1091,9 @@ }, "Sync Peering": { "$ref": "./examples/VirtualNetworkPeeringSync.json" + }, + "Create peering with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json" } }, "x-ms-long-running-operation": true, @@ -1142,6 +1151,9 @@ "x-ms-examples": { "List peerings": { "$ref": "./examples/VirtualNetworkPeeringList.json" + }, + "List peerings with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json" } } } @@ -1607,6 +1619,12 @@ "default": null, "description": "The reference to the remote virtual network's Bgp Communities." }, + "remoteVirtualNetworkEncryption": { + "readOnly": true, + "$ref": "#/definitions/VirtualNetworkEncryption", + "default": null, + "description": "The reference to the remote virtual network's encryption" + }, "peeringState": { "type": "string", "description": "The status of the virtual network peering.", @@ -1832,6 +1850,11 @@ "default": null, "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." }, + "encryption": { + "$ref": "#/definitions/VirtualNetworkEncryption", + "default": null, + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, "ipAllocations": { "type": "array", "items": { @@ -1923,6 +1946,31 @@ ], "description": "Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET." }, + "VirtualNetworkEncryption": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Indicates if encryption is enabled on the virtual network." + }, + "enforcement": { + "type": "string", + "description": "If the encrypted VNet allows VM that does not support encryption", + "enum": [ + "DropUnencrypted", + "AllowUnencrypted" + ], + "x-ms-enum": { + "name": "VirtualNetworkEncryptionEnforcement", + "modelAsString": true + } + } + }, + "required": [ + "enabled" + ], + "description": "Indicates if encryption is enabled on virtual network and if VM without encryption is allowed in encrypted VNet." + }, "IPAddressAvailabilityResult": { "properties": { "available": { diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkGateway.json b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkGateway.json index a085950c..e2510dd9 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkGateway.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkGateway.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -2759,6 +2759,10 @@ "type": "boolean", "description": "ActiveActive flag." }, + "disableIPSecReplayProtection": { + "type": "boolean", + "description": "disableIPSecReplayProtection flag." + }, "gatewayDefaultSite": { "$ref": "./network.json#/definitions/SubResource", "description": "The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting." diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkTap.json b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkTap.json index 0cd00eee..09fe1c40 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkTap.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/virtualNetworkTap.json @@ -3,7 +3,7 @@ "info": { "title": "NetworkManagementClient", "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/virtualWan.json b/App_Data/SwaggerSpecs/Microsoft.Network/virtualWan.json index dda5ddbe..48f4fa23 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/virtualWan.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/virtualWan.json @@ -3,7 +3,7 @@ "info": { "title": "VirtualWANAsAServiceManagementClient", "description": "REST API for Azure VirtualWAN As a Service.", - "version": "2021-02-01" + "version": "2021-05-01" }, "host": "management.azure.com", "schemes": [ @@ -5448,6 +5448,240 @@ "final-state-via": "location" } } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routingIntent/{routingIntentName}": { + "put": { + "operationId": "RoutingIntent_CreateOrUpdate", + "x-ms-examples": { + "RouteTablePut": { + "$ref": "./examples/RoutingIntentPut.json" + } + }, + "description": "Creates a RoutingIntent resource if it doesn't exist else updates the existing RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the per VirtualHub singleton Routing Intent resource." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "routingIntentParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/RoutingIntent" + }, + "description": "Parameters supplied to create or update RoutingIntent." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RoutingIntent created or updated.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "201": { + "description": "Request received successfully. Returns the details of the RoutingIntent created or updated.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "operationId": "RoutingIntent_Get", + "x-ms-examples": { + "RouteTableGet": { + "$ref": "./examples/RoutingIntentGet.json" + } + }, + "description": "Retrieves the details of a RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RoutingIntent." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the RoutingIntent retrieved.", + "schema": { + "$ref": "#/definitions/RoutingIntent" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "RoutingIntent_Delete", + "x-ms-examples": { + "RouteTableDelete": { + "$ref": "./examples/RoutingIntentDelete.json" + } + }, + "description": "Deletes a RoutingIntent.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the RoutingIntent." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "name": "routingIntentName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the RoutingIntent." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. RoutingIntent deleted." + }, + "202": { + "description": "Request received successfully. RoutingIntent deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No RoutingIntent exists by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/routingIntent": { + "get": { + "operationId": "RoutingIntent_List", + "x-ms-examples": { + "RoutingIntentList": { + "$ref": "./examples/RoutingIntentList.json" + } + }, + "description": "Retrieves the details of all RoutingIntent child resources of the VirtualHub.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the VirtualHub." + }, + { + "name": "virtualHubName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the VirtualHub." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of all the RoutingIntent resources for the VirtualHub.", + "schema": { + "$ref": "#/definitions/ListRoutingIntentResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { @@ -5889,6 +6123,11 @@ "readOnly": false, "description": "Peer IP." }, + "hubVirtualNetworkConnection": { + "description": "The reference to the HubVirtualNetworkConnection resource.", + "readOnly": false, + "$ref": "./network.json#/definitions/SubResource" + }, "provisioningState": { "description": "The provisioning state of the resource.", "readOnly": true, @@ -6062,6 +6301,11 @@ "type": "string", "readOnly": true, "description": "A unique read-only string that changes whenever the resource is updated." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of service virtual hub. This is metadata used for the Azure portal experience for Route Server." } }, "allOf": [ @@ -6122,6 +6366,10 @@ "$ref": "#/definitions/VpnGatewayIpConfiguration" } }, + "enableBgpRouteTranslationForNat": { + "type": "boolean", + "description": "Enable BGP routes translation for NAT on this VpnGateway." + }, "isRoutingPreferenceInternet": { "type": "boolean", "description": "Enable Routing Preference property for the Public IP Interface of the VpnGateway." @@ -6197,6 +6445,10 @@ "addressSpace": { "type": "string", "description": "Address space for Vpn NatRule mapping." + }, + "portRange": { + "type": "string", + "description": "Port range for Vpn NatRule mapping." } }, "description": "Vpn NatRule mapping." @@ -7800,6 +8052,14 @@ "items": { "$ref": "#/definitions/StaticRoute" } + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "The list of references to HubBgpConnection objects.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } } } }, @@ -7908,6 +8168,98 @@ } }, "description": "Office365 breakout categories." + }, + "ListRoutingIntentResult": { + "description": "List of the routing intent result and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingIntent" + }, + "description": "List of RoutingIntent resource." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "RoutingIntent": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutingIntentProperties", + "description": "Properties of the RoutingIntent resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The routing intent child resource of a Virtual hub.", + "type": "object" + }, + "RoutingIntentProperties": { + "properties": { + "routingPolicies": { + "type": "array", + "description": "List of routing policies.", + "readOnly": false, + "items": { + "$ref": "#/definitions/RoutingPolicy" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RoutingIntent resource." + } + }, + "description": "The properties of a RoutingIntent resource.", + "type": "object" + }, + "RoutingPolicy": { + "required": [ + "name", + "destinations", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The unique name for the routing policy." + }, + "destinations": { + "type": "array", + "description": "List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic).", + "items": { + "type": "string" + } + }, + "nextHop": { + "type": "string", + "description": "The next hop resource id on which this routing policy is applicable to." + } + }, + "description": "The routing policy object used in a RoutingIntent resource.", + "type": "object" } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.Network/webapplicationfirewall.json b/App_Data/SwaggerSpecs/Microsoft.Network/webapplicationfirewall.json index 86ad2013..8c01c6ef 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Network/webapplicationfirewall.json +++ b/App_Data/SwaggerSpecs/Microsoft.Network/webapplicationfirewall.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2021-02-01", + "version": "2021-05-01", "title": "WebApplicationFirewallManagement", "description": "APIs to manage web application firewall rules." }, @@ -654,6 +654,7 @@ } }, "ManagedRuleGroupOverride": { + "type": "object", "description": "Defines a managed rule group override setting.", "required": [ "ruleGroupName" @@ -673,6 +674,7 @@ } }, "ManagedRuleOverride": { + "type": "object", "description": "Defines a managed rule group override setting.", "required": [ "ruleId" @@ -695,6 +697,64 @@ } } }, + "ExclusionManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set for Exclusions.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroups": { + "description": "Defines the rule groups to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleGroup" + } + } + } + }, + "ExclusionManagedRuleGroup": { + "type": "object", + "description": "Defines a managed rule group to use for exclusion.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group for exclusion.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be excluded. If none specified, all rules in the group will be excluded.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRule" + } + } + } + }, + "ExclusionManagedRule": { + "type": "object", + "description": "Defines a managed rule to use for exclusion.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + } + }, "OwaspCrsExclusionEntry": { "required": [ "matchVariable", @@ -708,7 +768,13 @@ "enum": [ "RequestHeaderNames", "RequestCookieNames", - "RequestArgNames" + "RequestArgNames", + "RequestHeaderKeys", + "RequestHeaderValues", + "RequestCookieKeys", + "RequestCookieValues", + "RequestArgKeys", + "RequestArgValues" ], "description": "The variable to be excluded.", "x-ms-enum": { @@ -734,6 +800,13 @@ "selector": { "type": "string", "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + }, + "exclusionManagedRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleSet" + }, + "description": "The managed rule sets that are associated with the exclusion." } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/registeredidentities.json b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/registeredidentities.json index ec8f9d43..67d4bbc4 100644 --- a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/registeredidentities.json +++ b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/registeredidentities.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-06-01", + "version": "2021-08-01", "title": "RecoveryServicesClient", "x-ms-code-generation-settings": { "internalConstructors": false @@ -18,47 +18,12 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Returns the list of available operations.", - "operationId": "Operations_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceGroupName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./vaults.json#/definitions/ClientDiscoveryResponse" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "NextLink" - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/certificates/{certificateName}": { "put": { "tags": [ "VaultCertificates" ], - "description": "Upload a certificate for a resource.", + "description": "Uploads a certificate for a resource.", "operationId": "VaultCertificates_Create", "consumes": [ "application/json" @@ -104,7 +69,12 @@ } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Download vault credential file": { + "$ref": "./examples/PUTVaultCred.json" + } + } } }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/registeredIdentities/{identityName}": { @@ -140,7 +110,12 @@ "description": "NoContent" } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Delete registered Identity": { + "$ref": "./examples/DeleteRegisteredIdentities.json" + } + } } } }, @@ -223,6 +198,10 @@ "azureManagementEndpointAudience": { "description": "Azure Management Endpoint Audience.", "type": "string" + }, + "serviceResourceId": { + "description": "Service Resource Id.", + "type": "string" } }, "x-ms-discriminator-value": "AzureActiveDirectory" @@ -272,7 +251,7 @@ "type": "object", "properties": { "authType": { - "description": "This property will be used as the discriminator for deciding the specific types in the polymorhpic chain of types.", + "description": "This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types.", "type": "string" }, "certificate": { @@ -281,7 +260,7 @@ "type": "string" }, "friendlyName": { - "description": "Certificate friendlyname.", + "description": "Certificate friendly name.", "type": "string" }, "issuer": { @@ -319,18 +298,25 @@ "type": "object", "properties": { "name": { - "type": "string" + "description": "Resource name associated with the resource.", + "type": "string", + "readOnly": true }, "type": { - "type": "string" + "description": "Resource type represents the complete path of the form Namespace/ResourceType/ResourceType/...", + "type": "string", + "readOnly": true }, "id": { - "type": "string" + "description": "Resource Id represents the complete path to the resource.", + "type": "string", + "readOnly": true }, "properties": { "$ref": "#/definitions/ResourceCertificateDetails" } - } + }, + "x-ms-azure-resource": true } }, "parameters": { @@ -383,4 +369,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/replicationusages.json b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/replicationusages.json index 52172a02..d1e18e92 100644 --- a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/replicationusages.json +++ b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/replicationusages.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-06-01", + "version": "2021-08-01", "title": "RecoveryServicesClient", "x-ms-code-generation-settings": { "internalConstructors": false @@ -18,41 +18,6 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Returns the list of available operations.", - "operationId": "Operations_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceGroupName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./vaults.json#/definitions/ClientDiscoveryResponse" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "NextLink" - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationUsages": { "get": { "tags": [ @@ -88,6 +53,11 @@ "deprecated": false, "x-ms-pageable": { "nextLinkName": null + }, + "x-ms-examples": { + "Gets Replication usages of vault": { + "$ref": "./examples/ListReplicationUsages.json" + } } } } @@ -151,7 +121,7 @@ }, "jobsSummary": { "$ref": "#/definitions/JobsSummary", - "description": "Summary of the replication jobs data for this vault." + "description": "Summary of the replication jobs data for this vault." }, "protectedItemCount": { "description": "Number of replication protected items for this vault.", @@ -235,4 +205,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/service.json b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/service.json index 8559b49a..045260a8 100644 --- a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/service.json +++ b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/service.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-08-10", + "version": "2021-08-01", "title": "SiteRecoveryManagementClient", "x-ms-code-generation-settings": { "header": "MICROSOFT_MIT_NO_VERSION" @@ -18,14 +18,14 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ - "ReplicationProtectedItems" + "Operations" ], - "summary": "Gets the list of Replication protected items.", - "description": "Gets the list of ASR replication protected items in the protection container.", - "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", + "summary": "Returns the list of available operations.", + "description": "Operation to return the list of available operations.", + "operationId": "Operations_List", "produces": [ "application/json" ], @@ -33,35 +33,18 @@ { "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, { "$ref": "#/parameters/ResourceGroupName" }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" + "$ref": "#/definitions/OperationsDiscoveryCollection" } } }, @@ -69,20 +52,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of Replication protected items.": { - "$ref": "../examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" + "Returns the list of available operations.": { + "$ref": "./examples/Operations_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { "get": { "tags": [ - "ReplicationProtectedItems" + "ReplicationAlertSettings" ], - "summary": "Gets the list of replication protected items.", - "description": "Gets the list of ASR replication protected items in the vault.", - "operationId": "ReplicationProtectedItems_List", + "summary": "Gets the list of configured email notification(alert) configurations.", + "description": "Gets the list of email notification(alert) configurations for the vault.", + "operationId": "ReplicationAlertSettings_List", "produces": [ "application/json" ], @@ -98,49 +81,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "skipToken", - "in": "query", - "description": "The pagination token.\r\n Possible values: \"FabricId\" or \"FabricId_CloudId\" or null", - "required": false, - "type": "string" - }, - { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, - "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItemCollection" + "$ref": "#/definitions/AlertCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, - "x-ms-odata": "ProtectedItemsQueryParameter", "x-ms-examples": { - "Gets the list of replication protected items.": { - "$ref": "../examples/ReplicationProtectedItems_List.json" + "Gets the list of configured email notification(alert) configurations.": { + "$ref": "./examples/ReplicationAlertSettings_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationAlertSettings" ], - "summary": "Gets all the network mappings under a vault.", - "description": "Lists all ASR network mappings in the vault.", - "operationId": "ReplicationNetworkMappings_List", + "summary": "Gets an email notification(alert) configuration.", + "description": "Gets the details of the specified email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Get", "produces": [ "application/json" ], @@ -156,34 +124,39 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "alertSettingName", + "in": "path", + "description": "The name of the email notification configuration.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMappingCollection" + "$ref": "#/definitions/Alert" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets all the network mappings under a vault.": { - "$ref": "../examples/ReplicationNetworkMappings_List.json" + "Gets an email notification(alert) configuration.": { + "$ref": "./examples/ReplicationAlertSettings_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { - "get": { + }, + "put": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationAlertSettings" + ], + "summary": "Configures email notifications for this vault.", + "description": "Create or update an email notification(alert) configuration.", + "operationId": "ReplicationAlertSettings_Create", + "consumes": [ + "application/json" ], - "summary": "Gets all the network mappings under a network.", - "description": "Lists all ASR network mappings for the specified network.", - "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", "produces": [ "application/json" ], @@ -201,49 +174,45 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "alertSettingName", "in": "path", - "description": "Primary fabric name.", + "description": "The name of the email notification(alert) configuration.", "required": true, "type": "string" }, { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "name": "request", + "in": "body", + "description": "The input to configure the email notification(alert).", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ConfigureAlertRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMappingCollection" + "$ref": "#/definitions/Alert" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets all the network mappings under a network.": { - "$ref": "../examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" + "Configures email notifications for this vault.": { + "$ref": "./examples/ReplicationAlertSettings_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults": { + "get": { "tags": [ - "ReplicationFabrics" - ], - "summary": "Renews certificate for the fabric.", - "description": "Renews the connection certificate for the ASR replication fabric.", - "operationId": "ReplicationFabrics_RenewCertificate", - "consumes": [ - "application/json" + "ReplicationEligibilityResults" ], + "summary": "Gets the validation errors in case the VM is unsuitable for protection.", + "description": "Validates whether a given VM can be protected or not in which case returns list of errors.", + "operationId": "ReplicationEligibilityResults_List", "produces": [ "application/json" ], @@ -251,9 +220,6 @@ { "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, { "$ref": "#/parameters/ResourceGroupName" }, @@ -261,49 +227,36 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", + "name": "virtualMachineName", "in": "path", - "description": "fabric name to renew certs for.", + "description": "Virtual Machine name.", "required": true, "type": "string" - }, - { - "name": "renewCertificate", - "in": "body", - "description": "Renew certificate input.", - "required": true, - "schema": { - "$ref": "#/definitions/RenewCertificateInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/ReplicationEligibilityResultsCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Renews certificate for the fabric.": { - "$ref": "../examples/ReplicationFabrics_RenewCertificate.json" + "Gets the validation errors in case the VM is unsuitable for protection.": { + "$ref": "./examples/ReplicationEligibilityResults_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vCenterName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.RecoveryServices/replicationEligibilityResults/default": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationEligibilityResults" ], - "summary": "Gets the details of a vCenter.", - "description": "Gets the details of a registered vCenter server(Add vCenter server.)", - "operationId": "ReplicationvCenters_Get", + "summary": "Gets the validation errors in case the VM is unsuitable for protection.", + "description": "Validates whether a given VM can be protected or not in which case returns list of errors.", + "operationId": "ReplicationEligibilityResults_Get", "produces": [ "application/json" ], @@ -311,9 +264,6 @@ { "$ref": "#/parameters/ApiVersion" }, - { - "$ref": "#/parameters/ResourceName" - }, { "$ref": "#/parameters/ResourceGroupName" }, @@ -321,16 +271,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", + "name": "virtualMachineName", "in": "path", - "description": "vCenter name.", + "description": "Virtual Machine name.", "required": true, "type": "string" } @@ -339,26 +282,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/ReplicationEligibilityResults" } } }, "x-ms-examples": { - "Gets the details of a vCenter.": { - "$ref": "../examples/ReplicationvCenters_Get.json" + "Gets the validation errors in case the VM is unsuitable for protection.": { + "$ref": "./examples/ReplicationEligibilityResults_Get.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { + "get": { "tags": [ - "ReplicationvCenters" - ], - "summary": "Add vCenter.", - "description": "The operation to create a vCenter object..", - "operationId": "ReplicationvCenters_Create", - "consumes": [ - "application/json" + "ReplicationEvents" ], + "summary": "Gets the list of Azure Site Recovery events.", + "description": "Gets the list of Azure Site Recovery events for the vault.", + "operationId": "ReplicationEvents_List", "produces": [ "application/json" ], @@ -376,54 +318,40 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", - "in": "path", - "description": "vCenter name.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" - }, - { - "name": "addVCenterRequest", - "in": "body", - "description": "The input to the add vCenter operation.", - "required": true, - "schema": { - "$ref": "#/definitions/AddVCenterRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/EventCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/EventQueryParameter", "x-ms-examples": { - "Add vCenter.": { - "$ref": "../examples/ReplicationvCenters_Create.json" + "Gets the list of Azure Site Recovery events.": { + "$ref": "./examples/ReplicationEvents_List.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": { + "get": { "tags": [ - "ReplicationvCenters" + "ReplicationEvents" ], - "summary": "Remove vCenter operation.", - "description": "The operation to remove(unregister) a registered vCenter server from the vault.", - "operationId": "ReplicationvCenters_Delete", + "summary": "Get the details of an Azure Site recovery event.", + "description": "The operation to get the details of an Azure Site recovery event.", + "operationId": "ReplicationEvents_Get", "produces": [ "application/json" ], @@ -441,45 +369,36 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", + "name": "eventName", "in": "path", - "description": "vCenter name.", + "description": "The name of the Azure Site Recovery event.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Event" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Remove vCenter operation.": { - "$ref": "../examples/ReplicationvCenters_Delete.json" + "Get the details of an Azure Site recovery event.": { + "$ref": "./examples/ReplicationEvents_Get.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "get": { "tags": [ - "ReplicationvCenters" - ], - "summary": "Update vCenter operation.", - "description": "The operation to update a registered vCenter.", - "operationId": "ReplicationvCenters_Update", - "consumes": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Gets the list of ASR fabrics.", + "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", + "operationId": "ReplicationFabrics_List", "produces": [ "application/json" ], @@ -495,58 +414,34 @@ }, { "$ref": "#/parameters/SubscriptionId" - }, - { - "name": "fabricName", - "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "vCenterName", - "in": "path", - "description": "vCeneter name", - "required": true, - "type": "string" - }, - { - "name": "updateVCenterRequest", - "in": "body", - "description": "The input to the update vCenter operation.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateVCenterRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/FabricCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Update vCenter operation.": { - "$ref": "../examples/ReplicationvCenters_Update.json" + "Gets the list of ASR fabrics.": { + "$ref": "./examples/ReplicationFabrics_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { "get": { "tags": [ - "ReplicationvCenters" + "ReplicationFabrics" ], - "summary": "Gets the list of vCenter registered under a fabric.", - "description": "Lists the vCenter servers registered in a fabric.", - "operationId": "ReplicationvCenters_ListByReplicationFabrics", + "summary": "Gets the details of an ASR fabric.", + "description": "Gets the details of an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Get", "produces": [ "application/json" ], @@ -569,34 +464,40 @@ "description": "Fabric name.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/Fabric" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-odata": "#/definitions/FabricQueryParameter", "x-ms-examples": { - "Gets the list of vCenter registered under a fabric.": { - "$ref": "../examples/ReplicationvCenters_ListByReplicationFabrics.json" + "Gets the details of an ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { - "get": { + }, + "put": { "tags": [ - "ReplicationvCenters" + "ReplicationFabrics" + ], + "summary": "Creates an Azure Site Recovery fabric.", + "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site).", + "operationId": "ReplicationFabrics_Create", + "consumes": [ + "application/json" ], - "summary": "Gets the list of vCenter registered under the vault.", - "description": "Lists the vCenter servers registered in the vault.", - "operationId": "ReplicationvCenters_List", "produces": [ "application/json" ], @@ -612,37 +513,49 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Name of the ASR fabric.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Fabric creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCreationInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/VCenterCollection" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of vCenter registered under the vault.": { - "$ref": "../examples/ReplicationvCenters_List.json" + "Creates an Azure Site Recovery fabric.": { + "$ref": "./examples/ReplicationFabrics_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { - "get": { + }, + "delete": { "tags": [ - "ReplicationStorageClassificationMappings" - ], - "summary": "Gets the details of a storage classification mapping.", - "description": "Gets the details of the specified storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Get", - "produces": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Purges the site.", + "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Purge", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -659,49 +572,35 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classification name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationMappingName", - "in": "path", - "description": "Storage classification mapping name.", + "description": "ASR fabric to purge.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/StorageClassificationMapping" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a storage classification mapping.": { - "$ref": "../examples/ReplicationStorageClassificationMappings_Get.json" + "Purges the site.": { + "$ref": "./examples/ReplicationFabrics_Purge.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" - ], - "summary": "Create storage classification mapping.", - "description": "The operation to create a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Create", - "consumes": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Checks the consistency of the ASR fabric.", + "description": "The operation to perform a consistency check on the fabric.", + "operationId": "ReplicationFabrics_CheckConsistency", "produces": [ "application/json" ], @@ -724,36 +623,13 @@ "description": "Fabric name.", "required": true, "type": "string" - }, - { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classification name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationMappingName", - "in": "path", - "description": "Storage classification mapping name.", - "required": true, - "type": "string" - }, - { - "name": "pairingInput", - "in": "body", - "description": "Pairing input.", - "required": true, - "schema": { - "$ref": "#/definitions/StorageClassificationMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/Fabric" } }, "202": { @@ -762,21 +638,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create storage classification mapping.": { - "$ref": "../examples/ReplicationStorageClassificationMappings_Create.json" + "Checks the consistency of the ASR fabric.": { + "$ref": "./examples/ReplicationFabrics_CheckConsistency.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/migratetoaad": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" - ], - "summary": "Delete a storage classification mapping.", - "description": "The operation to delete a storage classification mapping.", - "operationId": "ReplicationStorageClassificationMappings_Delete", - "produces": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Migrates the site to AAD.", + "description": "The operation to migrate an Azure Site Recovery fabric to AAD.", + "operationId": "ReplicationFabrics_MigrateToAad", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -793,21 +668,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classification name.", - "required": true, - "type": "string" - }, - { - "name": "storageClassificationMappingName", - "in": "path", - "description": "Storage classification mapping name.", + "description": "ASR fabric to migrate.", "required": true, "type": "string" } @@ -822,20 +683,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete a storage classification mapping.": { - "$ref": "../examples/ReplicationStorageClassificationMappings_Delete.json" + "Migrates the site to AAD.": { + "$ref": "./examples/ReplicationFabrics_MigrateToAad.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" + "ReplicationFabrics" + ], + "summary": "Perform failover of the process server.", + "description": "The operation to move replications from a process server to another process server.", + "operationId": "ReplicationFabrics_ReassociateGateway", + "consumes": [ + "application/json" ], - "summary": "Gets the list of storage classification mappings objects under a storage.", - "description": "Lists the storage classification mappings for the fabric.", - "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", "produces": [ "application/json" ], @@ -855,47 +719,47 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The name of the fabric containing the process server.", "required": true, "type": "string" }, { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classfication name.", + "name": "failoverProcessServerRequest", + "in": "body", + "description": "The input to the failover process server operation.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/FailoverProcessServerRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a storage.": { - "$ref": "../examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" + "Perform failover of the process server.": { + "$ref": "./examples/ReplicationFabrics_ReassociateGateway.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { + "post": { "tags": [ - "ReplicationStorageClassificationMappings" - ], - "summary": "Gets the list of storage classification mappings objects under a vault.", - "description": "Lists the storage classification mappings in the vault.", - "operationId": "ReplicationStorageClassificationMappings_List", - "produces": [ - "application/json" + "ReplicationFabrics" ], + "summary": "Deletes the site.", + "description": "The operation to delete or remove an Azure Site Recovery fabric.", + "operationId": "ReplicationFabrics_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -908,34 +772,42 @@ }, { "$ref": "#/parameters/SubscriptionId" - } + }, + { + "name": "fabricName", + "in": "path", + "description": "ASR fabric to delete.", + "required": true, + "type": "string" + } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/StorageClassificationMappingCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of storage classification mappings objects under a vault.": { - "$ref": "../examples/ReplicationStorageClassificationMappings_List.json" + "Deletes the site.": { + "$ref": "./examples/ReplicationFabrics_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/renewCertificate": { + "post": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationFabrics" + ], + "summary": "Renews certificate for the fabric.", + "description": "Renews the connection certificate for the ASR replication fabric.", + "operationId": "ReplicationFabrics_RenewCertificate", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a storage classification.", - "description": "Gets the details of the specified storage classification.", - "operationId": "ReplicationStorageClassifications_Get", "produces": [ "application/json" ], @@ -955,41 +827,47 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "fabric name to renew certs for.", "required": true, "type": "string" }, { - "name": "storageClassificationName", - "in": "path", - "description": "Storage classification name.", + "name": "renewCertificate", + "in": "body", + "description": "Renew certificate input.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/RenewCertificateInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassification" + "$ref": "#/definitions/Fabric" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a storage classification.": { - "$ref": "../examples/ReplicationStorageClassifications_Get.json" + "Renews certificate for the fabric.": { + "$ref": "./examples/ReplicationFabrics_RenewCertificate.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { "get": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationLogicalNetworks" ], - "summary": "Gets the list of storage classification objects under a fabric.", - "description": "Lists the storage classifications available in the specified fabric.", - "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", + "summary": "Gets the list of logical networks under a fabric.", + "description": "Lists all the logical networks of the Azure Site Recovery fabric.", + "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1009,7 +887,7 @@ { "name": "fabricName", "in": "path", - "description": "Site name of interest.", + "description": "Server Id.", "required": true, "type": "string" } @@ -1018,7 +896,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationCollection" + "$ref": "#/definitions/LogicalNetworkCollection" } } }, @@ -1026,20 +904,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of storage classification objects under a fabric.": { - "$ref": "../examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" + "Gets the list of logical networks under a fabric.": { + "$ref": "./examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { "get": { "tags": [ - "ReplicationStorageClassifications" + "ReplicationLogicalNetworks" ], - "summary": "Gets the list of storage classification objects under a vault.", - "description": "Lists the storage classifications in the vault.", - "operationId": "ReplicationStorageClassifications_List", + "summary": "Gets a logical network with specified server id and logical network name.", + "description": "Gets the details of a logical network.", + "operationId": "ReplicationLogicalNetworks_Get", "produces": [ "application/json" ], @@ -1055,37 +933,45 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Server Id.", + "required": true, + "type": "string" + }, + { + "name": "logicalNetworkName", + "in": "path", + "description": "Logical network name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/StorageClassificationCollection" + "$ref": "#/definitions/LogicalNetwork" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of storage classification objects under a vault.": { - "$ref": "../examples/ReplicationStorageClassifications_List.json" + "Gets a logical network with specified server id and logical network name.": { + "$ref": "./examples/ReplicationLogicalNetworks_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Change or apply recovery point.", - "description": "The operation to change the recovery point of a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", - "consumes": [ - "application/json" + "ReplicationNetworks" ], + "summary": "Gets the list of networks under a fabric.", + "description": "Lists the networks available for a fabric.", + "operationId": "ReplicationNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1105,61 +991,37 @@ { "name": "fabricName", "in": "path", - "description": "The ARM fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "The protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "The replicated protected item's name.", + "description": "Fabric name.", "required": true, "type": "string" - }, - { - "name": "applyRecoveryPointInput", - "in": "body", - "description": "The ApplyRecoveryPointInput.", - "required": true, - "schema": { - "$ref": "#/definitions/ApplyRecoveryPointInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/NetworkCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Change or apply recovery point.": { - "$ref": "../examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" + "Gets the list of networks under a fabric.": { + "$ref": "./examples/ReplicationNetworks_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { + "get": { "tags": [ - "ReplicationProtectedItems" + "ReplicationNetworks" ], - "summary": "Resynchronize or repair replication.", - "description": "The operation to start resynchronize/repair replication for a replication protected item\r\n requiring resynchronization.", - "operationId": "ReplicationProtectedItems_RepairReplication", + "summary": "Gets a network with specified server id and network name.", + "description": "Gets the details of a network.", + "operationId": "ReplicationNetworks_Get", "produces": [ "application/json" ], @@ -1179,21 +1041,14 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "The name of the container.", + "description": "Server Id.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "networkName", "in": "path", - "description": "The name of the replication protected item.", + "description": "Primary network name.", "required": true, "type": "string" } @@ -1202,32 +1057,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/Network" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Resynchronize or repair replication.": { - "$ref": "../examples/ReplicationProtectedItems_RepairReplication.json" + "Gets a network with specified server id and network name.": { + "$ref": "./examples/ReplicationNetworks_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Update the mobility service on a protected item.", - "description": "The operation to update(push update) the installed mobility service software on a \r\n replication protected item to the latest available version.", - "operationId": "ReplicationProtectedItems_UpdateMobilityService", - "consumes": [ - "application/json" + "ReplicationNetworkMappings" ], + "summary": "Gets all the network mappings under a network.", + "description": "Lists all ASR network mappings for the specified network.", + "operationId": "ReplicationNetworkMappings_ListByReplicationNetworks", "produces": [ "application/json" ], @@ -1247,64 +1095,44 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric containing the protected item.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "The name of the container containing the\r\n protected item.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "replicationProtectedItemName", + "name": "networkName", "in": "path", - "description": "The name of the protected item on which the\r\n agent is to be updated.", + "description": "Primary network name.", "required": true, "type": "string" - }, - { - "name": "updateMobilityServiceRequest", - "in": "body", - "description": "Request to update the mobility\r\n service on the protected item.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateMobilityServiceRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/NetworkMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Update the mobility service on a protected item.": { - "$ref": "../examples/ReplicationProtectedItems_UpdateMobilityService.json" + "Gets all the network mappings under a network.": { + "$ref": "./examples/ReplicationNetworkMappings_ListByReplicationNetworks.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute Reverse Replication\\Reprotect", - "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", - "operationId": "ReplicationProtectedItems_Reprotect", - "consumes": [ - "application/json" + "ReplicationNetworkMappings" ], + "summary": "Gets network mapping by name.", + "description": "Gets the details of an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Get", "produces": [ "application/json" ], @@ -1324,61 +1152,49 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "networkName", "in": "path", - "description": "Protection container name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "networkMappingName", "in": "path", - "description": "Replication protected item name.", + "description": "Network mapping name.", "required": true, "type": "string" - }, - { - "name": "rrInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/ReverseReplicationInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/NetworkMapping" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute Reverse Replication\\Reprotect": { - "$ref": "../examples/ReplicationProtectedItems_Reprotect.json" + "Gets network mapping by name.": { + "$ref": "./examples/ReplicationNetworkMappings_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { - "post": { + }, + "put": { "tags": [ - "ReplicationProtectedItems" + "ReplicationNetworkMappings" + ], + "summary": "Creates network mapping.", + "description": "The operation to create an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Create", + "consumes": [ + "application/json" ], - "summary": "Execute commit failover", - "description": "Operation to commit the failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_FailoverCommit", "produces": [ "application/json" ], @@ -1398,30 +1214,39 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "networkName", "in": "path", - "description": "Protection container name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "networkMappingName", "in": "path", - "description": "Replication protected item name.", + "description": "Network mapping name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create network mapping input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateNetworkMappingInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/NetworkMapping" } }, "202": { @@ -1430,26 +1255,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute commit failover": { - "$ref": "../examples/ReplicationProtectedItems_FailoverCommit.json" + "Creates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { - "post": { + }, + "delete": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute test failover cleanup.", - "description": "Operation to clean up the test failover of a replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailoverCleanup", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "ReplicationNetworkMappings" ], + "summary": "Delete network mapping.", + "description": "The operation to delete a network mapping.", + "operationId": "ReplicationNetworkMappings_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -1466,61 +1283,47 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "networkName", "in": "path", - "description": "Protection container name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "networkMappingName", "in": "path", - "description": "Replication protected item name.", + "description": "ARM Resource Name for network mapping.", "required": true, "type": "string" - }, - { - "name": "cleanupInput", - "in": "body", - "description": "Test failover cleanup input.", - "required": true, - "schema": { - "$ref": "#/definitions/TestFailoverCleanupInput" - } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover cleanup.": { - "$ref": "../examples/ReplicationProtectedItems_TestFailoverCleanup.json" + "Delete network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { - "post": { + }, + "patch": { "tags": [ - "ReplicationProtectedItems" + "ReplicationNetworkMappings" ], - "summary": "Execute test failover", - "description": "Operation to perform a test failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_TestFailover", + "summary": "Updates network mapping.", + "description": "The operation to update an ASR network mapping.", + "operationId": "ReplicationNetworkMappings_Update", "consumes": [ "application/json" ], @@ -1543,31 +1346,31 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Primary fabric name.", "required": true, "type": "string" }, { - "name": "protectionContainerName", + "name": "networkName", "in": "path", - "description": "Protection container name.", + "description": "Primary network name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "networkMappingName", "in": "path", - "description": "Replication protected item name.", + "description": "Network mapping name.", "required": true, "type": "string" }, { - "name": "failoverInput", + "name": "input", "in": "body", - "description": "Test failover input.", + "description": "Update network mapping input.", "required": true, "schema": { - "$ref": "#/definitions/TestFailoverInput" + "$ref": "#/definitions/UpdateNetworkMappingInput" } } ], @@ -1575,7 +1378,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/NetworkMapping" } }, "202": { @@ -1584,23 +1387,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover": { - "$ref": "../examples/ReplicationProtectedItems_TestFailover.json" + "Updates network mapping.": { + "$ref": "./examples/ReplicationNetworkMappings_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute unplanned failover", - "description": "Operation to initiate a failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_UnplannedFailover", - "consumes": [ - "application/json" + "ReplicationProtectionContainers" ], + "summary": "Gets the list of protection container for a fabric.", + "description": "Lists the protection containers in the specified fabric.", + "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -1620,64 +1420,37 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", - "required": true, - "type": "string" - }, - { - "name": "protectionContainerName", - "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", + "description": "Fabric name.", "required": true, "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/UnplannedFailoverInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectionContainerCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute unplanned failover": { - "$ref": "../examples/ReplicationProtectedItems_UnplannedFailover.json" + "Gets the list of protection container for a fabric.": { + "$ref": "./examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "get": { "tags": [ - "ReplicationProtectedItems" - ], - "summary": "Execute planned failover", - "description": "Operation to initiate a planned failover of the replication protected item.", - "operationId": "ReplicationProtectedItems_PlannedFailover", - "consumes": [ - "application/json" + "ReplicationProtectionContainers" ], + "summary": "Gets the protection container details.", + "description": "Gets the details of a protection container.", + "operationId": "ReplicationProtectionContainers_Get", "produces": [ "application/json" ], @@ -1697,7 +1470,7 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -1707,51 +1480,29 @@ "description": "Protection container name.", "required": true, "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", - "required": true, - "type": "string" - }, - { - "name": "failoverInput", - "in": "body", - "description": "Disable protection input.", - "required": true, - "schema": { - "$ref": "#/definitions/PlannedFailoverInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectionContainer" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover": { - "$ref": "../examples/ReplicationProtectedItems_PlannedFailover.json" + "Gets the protection container details.": { + "$ref": "./examples/ReplicationProtectionContainers_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { - "post": { + }, + "put": { "tags": [ - "ReplicationProtectedItems" + "ReplicationProtectionContainers" ], - "summary": "Disables protection.", - "description": "The operation to disable replication on a replication protected item. This will also\r\n remove the item.", - "operationId": "ReplicationProtectedItems_Delete", + "summary": "Create a protection container.", + "description": "Operation to create a protection container.", + "operationId": "ReplicationProtectionContainers_Create", "consumes": [ "application/json" ], @@ -1774,58 +1525,57 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric ARM name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", - "required": true, - "type": "string" - }, - { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", + "description": "Unique protection container ARM name.", "required": true, "type": "string" }, { - "name": "disableProtectionInput", + "name": "creationInput", "in": "body", - "description": "Disable protection input.", + "description": "Creation input.", "required": true, "schema": { - "$ref": "#/definitions/DisableProtectionInput" + "$ref": "#/definitions/CreateProtectionContainerInput" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainer" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Disables protection.": { - "$ref": "../examples/ReplicationProtectedItems_Delete.json" + "Create a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Create.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { + "post": { "tags": [ - "ReplicationProtectedItems" + "ReplicationProtectionContainers" + ], + "summary": "Adds a protectable item to the replication protection container.", + "description": "The operation to a add a protectable item to a protection container(Add physical server).", + "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a Replication protected item.", - "description": "Gets the details of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Get", "produces": [ "application/json" ], @@ -1845,49 +1595,106 @@ { "name": "fabricName", "in": "path", - "description": "Fabric unique name.", + "description": "The name of the fabric.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The name of the protection container.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "Replication protected item name.", + "name": "discoverProtectableItemRequest", + "in": "body", + "description": "The request object to add a protectable item.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/DiscoverProtectableItemRequest" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/ProtectionContainer" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a Replication protected item.": { - "$ref": "../examples/ReplicationProtectedItems_Get.json" + "Adds a protectable item to the replication protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "post": { "tags": [ - "ReplicationProtectedItems" + "ReplicationProtectionContainers" ], - "summary": "Enables protection.", - "description": "The operation to create an ASR replication protected item (Enable replication).", - "operationId": "ReplicationProtectedItems_Create", - "consumes": [ - "application/json" + "summary": "Removes a protection container.", + "description": "Operation to remove a protection container.", + "operationId": "ReplicationProtectionContainers_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric ARM name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Unique protection container ARM name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Removes a protection container.": { + "$ref": "./examples/ReplicationProtectionContainers_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems": { + "get": { + "tags": [ + "ReplicationMigrationItems" ], + "summary": "Gets the list of migration items in the protection container.", + "description": "Gets the list of ASR migration items in the protection container.", + "operationId": "ReplicationMigrationItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -1907,7 +1714,7 @@ { "name": "fabricName", "in": "path", - "description": "Name of the fabric.", + "description": "Fabric name.", "required": true, "type": "string" }, @@ -1919,47 +1726,53 @@ "type": "string" }, { - "name": "replicatedProtectedItemName", - "in": "path", - "description": "A name for the replication protected item.", - "required": true, + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Enable Protection Input.", - "required": true, - "schema": { - "$ref": "#/definitions/EnableProtectionInput" - } + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/MigrationItemCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/MigrationItemsQueryParameter", "x-ms-examples": { - "Enables protection.": { - "$ref": "../examples/ReplicationProtectedItems_Create.json" + "Gets the list of migration items in the protection container.": { + "$ref": "./examples/ReplicationMigrationItems_ListByReplicationProtectionContainers.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}": { + "get": { "tags": [ - "ReplicationProtectedItems" + "ReplicationMigrationItems" ], - "summary": "Purges protection.", - "description": "The operation to delete or purge a replication protected item. This operation will\r\n force delete the replication protected item. Use the remove operation on\r\n replication protected item to perform a clean disable replication for the item.", - "operationId": "ReplicationProtectedItems_Purge", + "summary": "Gets the details of a migration item.", + "operationId": "ReplicationMigrationItems_Get", "produces": [ "application/json" ], @@ -1979,7 +1792,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Fabric unique name.", "required": true, "type": "string" }, @@ -1991,35 +1804,34 @@ "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "migrationItemName", "in": "path", - "description": "Replication protected item name.", + "description": "Migration item name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Purges protection.": { - "$ref": "../examples/ReplicationProtectedItems_Purge.json" + "Gets the details of a migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Get.json" } } }, - "patch": { + "put": { "tags": [ - "ReplicationProtectedItems" + "ReplicationMigrationItems" ], - "summary": "Updates protection.", - "description": "The operation to update the recovery settings of an ASR replication protected item.", - "operationId": "ReplicationProtectedItems_Update", + "summary": "Enables migration.", + "description": "The operation to create an ASR migration item (enable migration).", + "operationId": "ReplicationMigrationItems_Create", "consumes": [ "application/json" ], @@ -2054,19 +1866,19 @@ "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "migrationItemName", "in": "path", - "description": "Replication protected item name.", + "description": "Migration item name.", "required": true, "type": "string" }, { - "name": "updateProtectionInput", + "name": "input", "in": "body", - "description": "Update protection input.", + "description": "Enable migration input.", "required": true, "schema": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInput" + "$ref": "#/definitions/EnableMigrationInput" } } ], @@ -2074,7 +1886,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ReplicationProtectedItem" + "$ref": "#/definitions/MigrationItem" } }, "202": { @@ -2083,23 +1895,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates protection.": { - "$ref": "../examples/ReplicationProtectedItems_Update.json" + "Enables migration.": { + "$ref": "./examples/ReplicationMigrationItems_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { - "post": { + }, + "delete": { "tags": [ - "ReplicationRecoveryServicesProviders" - ], - "summary": "Refresh details from the recovery services provider.", - "description": "The operation to refresh the information from the recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", - "produces": [ - "application/json" + "ReplicationMigrationItems" ], + "summary": "Delete the migration item.", + "description": "The operation to delete an ASR migration item.", + "operationId": "ReplicationMigrationItems_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -2121,40 +1928,52 @@ "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", "required": true, "type": "string" + }, + { + "name": "deleteOption", + "in": "query", + "description": "The delete option.", + "required": false, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Refresh details from the recovery services provider.": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" + "Delete the migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Delete.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { - "post": { + }, + "patch": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationMigrationItems" + ], + "summary": "Updates migration item.", + "description": "The operation to update the recovery settings of an ASR migration item.", + "operationId": "ReplicationMigrationItems_Update", + "consumes": [ + "application/json" ], - "summary": "Deletes provider from fabric.\r\n Note: Deleting provider for any fabric other than SingleHost is unsupported. To\r\n maintain backward compatibility for released clients the object \"deleteRspInput\" is\r\n used (if the object is empty we assume that it is old client and continue the old\r\n behavior).", - "description": "The operation to removes/delete(unregister) a recovery services provider from the vault", - "operationId": "ReplicationRecoveryServicesProviders_Delete", "produces": [ "application/json" ], @@ -2179,37 +1998,59 @@ "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", "required": true, "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update migration item input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMigrationItemInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes provider from fabric.\r\n Note: Deleting provider for any fabric other than SingleHost is unsupported. To\r\n maintain backward compatibility for released clients the object \"deleteRspInput\" is\r\n used (if the object is empty we assume that it is old client and continue the old\r\n behavior).": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_Delete.json" + "Updates migration item.": { + "$ref": "./examples/ReplicationMigrationItems_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrate": { + "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationMigrationItems" + ], + "summary": "Migrate item.", + "description": "The operation to initiate migration of the item.", + "operationId": "ReplicationMigrationItems_Migrate", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a recovery services provider.", - "description": "Gets the details of registered recovery services provider.", - "operationId": "ReplicationRecoveryServicesProviders_Get", "produces": [ "application/json" ], @@ -2234,34 +2075,55 @@ "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", "in": "path", - "description": "Recovery services provider name", + "description": "Migration item name.", "required": true, "type": "string" + }, + { + "name": "migrateInput", + "in": "body", + "description": "Migrate input.", + "required": true, + "schema": { + "$ref": "#/definitions/MigrateInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/MigrationItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a recovery services provider.": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_Get.json" + "Migrate item.": { + "$ref": "./examples/ReplicationMigrationItems_Migrate.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints": { + "get": { "tags": [ - "ReplicationRecoveryServicesProviders" + "MigrationRecoveryPoints" ], - "summary": "Purges recovery service provider from fabric", - "description": "The operation to purge(force delete) a recovery services provider from the vault.", - "operationId": "ReplicationRecoveryServicesProviders_Purge", + "summary": "Gets the recovery points for a migration item.", + "operationId": "MigrationRecoveryPoints_ListByReplicationMigrationItems", "produces": [ "application/json" ], @@ -2281,42 +2143,50 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Fabric unique name.", "required": true, "type": "string" }, { - "name": "providerName", + "name": "protectionContainerName", "in": "path", - "description": "Recovery services provider name.", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", "required": true, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/MigrationRecoveryPointCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Purges recovery service provider from fabric": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_Purge.json" + "Gets the recovery points for a migration item.": { + "$ref": "./examples/MigrationRecoveryPoints_ListByReplicationMigrationItems.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/migrationRecoveryPoints/{migrationRecoveryPointName}": { "get": { "tags": [ - "ReplicationRecoveryServicesProviders" + "MigrationRecoveryPoints" ], - "summary": "Gets the list of registered recovery services providers for the fabric.", - "description": "Lists the registered recovery services providers for the specified fabric.", - "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", + "summary": "Gets a recovery point for a migration item.", + "operationId": "MigrationRecoveryPoints_Get", "produces": [ "application/json" ], @@ -2336,7 +2206,28 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name", + "description": "Fabric unique name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "migrationRecoveryPointName", + "in": "path", + "description": "The migration recovery point name.", "required": true, "type": "string" } @@ -2345,28 +2236,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" + "$ref": "#/definitions/MigrationRecoveryPoint" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of registered recovery services providers for the fabric.": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" + "Gets a recovery point for a migration item.": { + "$ref": "./examples/MigrationRecoveryPoints_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/resync": { + "post": { "tags": [ - "ReplicationRecoveryServicesProviders" + "ReplicationMigrationItems" + ], + "summary": "Resynchronizes replication.", + "description": "The operation to resynchronize replication of an ASR migration item.", + "operationId": "ReplicationMigrationItems_Resync", + "consumes": [ + "application/json" ], - "summary": "Gets the list of registered recovery services providers in the vault.\r\n This is a view only api.", - "description": "Lists the registered recovery services providers in the vault", - "operationId": "ReplicationRecoveryServicesProviders_List", "produces": [ "application/json" ], @@ -2382,34 +2273,68 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "migrationItemName", + "in": "path", + "description": "Migration item name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Resync input.", + "required": true, + "schema": { + "$ref": "#/definitions/ResyncInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryServicesProviderCollection" + "$ref": "#/definitions/MigrationItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of registered recovery services providers in the vault.\r\n This is a view only api.": { - "$ref": "../examples/ReplicationRecoveryServicesProviders_List.json" + "Resynchronizes replication.": { + "$ref": "./examples/ReplicationMigrationItems_Resync.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrate": { + "post": { "tags": [ - "RecoveryPoints" + "ReplicationMigrationItems" + ], + "summary": "Test migrate item.", + "description": "The operation to initiate test migration of the item.", + "operationId": "ReplicationMigrationItems_TestMigrate", + "consumes": [ + "application/json" ], - "summary": "Get a recovery point.", - "description": "Get the details of specified recovery point.", - "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -2429,55 +2354,64 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "migrationItemName", "in": "path", - "description": "The replication protected item's name.", + "description": "Migration item name.", "required": true, "type": "string" }, { - "name": "recoveryPointName", - "in": "path", - "description": "The recovery point name.", + "name": "testMigrateInput", + "in": "body", + "description": "Test migrate input.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/TestMigrateInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPoint" + "$ref": "#/definitions/MigrationItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get a recovery point.": { - "$ref": "../examples/RecoveryPoints_Get.json" + "Test migrate item.": { + "$ref": "./examples/ReplicationMigrationItems_TestMigrate.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationMigrationItems/{migrationItemName}/testMigrateCleanup": { + "post": { "tags": [ - "RecoveryPoints" + "ReplicationMigrationItems" + ], + "summary": "Test migrate cleanup.", + "description": "The operation to initiate test migrate cleanup.", + "operationId": "ReplicationMigrationItems_TestMigrateCleanup", + "consumes": [ + "application/json" ], - "summary": "Get recovery points for a replication protected item.", - "description": "Lists the available recovery points for a replication protected item.", - "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -2497,51 +2431,61 @@ { "name": "fabricName", "in": "path", - "description": "The fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The protection container name.", + "description": "Protection container name.", "required": true, "type": "string" }, { - "name": "replicatedProtectedItemName", + "name": "migrationItemName", "in": "path", - "description": "The replication protected item's name.", + "description": "Migration item name.", "required": true, "type": "string" + }, + { + "name": "testMigrateCleanupInput", + "in": "body", + "description": "Test migrate cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestMigrateCleanupInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPointCollection" + "$ref": "#/definitions/MigrationItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get recovery points for a replication protected item.": { - "$ref": "../examples/RecoveryPoints_ListByReplicationProtectedItems.json" + "Test migrate cleanup.": { + "$ref": "./examples/ReplicationMigrationItems_TestMigrateCleanup.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectableItems" ], - "summary": "Execute reprotect of the recovery plan.", - "description": "The operation to reprotect(reverse replicate) a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Reprotect", + "summary": "Gets the list of protectable items.", + "description": "Lists the protectable items in a protection container.", + "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -2559,40 +2503,68 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + }, + { + "name": "$take", + "in": "query", + "description": "take OData query parameter.", + "required": false, + "type": "string" + }, + { + "name": "$skipToken", + "in": "query", + "description": "skipToken OData query parameter.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectableItemCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectableItemQueryParameter", "x-ms-examples": { - "Execute reprotect of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_Reprotect.json" + "Gets the list of protectable items.": { + "$ref": "./examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { + "get": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectableItems" ], - "summary": "Execute commit failover of the recovery plan.", - "description": "The operation to commit the fail over of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "summary": "Gets the details of a protectable item.", + "description": "The operation to get the details of a protectable item.", + "operationId": "ReplicationProtectableItems_Get", "produces": [ "application/json" ], @@ -2610,9 +2582,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "protectableItemName", + "in": "path", + "description": "Protectable item name.", "required": true, "type": "string" } @@ -2621,32 +2607,25 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ProtectableItem" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute commit failover of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_FailoverCommit.json" + "Gets the details of a protectable item.": { + "$ref": "./examples/ReplicationProtectableItems_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems": { + "get": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute test failover cleanup of the recovery plan.", - "description": "The operation to cleanup test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", - "consumes": [ - "application/json" + "ReplicationProtectedItems" ], + "summary": "Gets the list of Replication protected items.", + "description": "Gets the list of ASR replication protected items in the protection container.", + "operationId": "ReplicationProtectedItems_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -2664,52 +2643,46 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Test failover cleanup input.", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, - "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItemCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Execute test failover cleanup of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + "Gets the list of Replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}": { + "get": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute test failover of the recovery plan.", - "description": "The operation to start the test failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_TestFailover", - "consumes": [ - "application/json" + "ReplicationProtectedItems" ], + "summary": "Gets the details of a Replication protected item.", + "description": "Gets the details of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Get", "produces": [ "application/json" ], @@ -2727,49 +2700,48 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric unique name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Failover input.", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, - "schema": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInput" - } + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute test failover of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_TestFailover.json" + "Gets the details of a Replication protected item.": { + "$ref": "./examples/ReplicationProtectedItems_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { - "post": { + }, + "put": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" ], - "summary": "Execute unplanned failover of the recovery plan.", - "description": "The operation to start the failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "summary": "Enables protection.", + "description": "The operation to create an ASR replication protected item (Enable replication).", + "operationId": "ReplicationProtectedItems_Create", "consumes": [ "application/json" ], @@ -2790,19 +2762,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "A name for the replication protected item.", "required": true, "type": "string" }, { "name": "input", "in": "body", - "description": "Failover input.", + "description": "Enable Protection Input.", "required": true, "schema": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + "$ref": "#/definitions/EnableProtectionInput" } } ], @@ -2810,7 +2796,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } }, "202": { @@ -2819,26 +2805,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute unplanned failover of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_UnplannedFailover.json" + "Enables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { - "post": { + }, + "delete": { "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Execute planned failover of the recovery plan.", - "description": "The operation to start the planned failover of a recovery plan.", - "operationId": "ReplicationRecoveryPlans_PlannedFailover", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" + "ReplicationProtectedItems" ], + "summary": "Purges protection.", + "description": "The operation to delete or purge a replication protected item. This operation will force delete the replication protected item. Use the remove operation on replication protected item to perform a clean disable replication for the item.", + "operationId": "ReplicationProtectedItems_Purge", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -2853,49 +2831,52 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Failover input.", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, - "schema": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" - } + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecoveryPlan" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Execute planned failover of the recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_PlannedFailover.json" + "Purges protection.": { + "$ref": "./examples/ReplicationProtectedItems_Purge.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { - "get": { + }, + "patch": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" + ], + "summary": "Updates the replication protected item settings.", + "description": "The operation to update the recovery settings of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_Update", + "consumes": [ + "application/json" ], - "summary": "Gets the requested recovery plan.", - "description": "Gets the details of the recovery plan.", - "operationId": "ReplicationRecoveryPlans_Get", "produces": [ "application/json" ], @@ -2913,34 +2894,63 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Name of the recovery plan.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "updateProtectionInput", + "in": "body", + "description": "Update protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the requested recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_Get.json" + "Updates the replication protected Item settings.": { + "$ref": "./examples/ReplicationProtectedItems_Update.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/addDisks": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" ], - "summary": "Creates a recovery plan with the given details.", - "description": "The operation to create a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Create", + "summary": "Add disk(s) for protection.", + "description": "Operation to add disks(s) to the replication protected item.", + "operationId": "ReplicationProtectedItems_AddDisks", "consumes": [ "application/json" ], @@ -2961,19 +2971,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "addDisksInput", "in": "body", - "description": "Recovery Plan creation input.", + "description": "Add disks input.", "required": true, "schema": { - "$ref": "#/definitions/CreateRecoveryPlanInput" + "$ref": "#/definitions/AddDisksInput" } } ], @@ -2981,7 +3005,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } }, "202": { @@ -2990,18 +3014,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates a recovery plan with the given details.": { - "$ref": "../examples/ReplicationRecoveryPlans_Create.json" + "Add disk(s) for protection.": { + "$ref": "./examples/ReplicationProtectedItems_AddDisks.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/applyRecoveryPoint": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" + ], + "summary": "Change or apply recovery point.", + "description": "The operation to change the recovery point of a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_ApplyRecoveryPoint", + "consumes": [ + "application/json" ], - "summary": "Deletes the specified recovery plan.", - "description": "Delete a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Delete", "produces": [ "application/json" ], @@ -3019,68 +3048,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "recoveryPlanName", + "name": "fabricName", "in": "path", - "description": "Recovery plan name.", + "description": "The ARM fabric name.", "required": true, "type": "string" - } - ], - "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Deletes the specified recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_Delete.json" - } - } - }, - "patch": { - "tags": [ - "ReplicationRecoveryPlans" - ], - "summary": "Updates the given recovery plan.", - "description": "The operation to update a recovery plan.", - "operationId": "ReplicationRecoveryPlans_Update", - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/ResourceName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" + "name": "protectionContainerName", + "in": "path", + "description": "The protection container name.", + "required": true, + "type": "string" }, { - "name": "recoveryPlanName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Recovery plan name.", + "description": "The replicated protected item name.", "required": true, "type": "string" }, { - "name": "input", + "name": "applyRecoveryPointInput", "in": "body", - "description": "Update recovery plan input", + "description": "The ApplyRecoveryPointInput.", "required": true, "schema": { - "$ref": "#/definitions/UpdateRecoveryPlanInput" + "$ref": "#/definitions/ApplyRecoveryPointInput" } } ], @@ -3088,7 +3082,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlan" + "$ref": "#/definitions/ReplicationProtectedItem" } }, "202": { @@ -3097,20 +3091,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the given recovery plan.": { - "$ref": "../examples/ReplicationRecoveryPlans_Update.json" + "Change or apply recovery point.": { + "$ref": "./examples/ReplicationProtectedItems_ApplyRecoveryPoint.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCancel": { + "post": { "tags": [ - "ReplicationRecoveryPlans" + "ReplicationProtectedItems" ], - "summary": "Gets the list of recovery plans.", - "description": "Lists the recovery plans in the vault.", - "operationId": "ReplicationRecoveryPlans_List", + "summary": "Execute cancel failover.", + "description": "Operation to cancel the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCancel", "produces": [ "application/json" ], @@ -3126,37 +3120,56 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/RecoveryPlanCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of recovery plans.": { - "$ref": "../examples/ReplicationRecoveryPlans_List.json" + "Execute cancel failover.": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCancel.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/failoverCommit": { "post": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Switches protection from one container to another or one replication provider to\r\n another.", - "description": "Operation to switch protection from one container to another or one replication \r\n provider to another.", - "operationId": "ReplicationProtectionContainers_SwitchProtection", - "consumes": [ - "application/json" + "ReplicationProtectedItems" ], + "summary": "Execute commit failover.", + "description": "Operation to commit the failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_FailoverCommit", "produces": [ "application/json" ], @@ -3188,20 +3201,18 @@ "type": "string" }, { - "name": "switchInput", - "in": "body", - "description": "Switch protection input.", + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", "required": true, - "schema": { - "$ref": "#/definitions/SwitchProtectionInput" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/ReplicationProtectedItem" } }, "202": { @@ -3210,20 +3221,23 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Switches protection from one container to another or one replication provider to\r\n another.": { - "$ref": "../examples/ReplicationProtectionContainers_SwitchProtection.json" + "Execute commit failover.": { + "$ref": "./examples/ReplicationProtectedItems_FailoverCommit.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/remove": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/plannedFailover": { "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationProtectedItems" + ], + "summary": "Execute planned failover.", + "description": "Operation to initiate a planned failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_PlannedFailover", + "consumes": [ + "application/json" ], - "summary": "Removes a protection container.", - "description": "Operation to remove a protection container.", - "operationId": "ReplicationProtectionContainers_Delete", "produces": [ "application/json" ], @@ -3243,45 +3257,61 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Unique protection container ARM name.", + "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Planned failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/PlannedFailoverInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Removes a protection container.": { - "$ref": "../examples/ReplicationProtectionContainers_Delete.json" + "Execute planned failover.": { + "$ref": "./examples/ReplicationProtectedItems_PlannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/discoverProtectableItem": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints": { + "get": { "tags": [ - "ReplicationProtectionContainers" - ], - "summary": "Adds a protectable item to the replication protection container.", - "description": "The operation to a add a protectable item to a protection container(Add physical server.)", - "operationId": "ReplicationProtectionContainers_DiscoverProtectableItem", - "consumes": [ - "application/json" + "RecoveryPoints" ], + "summary": "Gets the list of recovery points for a replication protected item.", + "description": "Lists the available recovery points for a replication protected item.", + "operationId": "RecoveryPoints_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -3301,54 +3331,51 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "The name of the protection container.", + "description": "The protection container name.", "required": true, "type": "string" }, { - "name": "discoverProtectableItemRequest", - "in": "body", - "description": "The request object to add a protectable\r\n item.", + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item name.", "required": true, - "schema": { - "$ref": "#/definitions/DiscoverProtectableItemRequest" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/RecoveryPointCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Adds a protectable item to the replication protection container.": { - "$ref": "../examples/ReplicationProtectionContainers_DiscoverProtectableItem.json" + "Gets the list of recovery points for a replication protected item.": { + "$ref": "./examples/RecoveryPoints_ListByReplicationProtectedItems.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/recoveryPoints/{recoveryPointName}": { "get": { "tags": [ - "ReplicationProtectionContainers" + "RecoveryPoints" ], - "summary": "Gets the protection container details.", - "description": "Gets the details of a protection container.", - "operationId": "ReplicationProtectionContainers_Get", + "summary": "Gets a recovery point.", + "description": "Get the details of specified recovery point.", + "operationId": "RecoveryPoints_Get", "produces": [ "application/json" ], @@ -3368,14 +3395,28 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "The fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "The protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "recoveryPointName", + "in": "path", + "description": "The recovery point name.", "required": true, "type": "string" } @@ -3384,29 +3425,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/RecoveryPoint" } } }, "x-ms-examples": { - "Gets the protection container details.": { - "$ref": "../examples/ReplicationProtectionContainers_Get.json" + "Gets a recovery point.": { + "$ref": "./examples/RecoveryPoints_Get.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/remove": { + "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationProtectedItems" ], - "summary": "Create a protection container.", - "description": "Operation to create a protection container.", - "operationId": "ReplicationProtectionContainers_Create", + "summary": "Disables protection.", + "description": "The operation to disable replication on a replication protected item. This will also remove the item.", + "operationId": "ReplicationProtectedItems_Delete", "consumes": [ "application/json" ], - "produces": [ - "application/json" - ], "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -3423,54 +3463,61 @@ { "name": "fabricName", "in": "path", - "description": "Unique fabric ARM name.", + "description": "Fabric name.", "required": true, "type": "string" }, { "name": "protectionContainerName", "in": "path", - "description": "Unique protection container ARM name.", + "description": "Protection container name.", "required": true, "type": "string" }, { - "name": "creationInput", + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "disableProtectionInput", "in": "body", - "description": "Creation input.", + "description": "Disable protection input.", "required": true, "schema": { - "$ref": "#/definitions/CreateProtectionContainerInput" + "$ref": "#/definitions/DisableProtectionInput" } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProtectionContainer" - } - }, "202": { "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Create a protection container.": { - "$ref": "../examples/ReplicationProtectionContainers_Create.json" + "Disables protection.": { + "$ref": "./examples/ReplicationProtectedItems_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/removeDisks": { + "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationProtectedItems" + ], + "summary": "Removes disk(s).", + "description": "Operation to remove disk(s) from the replication protected item.", + "operationId": "ReplicationProtectedItems_RemoveDisks", + "consumes": [ + "application/json" ], - "summary": "Gets the list of protection container for a fabric.", - "description": "Lists the protection containers in the specified fabric.", - "operationId": "ReplicationProtectionContainers_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -3490,37 +3537,61 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" - } - ], - "responses": { - "200": { + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "removeDisksInput", + "in": "body", + "description": "Remove disks input.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveDisksInput" + } + } + ], + "responses": { + "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of protection container for a fabric.": { - "$ref": "../examples/ReplicationProtectionContainers_ListByReplicationFabrics.json" + "Removes disk(s).": { + "$ref": "./examples/ReplicationProtectedItems_RemoveDisks.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/repairReplication": { + "post": { "tags": [ - "ReplicationProtectionContainers" + "ReplicationProtectedItems" ], - "summary": "Gets the list of all protection containers in a vault.", - "description": "Lists the protection containers in a vault.", - "operationId": "ReplicationProtectionContainers_List", + "summary": "Resynchronize or repair replication.", + "description": "The operation to start resynchronize/repair replication for a replication protected item requiring resynchronization.", + "operationId": "ReplicationProtectedItems_RepairReplication", "produces": [ "application/json" ], @@ -3536,34 +3607,56 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "The name of the replication protected item.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of all protection containers in a vault.": { - "$ref": "../examples/ReplicationProtectionContainers_List.json" + "Resynchronize or repair replication.": { + "$ref": "./examples/ReplicationProtectedItems_RepairReplication.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/reProtect": { "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationProtectedItems" ], - "summary": "Remove protection container mapping.", - "description": "The operation to delete or remove a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Delete", + "summary": "Execute Reverse Replication\\Reprotect.", + "description": "Operation to reprotect or reverse replicate a failed over replication protected item.", + "operationId": "ReplicationProtectedItems_Reprotect", "consumes": [ "application/json" ], @@ -3586,7 +3679,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -3598,46 +3691,52 @@ "type": "string" }, { - "name": "mappingName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Protection container mapping name.", + "description": "Replication protected item name.", "required": true, "type": "string" }, { - "name": "removalInput", + "name": "reprotectInput", "in": "body", - "description": "Removal input.", + "description": "Reverse replication input.", "required": true, "schema": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + "$ref": "#/definitions/ReverseReplicationInput" } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Remove protection container mapping.": { - "$ref": "../examples/ReplicationProtectionContainerMappings_Delete.json" + "Execute Reverse Replication\\Reprotect.": { + "$ref": "./examples/ReplicationProtectedItems_Reprotect.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/resolveHealthErrors": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationProtectedItems" + ], + "summary": "Resolve health errors.", + "description": "Operation to resolve health issues of the replication protected item.", + "operationId": "ReplicationProtectedItems_ResolveHealthErrors", + "consumes": [ + "application/json" ], - "summary": "Gets a protection container mapping/", - "description": "Gets the details of a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Get", "produces": [ "application/json" ], @@ -3657,7 +3756,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -3669,37 +3768,49 @@ "type": "string" }, { - "name": "mappingName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Protection Container mapping name.", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "resolveHealthInput", + "in": "body", + "description": "Health issue input object.", + "required": true, + "schema": { + "$ref": "#/definitions/ResolveHealthInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets a protection container mapping/": { - "$ref": "../examples/ReplicationProtectionContainerMappings_Get.json" + "Resolve health errors.": { + "$ref": "./examples/ReplicationProtectedItems_ResolveHealthErrors.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/targetComputeSizes": { + "get": { "tags": [ - "ReplicationProtectionContainerMappings" - ], - "summary": "Create protection container mapping.", - "description": "The operation to create a protection container mapping.", - "operationId": "ReplicationProtectionContainerMappings_Create", - "consumes": [ - "application/json" + "TargetComputeSizes" ], + "summary": "Gets the list of target compute sizes for the replication protected item.", + "description": "Lists the available target compute sizes for a replication protected item.", + "operationId": "TargetComputeSizes_ListByReplicationProtectedItems", "produces": [ "application/json" ], @@ -3726,52 +3837,47 @@ { "name": "protectionContainerName", "in": "path", - "description": "Protection container name.", + "description": "protection container name.", "required": true, "type": "string" }, { - "name": "mappingName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Protection container mapping name.", + "description": "Replication protected item name.", "required": true, "type": "string" - }, - { - "name": "creationInput", - "in": "body", - "description": "Mapping creation input.", - "required": true, - "schema": { - "$ref": "#/definitions/CreateProtectionContainerMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMapping" + "$ref": "#/definitions/TargetComputeSizeCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Create protection container mapping.": { - "$ref": "../examples/ReplicationProtectionContainerMappings_Create.json" + "Gets the list of target compute sizes for the replication protected item.": { + "$ref": "./examples/TargetComputeSizes_ListByReplicationProtectedItems.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailover": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationProtectedItems" + ], + "summary": "Execute test failover.", + "description": "Operation to perform a test failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailover", + "consumes": [ + "application/json" ], - "summary": "Purge protection container mapping.", - "description": "The operation to purge(force delete) a protection container mapping", - "operationId": "ReplicationProtectionContainerMappings_Purge", "produces": [ "application/json" ], @@ -3791,7 +3897,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -3803,37 +3909,52 @@ "type": "string" }, { - "name": "mappingName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Protection container mapping name.", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "testfailoverInput", + "in": "body", + "description": "Test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverInput" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Purge protection container mapping.": { - "$ref": "../examples/ReplicationProtectionContainerMappings_Purge.json" + "Execute test failover.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/testFailoverCleanup": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationProtectedItems" + ], + "summary": "Execute test failover cleanup.", + "description": "Operation to clean up the test failover of a replication protected item.", + "operationId": "ReplicationProtectedItems_TestFailoverCleanup", + "consumes": [ + "application/json" ], - "summary": "Gets the list of protection container mappings for a protection container.", - "description": "Lists the protection container mappings for a protection container.", - "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -3853,7 +3974,7 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name.", + "description": "Unique fabric name.", "required": true, "type": "string" }, @@ -3863,34 +3984,54 @@ "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "cleanupInput", + "in": "body", + "description": "Test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/TestFailoverCleanupInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of protection container mappings for a protection container.": { - "$ref": "../examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" + "Execute test failover cleanup.": { + "$ref": "./examples/ReplicationProtectedItems_TestFailoverCleanup.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/unplannedFailover": { + "post": { "tags": [ - "ReplicationProtectionContainerMappings" + "ReplicationProtectedItems" + ], + "summary": "Execute unplanned failover.", + "description": "Operation to initiate a failover of the replication protected item.", + "operationId": "ReplicationProtectedItems_UnplannedFailover", + "consumes": [ + "application/json" ], - "summary": "Gets the list of all protection container mappings in a vault.", - "description": "Lists the protection container mappings in the vault.", - "operationId": "ReplicationProtectionContainerMappings_List", "produces": [ "application/json" ], @@ -3906,34 +4047,68 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "replicatedProtectedItemName", + "in": "path", + "description": "Replication protected item name.", + "required": true, + "type": "string" + }, + { + "name": "failoverInput", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/UnplannedFailoverInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectionContainerMappingCollection" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of all protection container mappings in a vault.": { - "$ref": "../examples/ReplicationProtectionContainerMappings_List.json" + "Execute unplanned failover.": { + "$ref": "./examples/ReplicationProtectedItems_UnplannedFailover.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems/{protectableItemName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicatedProtectedItemName}/updateAppliance": { + "post": { "tags": [ - "ReplicationProtectableItems" + "ReplicationProtectedItems" + ], + "summary": "Updates appliance for replication protected Item.", + "description": "The operation to update appliance of an ASR replication protected item.", + "operationId": "ReplicationProtectedItems_UpdateAppliance", + "consumes": [ + "application/json" ], - "summary": "Gets the details of a protectable item.", - "description": "The operation to get the details of a protectable item.", - "operationId": "ReplicationProtectableItems_Get", "produces": [ "application/json" ], @@ -3965,36 +4140,126 @@ "type": "string" }, { - "name": "protectableItemName", + "name": "replicatedProtectedItemName", "in": "path", - "description": "Protectable item name.", + "description": "Replication protected item name.", "required": true, "type": "string" + }, + { + "name": "applianceUpdateInput", + "in": "body", + "description": "Appliance update protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItem" + "$ref": "#/definitions/ReplicationProtectedItem" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of a protectable item.": { - "$ref": "../examples/ReplicationProtectableItems_Get.json" + "Updates appliance for replication protected Item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateAppliance.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectedItems/{replicationProtectedItemName}/updateMobilityService": { + "post": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Update the mobility service on a protected item.", + "description": "The operation to update(push update) the installed mobility service software on a replication protected item to the latest available version.", + "operationId": "ReplicationProtectedItems_UpdateMobilityService", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "fabricName", + "in": "path", + "description": "The name of the fabric containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "The name of the container containing the protected item.", + "required": true, + "type": "string" + }, + { + "name": "replicationProtectedItemName", + "in": "path", + "description": "The name of the protected item on which the agent is to be updated.", + "required": true, + "type": "string" + }, + { + "name": "updateMobilityServiceRequest", + "in": "body", + "description": "Request to update the mobility service on the protected item.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateMobilityServiceRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItem" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Update the mobility service on a protected item.": { + "$ref": "./examples/ReplicationProtectedItems_UpdateMobilityService.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectableItems": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings": { "get": { "tags": [ - "ReplicationProtectableItems" + "ReplicationProtectionContainerMappings" ], - "summary": "Gets the list of protectable items.", - "description": "Lists the protectable items in a protection container.", - "operationId": "ReplicationProtectableItems_ListByReplicationProtectionContainers", + "summary": "Gets the list of protection container mappings for a protection container.", + "description": "Lists the protection container mappings for a protection container.", + "operationId": "ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers", "produces": [ "application/json" ], @@ -4030,7 +4295,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProtectableItemCollection" + "$ref": "#/definitions/ProtectionContainerMappingCollection" } } }, @@ -4038,20 +4303,20 @@ "nextLinkName": "nextLink" }, "x-ms-examples": { - "Gets the list of protectable items.": { - "$ref": "../examples/ReplicationProtectableItems_ListByReplicationProtectionContainers.json" + "Gets the list of protection container mappings for a protection container.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_ListByReplicationProtectionContainers.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}": { "get": { "tags": [ - "ReplicationPolicies" + "ReplicationProtectionContainerMappings" ], - "summary": "Gets the requested policy.", - "description": "Gets the details of a replication policy.", - "operationId": "ReplicationPolicies_Get", + "summary": "Gets a protection container mapping.", + "description": "Gets the details of a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Get", "produces": [ "application/json" ], @@ -4069,9 +4334,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection Container mapping name.", "required": true, "type": "string" } @@ -4080,23 +4359,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/ProtectionContainerMapping" } } }, "x-ms-examples": { - "Gets the requested policy.": { - "$ref": "../examples/ReplicationPolicies_Get.json" + "Gets a protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Get.json" } } }, "put": { "tags": [ - "ReplicationPolicies" + "ReplicationProtectionContainerMappings" ], - "summary": "Creates the policy.", - "description": "The operation to create a replication policy", - "operationId": "ReplicationPolicies_Create", + "summary": "Create protection container mapping.", + "description": "The operation to create a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Create", "consumes": [ "application/json" ], @@ -4117,19 +4396,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "creationInput", "in": "body", - "description": "Create policy input", + "description": "Mapping creation input.", "required": true, "schema": { - "$ref": "#/definitions/CreatePolicyInput" + "$ref": "#/definitions/CreateProtectionContainerMappingInput" } } ], @@ -4137,7 +4430,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/ProtectionContainerMapping" } }, "202": { @@ -4146,21 +4439,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates the policy.": { - "$ref": "../examples/ReplicationPolicies_Create.json" + "Create protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Create.json" } } }, "delete": { "tags": [ - "ReplicationPolicies" - ], - "summary": "Delete the policy.", - "description": "The operation to delete a replication policy.", - "operationId": "ReplicationPolicies_Delete", - "produces": [ - "application/json" + "ReplicationProtectionContainerMappings" ], + "summary": "Purge protection container mapping.", + "description": "The operation to purge(force delete) a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Purge", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -4175,9 +4465,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Replication policy name.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", "required": true, "type": "string" } @@ -4192,18 +4496,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete the policy.": { - "$ref": "../examples/ReplicationPolicies_Delete.json" + "Purge protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Purge.json" } } }, "patch": { "tags": [ - "ReplicationPolicies" + "ReplicationProtectionContainerMappings" ], - "summary": "Updates the protection profile.", - "description": "The operation to update a replication policy.", - "operationId": "ReplicationPolicies_Update", + "summary": "Update protection container mapping.", + "description": "The operation to update protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Update", "consumes": [ "application/json" ], @@ -4224,27 +4528,41 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "policyName", + "name": "fabricName", "in": "path", - "description": "Protection profile Id.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", - "in": "body", - "description": "Update Protection Profile Input", + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, - "schema": { - "$ref": "#/definitions/UpdatePolicyInput" - } + "type": "string" + }, + { + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" + }, + { + "name": "updateInput", + "in": "body", + "description": "Mapping update input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateProtectionContainerMappingInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Policy" + "$ref": "#/definitions/ProtectionContainerMapping" } }, "202": { @@ -4253,21 +4571,21 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates the protection profile.": { - "$ref": "../examples/ReplicationPolicies_Update.json" + "Update protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Update.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/replicationProtectionContainerMappings/{mappingName}/remove": { + "post": { "tags": [ - "ReplicationPolicies" + "ReplicationProtectionContainerMappings" ], - "summary": "Gets the list of replication policies", - "description": "Lists the replication policies for a vault.", - "operationId": "ReplicationPolicies_List", - "produces": [ + "summary": "Remove protection container mapping.", + "description": "The operation to delete or remove a protection container mapping.", + "operationId": "ReplicationProtectionContainerMappings_Delete", + "consumes": [ "application/json" ], "parameters": [ @@ -4282,117 +4600,65 @@ }, { "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/PolicyCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Gets the list of replication policies": { - "$ref": "../examples/ReplicationPolicies_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { - "get": { - "tags": [ - "Operations" - ], - "summary": "Returns the list of available operations.", - "description": "Operation to return the list of available operations.", - "operationId": "Operations_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceGroupName" }, { - "$ref": "#/parameters/SubscriptionId" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/OperationsDiscoveryCollection" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-examples": { - "Returns the list of available operations.": { - "$ref": "../examples/Operations_List.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { - "get": { - "tags": [ - "ReplicationNetworks" - ], - "summary": "Gets the list of networks. View-only API.", - "description": "Lists the networks available in a vault", - "operationId": "ReplicationNetworks_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceName" + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupName" + "name": "mappingName", + "in": "path", + "description": "Protection container mapping name.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/SubscriptionId" + "name": "removalInput", + "in": "body", + "description": "Removal input.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInput" + } } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/NetworkCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of networks. View-only API.": { - "$ref": "../examples/ReplicationNetworks_List.json" + "Remove protection container mapping.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{protectionContainerName}/switchprotection": { + "post": { "tags": [ - "ReplicationNetworks" + "ReplicationProtectionContainers" + ], + "summary": "Switches protection from one container to another or one replication provider to another.", + "description": "Operation to switch protection from one container to another or one replication provider to another.", + "operationId": "ReplicationProtectionContainers_SwitchProtection", + "consumes": [ + "application/json" ], - "summary": "Gets the list of networks under a fabric.", - "description": "Lists the networks available for a fabric.", - "operationId": "ReplicationNetworks_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -4412,37 +4678,54 @@ { "name": "fabricName", "in": "path", - "description": "Fabric name", + "description": "Unique fabric name.", + "required": true, + "type": "string" + }, + { + "name": "protectionContainerName", + "in": "path", + "description": "Protection container name.", "required": true, "type": "string" + }, + { + "name": "switchInput", + "in": "body", + "description": "Switch protection input.", + "required": true, + "schema": { + "$ref": "#/definitions/SwitchProtectionInput" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkCollection" + "$ref": "#/definitions/ProtectionContainer" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of networks under a fabric.": { - "$ref": "../examples/ReplicationNetworks_ListByReplicationFabrics.json" + "Switches protection from one container to another or one replication provider to another.": { + "$ref": "./examples/ReplicationProtectionContainers_SwitchProtection.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders": { "get": { "tags": [ - "ReplicationNetworks" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets a network with specified server id and network name.", - "description": "Gets the details of a network.", - "operationId": "ReplicationNetworks_Get", + "summary": "Gets the list of registered recovery services providers for the fabric.", + "description": "Lists the registered recovery services providers for the specified fabric.", + "operationId": "ReplicationRecoveryServicesProviders_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -4462,14 +4745,7 @@ { "name": "fabricName", "in": "path", - "description": "Server Id.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" } @@ -4478,25 +4754,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Network" + "$ref": "#/definitions/RecoveryServicesProviderCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets a network with specified server id and network name.": { - "$ref": "../examples/ReplicationNetworks_Get.json" + "Gets the list of registered recovery services providers for the fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationNetworks/{networkName}/replicationNetworkMappings/{networkMappingName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}": { "get": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationRecoveryServicesProviders" ], - "summary": "Gets network mapping by name.", - "description": "Gets the details of an ASR network mapping", - "operationId": "ReplicationNetworkMappings_Get", + "summary": "Gets the details of a recovery services provider.", + "description": "Gets the details of registered recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Get", "produces": [ "application/json" ], @@ -4516,21 +4795,14 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "providerName", "in": "path", - "description": "Network mapping name.", + "description": "Recovery services provider name.", "required": true, "type": "string" } @@ -4539,23 +4811,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/RecoveryServicesProvider" } } }, "x-ms-examples": { - "Gets network mapping by name.": { - "$ref": "../examples/ReplicationNetworkMappings_Get.json" + "Gets the details of a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Get.json" } } }, "put": { "tags": [ - "ReplicationNetworkMappings" + "ReplicationRecoveryServicesProviders" ], - "summary": "Creates network mapping.", - "description": "The operation to create an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Create", + "summary": "Adds a recovery services provider.", + "description": "The operation to add a recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_Create", "consumes": [ "application/json" ], @@ -4578,31 +4850,24 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "providerName", "in": "path", - "description": "Network mapping name.", + "description": "Recovery services provider name.", "required": true, "type": "string" }, { - "name": "input", + "name": "addProviderInput", "in": "body", - "description": "Create network mapping input.", + "description": "Add provider input.", "required": true, "schema": { - "$ref": "#/definitions/CreateNetworkMappingInput" + "$ref": "#/definitions/AddRecoveryServicesProviderInput" } } ], @@ -4610,7 +4875,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/RecoveryServicesProvider" } }, "202": { @@ -4619,21 +4884,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates network mapping.": { - "$ref": "../examples/ReplicationNetworkMappings_Create.json" + "Adds a recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Create.json" } } }, "delete": { "tags": [ - "ReplicationNetworkMappings" - ], - "summary": "Delete network mapping.", - "description": "The operation to delete a network mapping.", - "operationId": "ReplicationNetworkMappings_Delete", - "produces": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Purges recovery service provider from fabric.", + "description": "The operation to purge(force delete) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Purge", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -4650,21 +4912,14 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkName", - "in": "path", - "description": "Primary network name.", - "required": true, - "type": "string" - }, - { - "name": "networkMappingName", + "name": "providerName", "in": "path", - "description": "ARM Resource Name for network mapping.", + "description": "Recovery services provider name.", "required": true, "type": "string" } @@ -4679,21 +4934,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Delete network mapping.": { - "$ref": "../examples/ReplicationNetworkMappings_Delete.json" + "Purges recovery service provider from fabric.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Purge.json" } } - }, - "patch": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/refreshProvider": { + "post": { "tags": [ - "ReplicationNetworkMappings" - ], - "summary": "Updates network mapping.", - "description": "The operation to update an ASR network mapping.", - "operationId": "ReplicationNetworkMappings_Update", - "consumes": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Refresh details from the recovery services provider.", + "description": "The operation to refresh the information from the recovery services provider.", + "operationId": "ReplicationRecoveryServicesProviders_RefreshProvider", "produces": [ "application/json" ], @@ -4713,39 +4967,23 @@ { "name": "fabricName", "in": "path", - "description": "Primary fabric name.", - "required": true, - "type": "string" - }, - { - "name": "networkName", - "in": "path", - "description": "Primary network name.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "networkMappingName", + "name": "providerName", "in": "path", - "description": "Network mapping name.", + "description": "Recovery services provider name.", "required": true, "type": "string" - }, - { - "name": "input", - "in": "body", - "description": "Update network mapping input.", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateNetworkMappingInput" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/NetworkMapping" + "$ref": "#/definitions/RecoveryServicesProvider" } }, "202": { @@ -4754,23 +4992,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Updates network mapping.": { - "$ref": "../examples/ReplicationNetworkMappings_Update.json" + "Refresh details from the recovery services provider.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_RefreshProvider.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationRecoveryServicesProviders/{providerName}/remove": { + "post": { "tags": [ - "ReplicationLogicalNetworks" - ], - "summary": "Gets the list of logical networks under a fabric.", - "description": "Lists all the logical networks of the Azure Site Recovery fabric", - "operationId": "ReplicationLogicalNetworks_ListByReplicationFabrics", - "produces": [ - "application/json" + "ReplicationRecoveryServicesProviders" ], + "summary": "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).", + "description": "The operation to removes/delete(unregister) a recovery services provider from the vault.", + "operationId": "ReplicationRecoveryServicesProviders_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -4787,37 +5022,42 @@ { "name": "fabricName", "in": "path", - "description": "Server Id.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "providerName", + "in": "path", + "description": "Recovery services provider name.", "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/LogicalNetworkCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of logical networks under a fabric.": { - "$ref": "../examples/ReplicationLogicalNetworks_ListByReplicationFabrics.json" + "Deletes provider from fabric. Note: Deleting provider for any fabric other than SingleHost is unsupported. To maintain backward compatibility for released clients the object \"deleteRspInput\" is used (if the object is empty we assume that it is old client and continue the old behavior).": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationLogicalNetworks/{logicalNetworkName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications": { "get": { "tags": [ - "ReplicationLogicalNetworks" + "ReplicationStorageClassifications" ], - "summary": "Gets a logical network with specified server id and logical network name.", - "description": "Gets the details of a logical network.", - "operationId": "ReplicationLogicalNetworks_Get", + "summary": "Gets the list of storage classification objects under a fabric.", + "description": "Lists the storage classifications available in the specified fabric.", + "operationId": "ReplicationStorageClassifications_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -4837,14 +5077,7 @@ { "name": "fabricName", "in": "path", - "description": "Server Id.", - "required": true, - "type": "string" - }, - { - "name": "logicalNetworkName", - "in": "path", - "description": "Logical network name.", + "description": "Site name of interest.", "required": true, "type": "string" } @@ -4853,28 +5086,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/LogicalNetwork" + "$ref": "#/definitions/StorageClassificationCollection" } } }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Gets a logical network with specified server id and logical network name.": { - "$ref": "../examples/ReplicationLogicalNetworks_Get.json" + "Gets the list of storage classification objects under a fabric.": { + "$ref": "./examples/ReplicationStorageClassifications_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}": { + "get": { "tags": [ - "ReplicationJobs" - ], - "summary": "Resumes the specified job.", - "description": "The operation to resume an Azure Site Recovery job", - "operationId": "ReplicationJobs_Resume", - "consumes": [ - "application/json" + "ReplicationStorageClassifications" ], + "summary": "Gets the details of a storage classification.", + "description": "Gets the details of the specified storage classification.", + "operationId": "ReplicationStorageClassifications_Get", "produces": [ "application/json" ], @@ -4892,49 +5125,43 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Job identifier.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "resumeJobParams", - "in": "body", - "description": "Resume rob comments.", + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", "required": true, - "schema": { - "$ref": "#/definitions/ResumeJobParams" - } + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/StorageClassification" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Resumes the specified job.": { - "$ref": "../examples/ReplicationJobs_Resume.json" + "Gets the details of a storage classification.": { + "$ref": "./examples/ReplicationStorageClassifications_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings": { + "get": { "tags": [ - "ReplicationJobs" + "ReplicationStorageClassificationMappings" ], - "summary": "Restarts the specified job.", - "description": "The operation to restart an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Restart", + "summary": "Gets the list of storage classification mappings objects under a storage.", + "description": "Lists the storage classification mappings for the fabric.", + "operationId": "ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications", "produces": [ "application/json" ], @@ -4952,9 +5179,16 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Job identifier.", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", "required": true, "type": "string" } @@ -4963,29 +5197,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/StorageClassificationMappingCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Restarts the specified job.": { - "$ref": "../examples/ReplicationJobs_Restart.json" + "Gets the list of storage classification mappings objects under a storage.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_ListByReplicationStorageClassifications.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationStorageClassifications/{storageClassificationName}/replicationStorageClassificationMappings/{storageClassificationMappingName}": { + "get": { "tags": [ - "ReplicationJobs" + "ReplicationStorageClassificationMappings" ], - "summary": "Cancels the specified job.", - "description": "The operation to cancel an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Cancel", + "summary": "Gets the details of a storage classification mapping.", + "description": "Gets the details of the specified storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Get", "produces": [ "application/json" ], @@ -5003,60 +5236,23 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobName", + "name": "fabricName", "in": "path", - "description": "Job indentifier.", + "description": "Fabric name.", "required": true, "type": "string" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Job" - } - }, - "202": { - "description": "Accepted" - } - }, - "x-ms-long-running-operation": true, - "x-ms-examples": { - "Cancels the specified job.": { - "$ref": "../examples/ReplicationJobs_Cancel.json" - } - } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { - "get": { - "tags": [ - "ReplicationJobs" - ], - "summary": "Gets the job details.", - "description": "Get the details of an Azure Site Recovery job.", - "operationId": "ReplicationJobs_Get", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/ApiVersion" }, { - "$ref": "#/parameters/ResourceName" - }, - { - "$ref": "#/parameters/ResourceGroupName" - }, - { - "$ref": "#/parameters/SubscriptionId" + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" }, { - "name": "jobName", + "name": "storageClassificationMappingName", "in": "path", - "description": "Job identifier", + "description": "Storage classification mapping name.", "required": true, "type": "string" } @@ -5065,25 +5261,23 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/StorageClassificationMapping" } } }, "x-ms-examples": { - "Gets the job details.": { - "$ref": "../examples/ReplicationJobs_Get.json" + "Gets the details of a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { - "post": { + }, + "put": { "tags": [ - "ReplicationJobs" + "ReplicationStorageClassificationMappings" ], - "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", - "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", - "operationId": "ReplicationJobs_Export", + "summary": "Create storage classification mapping.", + "description": "The operation to create a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Create", "consumes": [ "application/json" ], @@ -5104,12 +5298,33 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "jobQueryParameter", + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, + "type": "string" + }, + { + "name": "pairingInput", "in": "body", - "description": "job query filter.", + "description": "Pairing input.", "required": true, "schema": { - "$ref": "#/definitions/JobQueryParameter" + "$ref": "#/definitions/StorageClassificationMappingInput" } } ], @@ -5117,7 +5332,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Job" + "$ref": "#/definitions/StorageClassificationMapping" } }, "202": { @@ -5126,23 +5341,18 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Exports the details of the Azure Site Recovery jobs of the vault.": { - "$ref": "../examples/ReplicationJobs_Export.json" + "Create storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { - "get": { + }, + "delete": { "tags": [ - "ReplicationJobs" - ], - "summary": "Gets the list of jobs.", - "description": "Gets the list of Azure Site Recovery Jobs for the vault.", - "operationId": "ReplicationJobs_List", - "produces": [ - "application/json" + "ReplicationStorageClassificationMappings" ], + "summary": "Delete a storage classification mapping.", + "description": "The operation to delete a storage classification mapping.", + "operationId": "ReplicationStorageClassificationMappings_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -5157,43 +5367,51 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "$filter", - "in": "query", - "description": "OData filter options.", - "required": false, + "name": "fabricName", + "in": "path", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationName", + "in": "path", + "description": "Storage classification name.", + "required": true, + "type": "string" + }, + { + "name": "storageClassificationMappingName", + "in": "path", + "description": "Storage classification mapping name.", + "required": true, "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/JobCollection" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "JobQueryParameter", + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of jobs.": { - "$ref": "../examples/ReplicationJobs_List.json" + "Delete a storage classification mapping.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_Delete.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/reassociateGateway": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters": { + "get": { "tags": [ - "ReplicationFabrics" - ], - "summary": "Perform failover of the process server.", - "description": "The operation to move replications from a process server to another process server.", - "operationId": "ReplicationFabrics_ReassociateGateway", - "consumes": [ - "application/json" + "ReplicationvCenters" ], + "summary": "Gets the list of vCenter registered under a fabric.", + "description": "Lists the vCenter servers registered in a fabric.", + "operationId": "ReplicationvCenters_ListByReplicationFabrics", "produces": [ "application/json" ], @@ -5213,47 +5431,37 @@ { "name": "fabricName", "in": "path", - "description": "The name of the fabric containing the process server.", + "description": "Fabric name.", "required": true, "type": "string" - }, - { - "name": "failoverProcessServerRequest", - "in": "body", - "description": "The input to the failover process\r\n server operation.", - "required": true, - "schema": { - "$ref": "#/definitions/FailoverProcessServerRequest" - } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VCenterCollection" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, "x-ms-examples": { - "Perform failover of the process server.": { - "$ref": "../examples/ReplicationFabrics_ReassociateGateway.json" + "Gets the list of vCenter registered under a fabric.": { + "$ref": "./examples/ReplicationvCenters_ListByReplicationFabrics.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/checkConsistency": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/replicationvCenters/{vcenterName}": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationvCenters" ], - "summary": "Checks the consistency of the ASR fabric.", - "description": "The operation to perform a consistency check on the fabric.", - "operationId": "ReplicationFabrics_CheckConsistency", + "summary": "Gets the details of a vCenter.", + "description": "Gets the details of a registered vCenter server(Add vCenter server).", + "operationId": "ReplicationvCenters_Get", "produces": [ "application/json" ], @@ -5276,35 +5484,39 @@ "description": "Fabric name.", "required": true, "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VCenter" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true, "x-ms-examples": { - "Checks the consistency of the ASR fabric.": { - "$ref": "../examples/ReplicationFabrics_CheckConsistency.json" + "Gets the details of a vCenter.": { + "$ref": "./examples/ReplicationvCenters_Get.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}/remove": { - "post": { + }, + "put": { "tags": [ - "ReplicationFabrics" + "ReplicationvCenters" + ], + "summary": "Add vCenter.", + "description": "The operation to create a vCenter object..", + "operationId": "ReplicationvCenters_Create", + "consumes": [ + "application/json" ], - "summary": "Deletes the site.", - "description": "The operation to delete or remove an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Delete", "produces": [ "application/json" ], @@ -5324,38 +5536,52 @@ { "name": "fabricName", "in": "path", - "description": "ASR fabric to delete", + "description": "Fabric name.", + "required": true, + "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", "required": true, "type": "string" + }, + { + "name": "addVCenterRequest", + "in": "body", + "description": "The input to the add vCenter operation.", + "required": true, + "schema": { + "$ref": "#/definitions/AddVCenterRequest" + } } ], "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenter" + } + }, "202": { "description": "Accepted" - }, - "204": { - "description": "NoContent" } }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Deletes the site.": { - "$ref": "../examples/ReplicationFabrics_Delete.json" + "Add vCenter.": { + "$ref": "./examples/ReplicationvCenters_Create.json" } } - } - }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics/{fabricName}": { - "get": { + }, + "delete": { "tags": [ - "ReplicationFabrics" - ], - "summary": "Gets the details of an ASR fabric.", - "description": "Gets the details of an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Get", - "produces": [ - "application/json" + "ReplicationvCenters" ], + "summary": "Remove vcenter operation.", + "description": "The operation to remove(unregister) a registered vCenter server from the vault.", + "operationId": "ReplicationvCenters_Delete", "parameters": [ { "$ref": "#/parameters/ApiVersion" @@ -5375,29 +5601,37 @@ "description": "Fabric name.", "required": true, "type": "string" + }, + { + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" } ], "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/Fabric" - } + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the details of an ASR fabric.": { - "$ref": "../examples/ReplicationFabrics_Get.json" + "Remove vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Delete.json" } } }, - "put": { + "patch": { "tags": [ - "ReplicationFabrics" + "ReplicationvCenters" ], - "summary": "Creates an Azure Site Recoery fabric.", - "description": "The operation to create an Azure Site Recovery fabric (for e.g. Hyper-V site)", - "operationId": "ReplicationFabrics_Create", + "summary": "Update vCenter operation.", + "description": "The operation to update a registered vCenter.", + "operationId": "ReplicationvCenters_Update", "consumes": [ "application/json" ], @@ -5420,17 +5654,24 @@ { "name": "fabricName", "in": "path", - "description": "Name of the ASR fabric.", + "description": "Fabric name.", "required": true, "type": "string" }, { - "name": "input", + "name": "vcenterName", + "in": "path", + "description": "vcenter name.", + "required": true, + "type": "string" + }, + { + "name": "updateVCenterRequest", "in": "body", - "description": "Fabric creation input.", + "description": "The input to the update vCenter operation.", "required": true, "schema": { - "$ref": "#/definitions/FabricCreationInput" + "$ref": "#/definitions/UpdateVCenterRequest" } } ], @@ -5438,7 +5679,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Fabric" + "$ref": "#/definitions/VCenter" } }, "202": { @@ -5447,18 +5688,20 @@ }, "x-ms-long-running-operation": true, "x-ms-examples": { - "Creates an Azure Site Recoery fabric.": { - "$ref": "../examples/ReplicationFabrics_Create.json" + "Update vCenter operation.": { + "$ref": "./examples/ReplicationvCenters_Update.json" } } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs": { + "get": { "tags": [ - "ReplicationFabrics" + "ReplicationJobs" ], - "summary": "Purges the site.", - "description": "The operation to purge(force delete) an Azure Site Recovery fabric.", - "operationId": "ReplicationFabrics_Purge", + "summary": "Gets the list of jobs.", + "description": "Gets the list of Azure Site Recovery Jobs for the vault.", + "operationId": "ReplicationJobs_List", "produces": [ "application/json" ], @@ -5476,37 +5719,40 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "fabricName", - "in": "path", - "description": "ASR fabric to purge.", - "required": true, + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, "type": "string" } ], "responses": { - "202": { - "description": "Accepted" - }, - "204": { - "description": "NoContent" + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JobCollection" + } } }, - "x-ms-long-running-operation": true, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/JobQueryParameter", "x-ms-examples": { - "Purges the site.": { - "$ref": "../examples/ReplicationFabrics_Purge.json" + "Gets the list of jobs.": { + "$ref": "./examples/ReplicationJobs_List.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}": { "get": { "tags": [ - "ReplicationFabrics" + "ReplicationJobs" ], - "summary": "Gets the list of ASR fabrics", - "description": "Gets a list of the Azure Site Recovery fabrics in the vault.", - "operationId": "ReplicationFabrics_List", + "summary": "Gets the job details.", + "description": "Get the details of an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Get", "produces": [ "application/json" ], @@ -5522,34 +5768,38 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/FabricCollection" + "$ref": "#/definitions/Job" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, "x-ms-examples": { - "Gets the list of ASR fabrics": { - "$ref": "../examples/ReplicationFabrics_List.json" + "Gets the job details.": { + "$ref": "./examples/ReplicationJobs_Get.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents/{eventName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/cancel": { + "post": { "tags": [ - "ReplicationEvents" + "ReplicationJobs" ], - "summary": "Get the details of an Azure Site recovery event.", - "description": "The operation to get the details of an Azure Site recovery event.", - "operationId": "ReplicationEvents_Get", + "summary": "Cancels the specified job.", + "description": "The operation to cancel an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Cancel", "produces": [ "application/json" ], @@ -5567,9 +5817,9 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "eventName", + "name": "jobName", "in": "path", - "description": "The name of the Azure Site Recovery event.", + "description": "Job identifier.", "required": true, "type": "string" } @@ -5578,25 +5828,29 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Event" + "$ref": "#/definitions/Job" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Get the details of an Azure Site recovery event.": { - "$ref": "../examples/ReplicationEvents_Get.json" + "Cancels the specified job.": { + "$ref": "./examples/ReplicationJobs_Cancel.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationEvents": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/restart": { + "post": { "tags": [ - "ReplicationEvents" + "ReplicationJobs" ], - "summary": "Gets the list of Azure Site Recovery events.", - "description": "Gets the list of Azure Site Recovery events for the vault.", - "operationId": "ReplicationEvents_List", + "summary": "Restarts the specified job.", + "description": "The operation to restart an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Restart", "produces": [ "application/json" ], @@ -5612,34 +5866,45 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "jobName", + "in": "path", + "description": "Job identifier.", + "required": true, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/EventCollection" + "$ref": "#/definitions/Job" } + }, + "202": { + "description": "Accepted" } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets the list of Azure Site Recovery events.": { - "$ref": "../examples/ReplicationEvents_List.json" + "Restarts the specified job.": { + "$ref": "./examples/ReplicationJobs_Restart.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings/{alertSettingName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/{jobName}/resume": { + "post": { "tags": [ - "ReplicationAlertSettings" + "ReplicationJobs" + ], + "summary": "Resumes the specified job.", + "description": "The operation to resume an Azure Site Recovery job.", + "operationId": "ReplicationJobs_Resume", + "consumes": [ + "application/json" ], - "summary": "Gets an email notification(alert) configuration.", - "description": "Gets the details of the specified email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Get", "produces": [ "application/json" ], @@ -5657,34 +5922,49 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "alertSettingName", + "name": "jobName", "in": "path", - "description": "The name of the email notification configuration.", + "description": "Job identifier.", "required": true, "type": "string" + }, + { + "name": "resumeJobParams", + "in": "body", + "description": "Resume rob comments.", + "required": true, + "schema": { + "$ref": "#/definitions/ResumeJobParams" + } } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Alert" + "$ref": "#/definitions/Job" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Gets an email notification(alert) configuration.": { - "$ref": "../examples/ReplicationAlertSettings_Get.json" + "Resumes the specified job.": { + "$ref": "./examples/ReplicationJobs_Resume.json" } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationJobs/export": { + "post": { "tags": [ - "ReplicationAlertSettings" + "ReplicationJobs" ], - "summary": "Configures email notifications for this vault.", - "description": "Create or update an email notification(alert) configuration.", - "operationId": "ReplicationAlertSettings_Create", + "summary": "Exports the details of the Azure Site Recovery jobs of the vault.", + "description": "The operation to export the details of the Azure Site Recovery jobs of the vault.", + "operationId": "ReplicationJobs_Export", "consumes": [ "application/json" ], @@ -5705,19 +5985,12 @@ "$ref": "#/parameters/SubscriptionId" }, { - "name": "alertSettingName", - "in": "path", - "description": "The name of the email notification(alert) configuration.", - "required": true, - "type": "string" - }, - { - "name": "request", + "name": "jobQueryParameter", "in": "body", - "description": "The input to configure the email notification(alert).", + "description": "job query filter.", "required": true, "schema": { - "$ref": "#/definitions/ConfigureAlertRequest" + "$ref": "#/definitions/JobQueryParameter" } } ], @@ -5725,25 +5998,28 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/Alert" + "$ref": "#/definitions/Job" } + }, + "202": { + "description": "Accepted" } }, + "x-ms-long-running-operation": true, "x-ms-examples": { - "Configures email notifications for this vault.": { - "$ref": "../examples/ReplicationAlertSettings_Create.json" + "Exports the details of the Azure Site Recovery jobs of the vault.": { + "$ref": "./examples/ReplicationJobs_Export.json" } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationAlertSettings": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationMigrationItems": { "get": { "tags": [ - "ReplicationAlertSettings" + "ReplicationMigrationItems" ], - "summary": "Gets the list of configured email notification(alert) configurations.", - "description": "Gets the list of email notification(alert) configurations for the vault. .", - "operationId": "ReplicationAlertSettings_List", + "summary": "Gets the list of migration items in the vault.", + "operationId": "ReplicationMigrationItems_List", "produces": [ "application/json" ], @@ -5759,1384 +6035,10815 @@ }, { "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, + "type": "string" + }, + { + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { - "$ref": "#/definitions/AlertCollection" + "$ref": "#/definitions/MigrationItemCollection" } } }, "x-ms-pageable": { "nextLinkName": "nextLink" }, + "x-ms-odata": "#/definitions/MigrationItemsQueryParameter", "x-ms-examples": { - "Gets the list of configured email notification(alert) configurations.": { - "$ref": "../examples/ReplicationAlertSettings_List.json" + "Gets the list of migration items in the vault.": { + "$ref": "./examples/ReplicationMigrationItems_List.json" } } } - } - }, - "definitions": { - "AlertCollection": { - "description": "Collection of alerts.", - "type": "object", - "properties": { - "value": { - "description": "The list of alerts.", - "type": "array", - "items": { - "$ref": "#/definitions/Alert" + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworkMappings": { + "get": { + "tags": [ + "ReplicationNetworkMappings" + ], + "summary": "Gets all the network mappings under a vault.", + "description": "Lists all ASR network mappings in the vault.", + "operationId": "ReplicationNetworkMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkMappingCollection" + } } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "Alert": { - "description": "Implements the Alert class.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/AlertProperties", - "description": "Alert related data." + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets all the network mappings under a vault.": { + "$ref": "./examples/ReplicationNetworkMappings_List.json" + } } } }, - "AlertProperties": { - "description": "The proprties of an alert.", - "type": "object", - "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", - "type": "string" - }, - "customEmailAddresses": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationNetworks": { + "get": { + "tags": [ + "ReplicationNetworks" + ], + "summary": "Gets the list of networks. View-only API.", + "description": "Lists the networks available in a vault.", + "operationId": "ReplicationNetworks_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of networks. View-only API.": { + "$ref": "./examples/ReplicationNetworks_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the list of replication policies.", + "description": "Lists the replication policies for a vault.", + "operationId": "ReplicationPolicies_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PolicyCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of replication policies.": { + "$ref": "./examples/ReplicationPolicies_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationPolicies/{policyName}": { + "get": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Gets the requested policy.", + "description": "Gets the details of a replication policy.", + "operationId": "ReplicationPolicies_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + } + }, + "x-ms-examples": { + "Gets the requested policy.": { + "$ref": "./examples/ReplicationPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Creates the policy.", + "description": "The operation to create a replication policy.", + "operationId": "ReplicationPolicies_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create policy input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates the policy.": { + "$ref": "./examples/ReplicationPolicies_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Delete the policy.", + "description": "The operation to delete a replication policy.", + "operationId": "ReplicationPolicies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Replication policy name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Delete the policy.": { + "$ref": "./examples/ReplicationPolicies_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationPolicies" + ], + "summary": "Updates the policy.", + "description": "The operation to update a replication policy.", + "operationId": "ReplicationPolicies_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "policyName", + "in": "path", + "description": "Policy Id.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update Policy Input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdatePolicyInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Policy" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the policy.": { + "$ref": "./examples/ReplicationPolicies_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectedItems": { + "get": { + "tags": [ + "ReplicationProtectedItems" + ], + "summary": "Gets the list of replication protected items.", + "description": "Gets the list of ASR replication protected items in the vault.", + "operationId": "ReplicationProtectedItems_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token. Possible values: \"FabricId\" or \"FabricId_CloudId\" or null.", + "required": false, + "type": "string" + }, + { + "name": "$filter", + "in": "query", + "description": "OData filter options.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectedItemCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ProtectedItemsQueryParameter", + "x-ms-examples": { + "Gets the list of replication protected items.": { + "$ref": "./examples/ReplicationProtectedItems_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainerMappings": { + "get": { + "tags": [ + "ReplicationProtectionContainerMappings" + ], + "summary": "Gets the list of all protection container mappings in a vault.", + "description": "Lists the protection container mappings in the vault.", + "operationId": "ReplicationProtectionContainerMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection container mappings in a vault.": { + "$ref": "./examples/ReplicationProtectionContainerMappings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionContainers": { + "get": { + "tags": [ + "ReplicationProtectionContainers" + ], + "summary": "Gets the list of all protection containers in a vault.", + "description": "Lists the protection containers in a vault.", + "operationId": "ReplicationProtectionContainers_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ProtectionContainerCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of all protection containers in a vault.": { + "$ref": "./examples/ReplicationProtectionContainers_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents": { + "get": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Gets the list of replication protection intent objects.", + "description": "Gets the list of ASR replication protection intent objects in the vault.", + "operationId": "ReplicationProtectionIntents_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "skipToken", + "in": "query", + "description": "The pagination token.", + "required": false, + "type": "string" + }, + { + "name": "takeToken", + "in": "query", + "description": "The page size.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntentCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of replication protection intent objects.": { + "$ref": "./examples/ReplicationProtectionIntents_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationProtectionIntents/{intentObjectName}": { + "get": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Gets the details of a Replication protection intent item.", + "description": "Gets the details of an ASR replication protection intent.", + "operationId": "ReplicationProtectionIntents_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "Replication protection intent name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntent" + } + } + }, + "x-ms-examples": { + "Gets the details of a Replication protection intent item.": { + "$ref": "./examples/ReplicationProtectionIntents_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationProtectionIntents" + ], + "summary": "Create protection intent Resource.", + "description": "The operation to create an ASR replication protection intent item.", + "operationId": "ReplicationProtectionIntents_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "intentObjectName", + "in": "path", + "description": "A name for the replication protection item.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Create Protection Intent Input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateProtectionIntentInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicationProtectionIntent" + } + } + }, + "x-ms-examples": { + "Create protection intent Resource.": { + "$ref": "./examples/ReplicationProtectionIntents_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the list of recovery plans.", + "description": "Lists the recovery plans in the vault.", + "operationId": "ReplicationRecoveryPlans_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlanCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of recovery plans.": { + "$ref": "./examples/ReplicationRecoveryPlans_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}": { + "get": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Gets the requested recovery plan.", + "description": "Gets the details of the recovery plan.", + "operationId": "ReplicationRecoveryPlans_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Name of the recovery plan.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + } + }, + "x-ms-examples": { + "Gets the requested recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Creates a recovery plan with the given details.", + "description": "The operation to create a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery Plan creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/CreateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Creates a recovery plan with the given details.": { + "$ref": "./examples/ReplicationRecoveryPlans_Create.json" + } + } + }, + "delete": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Deletes the specified recovery plan.", + "description": "Delete a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Delete", + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Deletes the specified recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Updates the given recovery plan.", + "description": "The operation to update a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Update recovery plan input.", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateRecoveryPlanInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates the given recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCancel": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute cancel failover of the recovery plan.", + "description": "The operation to cancel the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCancel", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute cancel failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCancel.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/failoverCommit": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute commit failover of the recovery plan.", + "description": "The operation to commit the failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_FailoverCommit", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute commit failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_FailoverCommit.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/plannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute planned failover of the recovery plan.", + "description": "The operation to start the planned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_PlannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute planned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_PlannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/reProtect": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute reprotect of the recovery plan.", + "description": "The operation to reprotect(reverse replicate) a recovery plan.", + "operationId": "ReplicationRecoveryPlans_Reprotect", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute reprotect of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_Reprotect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover of the recovery plan.", + "description": "The operation to start the test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan test failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/testFailoverCleanup": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute test failover cleanup of the recovery plan.", + "description": "The operation to cleanup test failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_TestFailoverCleanup", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan test failover cleanup input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute test failover cleanup of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_TestFailoverCleanup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryPlans/{recoveryPlanName}/unplannedFailover": { + "post": { + "tags": [ + "ReplicationRecoveryPlans" + ], + "summary": "Execute unplanned failover of the recovery plan.", + "description": "The operation to start the unplanned failover of a recovery plan.", + "operationId": "ReplicationRecoveryPlans_UnplannedFailover", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "recoveryPlanName", + "in": "path", + "description": "Recovery plan name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Recovery plan unplanned failover input.", + "required": true, + "schema": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Execute unplanned failover of the recovery plan.": { + "$ref": "./examples/ReplicationRecoveryPlans_UnplannedFailover.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationRecoveryServicesProviders": { + "get": { + "tags": [ + "ReplicationRecoveryServicesProviders" + ], + "summary": "Gets the list of registered recovery services providers in the vault. This is a view only api.", + "description": "Lists the registered recovery services providers in the vault.", + "operationId": "ReplicationRecoveryServicesProviders_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RecoveryServicesProviderCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of registered recovery services providers in the vault. This is a view only api.": { + "$ref": "./examples/ReplicationRecoveryServicesProviders_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassificationMappings": { + "get": { + "tags": [ + "ReplicationStorageClassificationMappings" + ], + "summary": "Gets the list of storage classification mappings objects under a vault.", + "description": "Lists the storage classification mappings in the vault.", + "operationId": "ReplicationStorageClassificationMappings_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationMappingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification mappings objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassificationMappings_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationStorageClassifications": { + "get": { + "tags": [ + "ReplicationStorageClassifications" + ], + "summary": "Gets the list of storage classification objects under a vault.", + "description": "Lists the storage classifications in the vault.", + "operationId": "ReplicationStorageClassifications_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/StorageClassificationCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of storage classification objects under a vault.": { + "$ref": "./examples/ReplicationStorageClassifications_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationSupportedOperatingSystems": { + "get": { + "tags": [ + "SupportedOperatingSystems" + ], + "summary": "Gets the data of supported operating systems by SRS.", + "operationId": "SupportedOperatingSystems_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "instanceType", + "in": "query", + "description": "The instance type.", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SupportedOperatingSystems" + } + } + }, + "x-ms-examples": { + "Gets the data of supported operating systems by SRS.": { + "$ref": "./examples/SupportedOperatingSystems_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth": { + "get": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Gets the health summary for the vault.", + "description": "Gets the health details of the vault.", + "operationId": "ReplicationVaultHealth_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + } + }, + "x-ms-examples": { + "Gets the health summary for the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultHealth/default/refresh": { + "post": { + "tags": [ + "ReplicationVaultHealth" + ], + "summary": "Refreshes health summary of the vault.", + "operationId": "ReplicationVaultHealth_Refresh", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultHealthDetails" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Refreshes health summary of the vault.": { + "$ref": "./examples/ReplicationVaultHealth_Refresh.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings": { + "get": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Gets the list of vault setting.", + "description": "Gets the list of vault setting. This includes the Migration Hub connection settings.", + "operationId": "ReplicationVaultSetting_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSettingCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vault setting.": { + "$ref": "./examples/ReplicationVaultSetting_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationVaultSettings/{vaultSettingName}": { + "get": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Gets the vault setting.", + "description": "Gets the vault setting. This includes the Migration Hub connection settings.", + "operationId": "ReplicationVaultSetting_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "vaultSettingName", + "in": "path", + "description": "Vault setting name.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSetting" + } + } + }, + "x-ms-examples": { + "Gets the vault setting.": { + "$ref": "./examples/ReplicationVaultSetting_Get.json" + } + } + }, + "put": { + "tags": [ + "ReplicationVaultSetting" + ], + "summary": "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.", + "description": "The operation to configure vault setting.", + "operationId": "ReplicationVaultSetting_Create", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "name": "vaultSettingName", + "in": "path", + "description": "Vault setting name.", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Vault setting creation input.", + "required": true, + "schema": { + "$ref": "#/definitions/VaultSettingCreationInput" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VaultSetting" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Updates vault setting. A vault setting object is a singleton per vault and it is always present by default.": { + "$ref": "./examples/ReplicationVaultSetting_Create.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationvCenters": { + "get": { + "tags": [ + "ReplicationvCenters" + ], + "summary": "Gets the list of vCenter registered under the vault.", + "description": "Lists the vCenter servers registered in the vault.", + "operationId": "ReplicationvCenters_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/ApiVersion" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/SubscriptionId" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/VCenterCollection" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Gets the list of vCenter registered under the vault.": { + "$ref": "./examples/ReplicationvCenters_List.json" + } + } + } + } + }, + "definitions": { + "A2AAddDisksInput": { + "description": "A2A add disk(s) input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AddDisksProviderSpecificInput" + } + ], + "properties": { + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2A provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AContainerCreationInput": { + "description": "A2A cloud creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2A" + }, + "A2AContainerMappingInput": { + "description": "A2A container mapping input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ACreateProtectionIntentInput": { + "description": "A2A create protection intent input.", + "required": [ + "fabricObjectId", + "primaryLocation", + "recoveryLocation", + "recoverySubscriptionId", + "recoveryAvailabilityType", + "recoveryResourceGroupId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryLocation": { + "description": "The primary location for the virtual machine.", + "type": "string" + }, + "recoveryLocation": { + "description": "The recovery location for the virtual machine.", + "type": "string" + }, + "recoverySubscriptionId": { + "description": "The recovery subscription Id of the virtual machine.", + "type": "string" + }, + "recoveryAvailabilityType": { + "description": "The recovery availability type of the virtual machine.", + "enum": [ + "Single", + "AvailabilitySet", + "AvailabilityZone" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARecoveryAvailabilityType", + "modelAsString": true + } + }, + "protectionProfileCustomInput": { + "$ref": "#/definitions/ProtectionProfileCustomDetails", + "description": "The protection profile custom inputs." + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + }, + "recoveryAvailabilitySetCustomInput": { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails", + "description": "The recovery availability set input." + }, + "recoveryVirtualNetworkCustomInput": { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails", + "description": "The recovery virtual network input." + }, + "recoveryProximityPlacementGroupCustomInput": { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails", + "description": "The recovery proximity placement group custom input." + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of vm disk inputs.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk inputs.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The boot diagnostic storage account." + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the authentication type for automation account. The default value is \"RunAsAccount\".", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ACrossClusterMigrationApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to A2ACrossClusterMigration provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationContainerCreationInput": { + "description": "A2ACrossClusterMigration cloud creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationEnableProtectionInput": { + "description": "A2A Cross-Cluster Migration enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationPolicyCreationInput": { + "description": "A2A Cross-Cluster Migration Policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2ACrossClusterMigrationReplicationDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "osType": { + "description": "The type of operating system.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2ACrossClusterMigration" + }, + "A2AEnableProtectionInput": { + "description": "A2A enable protection input.", + "required": [ + "fabricObjectId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryAzureNetworkId": { + "description": "The recovery Azure virtual network ARM id.", + "type": "string" + }, + "recoverySubnetName": { + "description": "The recovery subnet name.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The virtual machine scale set Id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AEventDetails": { + "description": "Model class for event details of a A2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item arm name.", + "type": "string" + }, + "fabricObjectId": { + "description": "The azure vm arm id.", + "type": "string" + }, + "fabricName": { + "description": "Fabric arm name.", + "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "type": "string" + }, + "remoteFabricName": { + "description": "Remote fabric arm name.", + "type": "string" + }, + "remoteFabricLocation": { + "description": "Remote fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyCreationInput": { + "description": "A2A Policy creation input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2APolicyDetails": { + "description": "A2A specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectedDiskDetails": { + "description": "A2A protected disk details.", + "type": "object", + "properties": { + "diskUri": { + "description": "The disk uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery disk storage account.", + "type": "string" + }, + "primaryDiskAzureStorageAccountId": { + "description": "The primary disk storage account.", + "type": "string" + }, + "recoveryDiskUri": { + "description": "Recovery disk uri.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + }, + "diskState": { + "description": "The disk state.", + "type": "string" + }, + "allowedDiskLevelOperation": { + "description": "The disk level operations list.", + "type": "array", + "items": { + "type": "string" + } + }, + "isDiskEncrypted": { + "description": "A value indicating whether vm has encrypted os disk or not.", + "type": "boolean" + }, + "secretIdentifier": { + "description": "The secret URL / identifier (BEK).", + "type": "string" + }, + "dekKeyVaultArmId": { + "description": "The KeyVault resource id for secret (BEK).", + "type": "string" + }, + "isDiskKeyEncrypted": { + "description": "A value indicating whether disk key got encrypted or not.", + "type": "boolean" + }, + "keyIdentifier": { + "description": "The key URL / identifier (KEK).", + "type": "string" + }, + "kekKeyVaultArmId": { + "description": "The KeyVault resource id for key (KEK).", + "type": "string" + }, + "failoverDiskName": { + "description": "The failover name for the managed disk.", + "type": "string" + }, + "tfoDiskName": { + "description": "The test failover name for the managed disk.", + "type": "string" + } + } + }, + "A2AProtectedManagedDiskDetails": { + "description": "A2A protected managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The managed disk Arm id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The recovery disk resource group Arm Id.", + "type": "string" + }, + "recoveryTargetDiskId": { + "description": "Recovery target disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskId": { + "description": "Recovery replica disk Arm Id.", + "type": "string" + }, + "recoveryOrignalTargetDiskId": { + "description": "Recovery original target disk Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryDiskEncryptionSetId": { + "description": "The recovery disk encryption set Id.", + "type": "string" + }, + "primaryDiskEncryptionSetId": { + "description": "The primary disk encryption set Id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account.", + "type": "string" + }, + "diskType": { + "description": "The type of disk.", + "type": "string" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "boolean" + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "dataPendingInStagingStorageAccountInMB": { + "format": "double", + "description": "The data pending for replication in MB at staging account.", + "type": "number" + }, + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source virtual machine in MB.", + "type": "number" + }, + "diskState": { + "description": "The disk state.", + "type": "string" + }, + "allowedDiskLevelOperation": { + "description": "The disk level operations list.", + "type": "array", + "items": { + "type": "string" + } + }, + "isDiskEncrypted": { + "description": "A value indicating whether vm has encrypted os disk or not.", + "type": "boolean" + }, + "secretIdentifier": { + "description": "The secret URL / identifier (BEK).", + "type": "string" + }, + "dekKeyVaultArmId": { + "description": "The KeyVault resource id for secret (BEK).", + "type": "string" + }, + "isDiskKeyEncrypted": { + "description": "A value indicating whether disk key got encrypted or not.", + "type": "boolean" + }, + "keyIdentifier": { + "description": "The key URL / identifier (KEK).", + "type": "string" + }, + "kekKeyVaultArmId": { + "description": "The KeyVault resource id for key (KEK).", + "type": "string" + }, + "failoverDiskName": { + "description": "The failover name for the managed disk.", + "type": "string" + }, + "tfoDiskName": { + "description": "The test failover name for the managed disk.", + "type": "string" + } + } + }, + "A2AProtectionContainerMappingDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + }, + "scheduleName": { + "description": "The schedule arm name.", + "type": "string" + }, + "jobScheduleName": { + "description": "The job schedule arm name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AProtectionIntentDiskInputDetails": { + "description": "Azure VM unmanaged disk input details.", + "required": [ + "diskUri" + ], + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", + "type": "string" + }, + "recoveryAzureStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The recovery VHD storage account input." + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + } + } + }, + "A2AProtectionIntentManagedDiskInputDetails": { + "description": "Azure VM managed disk input details.", + "required": [ + "diskId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "primaryStagingStorageAccountCustomInput": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account input." + }, + "recoveryResourceGroupCustomInput": { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails", + "description": "The recovery resource group input." + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryDiskEncryptionSetId": { + "description": "The recovery disk encryption set Id.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for one / single pass flows)." + } + } + }, + "A2ARecoveryPointDetails": { + "description": "A2A provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "recoveryPointSyncType": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "enum": [ + "MultiVmSyncRecoveryPoint", + "PerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointSyncType", + "modelAsString": true + } + }, + "disks": { + "description": "List of disk ids representing a recovery point.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ARemoveDisksInput": { + "description": "A2A remove disk(s) input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RemoveDisksProviderSpecificInput" + } + ], + "properties": { + "vmDisksUris": { + "description": "The list of vm disk vhd URIs.", + "type": "array", + "items": { + "type": "string" + } + }, + "vmManagedDisksIds": { + "description": "The list of vm managed disk Ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReplicationDetails": { + "description": "A2A provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "initialPrimaryZone": { + "description": "The initial primary availability zone.", + "type": "string", + "readOnly": true + }, + "initialPrimaryFabricLocation": { + "description": "The initial primary fabric location.", + "type": "string", + "readOnly": true + }, + "initialRecoveryZone": { + "description": "The initial recovery availability zone.", + "type": "string", + "readOnly": true + }, + "initialRecoveryFabricLocation": { + "description": "The initial recovery fabric location.", + "type": "string", + "readOnly": true + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": true + } + }, + "managementId": { + "description": "The management Id.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedDiskDetails" + } + }, + "unprotectedDisks": { + "description": "The list of unprotected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AUnprotectedDiskDetails" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectedManagedDiskDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The recovery boot diagnostic storage account Arm Id.", + "type": "string" + }, + "primaryFabricLocation": { + "description": "Primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + }, + "osType": { + "description": "The type of operating system.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The size of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureVMName": { + "description": "The name of recovery virtual machine.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The recovery resource group.", + "type": "string" + }, + "recoveryCloudService": { + "description": "The recovery cloud service.", + "type": "string" + }, + "recoveryAvailabilitySet": { + "description": "The recovery availability set.", + "type": "string" + }, + "selectedRecoveryAzureNetworkId": { + "description": "The recovery virtual network.", + "type": "string" + }, + "selectedTfoAzureNetworkId": { + "description": "The test failover virtual network.", + "type": "string" + }, + "vmNics": { + "description": "The virtual machine nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmSyncedConfigDetails": { + "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", + "description": "The synced configuration details." + }, + "monitoringPercentageCompletion": { + "format": "int32", + "description": "The percentage of the monitoring job. The type of the monitoring job is defined by MonitoringJobType property.", + "type": "integer" + }, + "monitoringJobType": { + "description": "The type of the monitoring job. The progress is contained in MonitoringPercentageCompletion property.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isReplicationAgentUpdateRequired": { + "description": "A value indicating whether replication agent update is required.", + "type": "boolean" + }, + "agentCertificateExpiryDate": { + "format": "date-time", + "description": "Agent certificate expiry date.", + "type": "string", + "readOnly": true + }, + "isReplicationAgentCertificateUpdateRequired": { + "description": "A value indicating whether agent certificate update is required.", + "type": "boolean" + }, + "recoveryFabricObjectId": { + "description": "The recovery fabric object Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "lifecycleId": { + "description": "An id associated with the PE that survives actions like switch protection which change the backing PE/CPE objects internally.The lifecycle id gets carried forward to have a link/continuity in being able to have an Id that denotes the \"same\" protected item even though other internal Ids/ARM Id might be changing.", + "type": "string" + }, + "testFailoverRecoveryFabricObjectId": { + "description": "The test failover fabric object Id.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The last RPO value in seconds.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The time (in UTC) when the last RPO value was calculated by Protection Service.", + "type": "string" + }, + "primaryAvailabilityZone": { + "description": "The primary availability zone.", + "type": "string" + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "vmEncryptionType": { + "description": "The encryption type of the VM.", + "type": "string", + "readOnly": true, + "enum": [ + "NotEncrypted", + "OnePassEncrypted", + "TwoPassEncrypted" + ], + "x-ms-enum": { + "name": "VmEncryptionType", + "modelAsString": true + } + }, + "tfoAzureVMName": { + "description": "The test failover vm name.", + "type": "string" + }, + "recoveryAzureGeneration": { + "description": "The recovery azure generation.", + "type": "string", + "readOnly": true + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The recovery virtual machine scale set id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReplicationIntentDetails": { + "description": "A2A provider specific settings.", + "required": [ + "recoveryAvailabilityType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings" + } + ], + "properties": { + "fabricObjectId": { + "description": "The fabric specific object Id of the virtual machine.", + "type": "string" + }, + "primaryLocation": { + "description": "The primary location for the virtual machine.", + "type": "string" + }, + "recoveryLocation": { + "description": "The recovery location for the virtual machine.", + "type": "string" + }, + "recoverySubscriptionId": { + "description": "The recovery subscription Id of the virtual machine.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AProtectionIntentManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group id.", + "type": "string" + }, + "protectionProfile": { + "$ref": "#/definitions/ProtectionProfileCustomDetails", + "description": "The protection profile custom details." + }, + "primaryStagingStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The primary staging storage account details." + }, + "recoveryAvailabilitySet": { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails", + "description": "The recovery availability set details." + }, + "recoveryVirtualNetwork": { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails", + "description": "The recovery virtual network details." + }, + "recoveryProximityPlacementGroup": { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails", + "description": "The recovery proximity placement group custom details." + }, + "autoProtectionOfDataDisk": { + "description": "A value indicating whether the auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group id.", + "type": "string" + }, + "recoveryBootDiagStorageAccount": { + "$ref": "#/definitions/StorageAccountCustomDetails", + "description": "The boot diagnostic storage account." + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for two pass flows)." + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryAvailabilityType": { + "description": "The recovery availability type of the virtual machine.", + "type": "string" + }, + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ASwitchProtectionInput": { + "description": "A2A specific switch protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + } + ], + "properties": { + "recoveryContainerId": { + "description": "The recovery container Id.", + "type": "string" + }, + "vmDisks": { + "description": "The list of vm disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmDiskInputDetails" + } + }, + "vmManagedDisks": { + "description": "The list of vm managed disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskInputDetails" + } + }, + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + }, + "recoveryCloudServiceId": { + "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "recoveryAvailabilityZone": { + "description": "The recovery availability zone.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The virtual machine scale set id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information." + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2ATestFailoverInput": { + "description": "A2A provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUnplannedFailoverInput": { + "description": "A2A provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for failover or not.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUnprotectedDiskDetails": { + "description": "A2A unprotected disk details.", + "type": "object", + "properties": { + "diskLunId": { + "format": "int32", + "description": "The source lun Id for the data disk.", + "type": "integer" + }, + "diskAutoProtectionStatus": { + "description": "A value indicating whether the disk auto protection is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoProtectionOfDataDisk", + "modelAsString": true + } + } + } + }, + "A2AUpdateContainerMappingInput": { + "description": "A2A update protection container mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput" + } + ], + "properties": { + "agentAutoUpdateStatus": { + "description": "A value indicating whether the auto update is enabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentAutoUpdateStatus", + "modelAsString": true + } + }, + "automationAccountArmId": { + "description": "The automation account arm id.", + "type": "string" + }, + "automationAccountAuthenticationType": { + "description": "A value indicating the type authentication to use for automation Account.", + "enum": [ + "RunAsAccount", + "SystemAssignedIdentity" + ], + "type": "string", + "default": "RunAsAccount", + "x-ms-enum": { + "name": "AutomationAccountAuthenticationType", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AUpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryCloudServiceId": { + "description": "The target cloud service ARM Id (for V1).", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group ARM Id (for V2).", + "type": "string" + }, + "managedDiskUpdateDetails": { + "description": "Managed disk update details.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AVmManagedDiskUpdateDetails" + } + }, + "recoveryBootDiagStorageAccountId": { + "description": "The boot diagnostic storage account.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery os disk encryption information." + }, + "tfoAzureVMName": { + "description": "The user given name for Test Failover VM.", + "type": "string" + }, + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id.", + "type": "string" + }, + "recoveryVirtualMachineScaleSetId": { + "description": "The recovery virtual machine scale set Id.", + "type": "string" + }, + "recoveryCapacityReservationGroupId": { + "description": "The recovery capacity reservation group Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "A2A" + }, + "A2AVmDiskInputDetails": { + "description": "A2A disk input details.", + "required": [ + "diskUri", + "recoveryAzureStorageAccountId", + "primaryStagingAzureStorageAccountId" + ], + "type": "object", + "properties": { + "diskUri": { + "description": "The disk Uri.", + "type": "string" + }, + "recoveryAzureStorageAccountId": { + "description": "The recovery VHD storage account Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Id.", + "type": "string" + } + } + }, + "A2AVmManagedDiskInputDetails": { + "description": "A2A managed disk input details.", + "required": [ + "diskId", + "primaryStagingAzureStorageAccountId", + "recoveryResourceGroupId" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "primaryStagingAzureStorageAccountId": { + "description": "The primary staging storage account Arm Id.", + "type": "string" + }, + "recoveryResourceGroupId": { + "description": "The target resource group Arm Id.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type after failover. Its an optional value and will be same as source disk type if not user provided.", + "type": "string" + }, + "recoveryDiskEncryptionSetId": { + "description": "The recovery disk encryption set Id.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery disk encryption information (for one / single pass flows)." + } + } + }, + "A2AVmManagedDiskUpdateDetails": { + "description": "A2A Vm managed disk update details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "recoveryTargetDiskAccountType": { + "description": "The target disk type before failover.", + "type": "string" + }, + "recoveryReplicaDiskAccountType": { + "description": "The replica disk type before failover.", + "type": "string" + }, + "diskEncryptionInfo": { + "$ref": "#/definitions/DiskEncryptionInfo", + "description": "The recovery os disk encryption information." + }, + "failoverDiskName": { + "description": "The target disk name for unplanned failover operation.", + "type": "string" + }, + "tfoDiskName": { + "description": "The target disk name for test failover operation.", + "type": "string" + } + } + }, + "A2AZoneDetails": { + "description": "Zone details data.", + "type": "object", + "properties": { + "source": { + "description": "Source zone info.", + "type": "string" + }, + "target": { + "description": "The target zone info.", + "type": "string" + } + } + }, + "AddDisksInput": { + "description": "Input for add disk(s) operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddDisksInputProperties", + "description": "Add disks input properties." + } + } + }, + "AddDisksInputProperties": { + "description": "Add Disks input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/AddDisksProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "AddDisksProviderSpecificInput": { + "description": "Add Disks provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "AddRecoveryServicesProviderInput": { + "description": "Input required to add a provider.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddRecoveryServicesProviderInputProperties", + "description": "The properties of an add provider request." + } + } + }, + "AddRecoveryServicesProviderInputProperties": { + "description": "The properties of an add provider request.", + "required": [ + "machineName", + "authenticationIdentityInput", + "resourceAccessIdentityInput" + ], + "type": "object", + "properties": { + "machineName": { + "description": "The name of the machine where the provider is getting added.", + "type": "string" + }, + "machineId": { + "description": "The Id of the machine where the provider is getting added.", + "type": "string" + }, + "biosId": { + "description": "The Bios Id of the machine.", + "type": "string" + }, + "authenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for DRA authentication." + }, + "resourceAccessIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for resource access." + }, + "dataPlaneAuthenticationIdentityInput": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for data plane authentication." + } + } + }, + "AddVCenterRequest": { + "description": "Input required to add vCenter.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AddVCenterRequestProperties", + "description": "The properties of an add vCenter request." + } + } + }, + "AddVCenterRequestProperties": { + "description": "The properties of an add vCenter request.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the vCenter.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id from where the discovery is orchestrated.", + "type": "string" + }, + "port": { + "description": "The port number for discovery.", + "type": "string" + }, + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + } + } + }, + "AgentDetails": { + "description": "Agent details.", + "type": "object", + "properties": { + "agentId": { + "description": "The Id of the agent running on the server.", + "type": "string", + "readOnly": true + }, + "machineId": { + "description": "The Id of the machine to which the agent is registered.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The machine BIOS Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The machine FQDN.", + "type": "string", + "readOnly": true + }, + "disks": { + "description": "The disks.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDiskDetails" + }, + "readOnly": true + } + } + }, + "AgentDiskDetails": { + "description": "Agent disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true + }, + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true + }, + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true + }, + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true + }, + "lunId": { + "format": "int32", + "description": "The lun of disk.", + "type": "integer", + "readOnly": true + } + } + }, + "Alert": { + "description": "Implements the Alert class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AlertProperties", + "description": "Alert related data." + } + } + }, + "AlertCollection": { + "description": "Collection of alerts.", + "type": "object", + "properties": { + "value": { + "description": "The list of alerts.", + "type": "array", + "items": { + "$ref": "#/definitions/Alert" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "AlertProperties": { + "description": "The properties of an alert.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { + "description": "The custom email address for sending emails.", + "type": "array", + "items": { + "type": "string" + } + }, + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ApplyRecoveryPointInput": { + "description": "Input to apply recovery point.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ApplyRecoveryPointInputProperties", + "description": "The input properties to apply recovery point." + } + } + }, + "ApplyRecoveryPointInputProperties": { + "description": "Input properties to apply recovery point.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", + "description": "Provider specific input for applying recovery point." + } + } + }, + "ApplyRecoveryPointProviderSpecificInput": { + "description": "Provider specific input for apply recovery point.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "AsrJobDetails": { + "description": "This class represents job details based on specific job type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "AsrJobDetails" + }, + "ASRTask": { + "description": "Task of the Job.", + "type": "object", + "properties": { + "taskId": { + "description": "The Id.", + "type": "string" + }, + "name": { + "description": "The unique Task name.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time.", + "type": "string" + }, + "allowedActions": { + "description": "The state/actions applicable on this task.", + "type": "array", + "items": { + "type": "string" + } + }, + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "state": { + "description": "The State. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" + }, + "stateDescription": { + "description": "The description of the task state. For example - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", + "type": "string" + }, + "taskType": { + "description": "The type of task. Details in CustomDetails property depend on this type.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/TaskTypeDetails", + "description": "The custom task details based on the task type." + }, + "groupTaskCustomDetails": { + "$ref": "#/definitions/GroupTaskDetails", + "description": "The custom task details based on the task type, if the task type is GroupTaskDetails or one of the types derived from it." + }, + "errors": { + "description": "The task error details.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } + } + } + }, + "AutomationRunbookTaskDetails": { + "description": "This class represents the task details for an automation runbook.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "name": { + "description": "The recovery plan task name.", + "type": "string" + }, + "cloudServiceName": { + "description": "The cloud service of the automation runbook account.", + "type": "string" + }, + "subscriptionId": { + "description": "The subscription Id of the automation runbook account.", + "type": "string" + }, + "accountName": { + "description": "The automation account name of the runbook.", + "type": "string" + }, + "runbookId": { + "description": "The runbook Id.", + "type": "string" + }, + "runbookName": { + "description": "The runbook name.", + "type": "string" + }, + "jobId": { + "description": "The job Id of the runbook execution.", + "type": "string" + }, + "jobOutput": { + "description": "The execution output of the runbook.", + "type": "string" + }, + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" + } + }, + "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + }, + "AzureFabricCreationInput": { + "description": "Fabric provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "location": { + "description": "The Location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureFabricSpecificDetails": { + "description": "Azure Fabric Specific Details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "location": { + "description": "The Location for the Azure fabric.", + "type": "string" + }, + "containerIds": { + "description": "The container Ids for the Azure fabric.", + "type": "array", + "items": { + "type": "string" + } + }, + "zones": { + "description": "The zones.", + "type": "array", + "items": { + "$ref": "#/definitions/A2AZoneDetails" + } + } + }, + "x-ms-discriminator-value": "Azure" + }, + "AzureToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to Azure to Azure Network mapping.", + "required": [ + "primaryNetworkId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureNetworkMappingSettings": { + "description": "A2A Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": { + "primaryFabricLocation": { + "description": "The primary fabric location.", + "type": "string" + }, + "recoveryFabricLocation": { + "description": "The recovery fabric location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureUpdateNetworkMappingInput": { + "description": "Updates network mappings input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": { + "primaryNetworkId": { + "description": "The primary azure vnet Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "AzureToAzure" + }, + "AzureToAzureVmSyncedConfigDetails": { + "description": "Azure to Azure VM synced configuration details.", + "type": "object", + "properties": { + "tags": { + "description": "The Azure VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "inputEndpoints": { + "description": "The Azure VM input endpoints.", + "type": "array", + "items": { + "$ref": "#/definitions/InputEndpoint" + } + } + } + }, + "AzureVmDiskDetails": { + "description": "Disk details for E2A provider.", + "type": "object", + "properties": { + "vhdType": { + "description": "VHD type.", + "type": "string" + }, + "vhdId": { + "description": "The VHD id.", + "type": "string" + }, + "diskId": { + "description": "The disk resource id.", + "type": "string" + }, + "vhdName": { + "description": "VHD name.", + "type": "string" + }, + "maxSizeMB": { + "description": "Max side in MB.", + "type": "string" + }, + "targetDiskLocation": { + "description": "Blob uri of the Azure disk.", + "type": "string" + }, + "targetDiskName": { + "description": "The target Azure disk name.", + "type": "string" + }, + "lunId": { + "description": "Ordinal\\LunId of the disk for the Azure VM.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + }, + "customTargetDiskName": { + "description": "The custom target Azure disk name.", + "type": "string" + } + } + }, + "ComputeSizeErrorDetails": { + "description": "Represents the error used to indicate why the target compute size is not applicable.", + "type": "object", + "properties": { + "message": { + "description": "The error message.", + "type": "string" + }, + "severity": { + "description": "The severity of the error.", + "type": "string" + } + } + }, + "ConfigurationSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ConfigureAlertRequest": { + "description": "Request to configure alerts for the system.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigureAlertRequestProperties", + "description": "The properties of a configure alert request." + } + } + }, + "ConfigureAlertRequestProperties": { + "description": "Properties of a configure alert request.", + "type": "object", + "properties": { + "sendToOwners": { + "description": "A value indicating whether to send email to subscription administrator.", + "type": "string" + }, + "customEmailAddresses": { "description": "The custom email address for sending emails.", "type": "array", "items": { "type": "string" } }, - "locale": { - "description": "The locale for the email notification.", + "locale": { + "description": "The locale for the email notification.", + "type": "string" + } + } + }, + "ConsistencyCheckTaskDetails": { + "description": "This class contains monitoring details of all the inconsistent Protected Entities in Vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], + "properties": { + "vmDetails": { + "description": "The list of inconsistent Vm details.", + "type": "array", + "items": { + "$ref": "#/definitions/InconsistentVmDetails" + } + } + }, + "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + }, + "CreateNetworkMappingInput": { + "description": "Create network mappings input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateNetworkMappingInputProperties", + "description": "Input properties for creating network mapping." + } + } + }, + "CreateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "required": [ + "recoveryNetworkId" + ], + "type": "object", + "properties": { + "recoveryFabricName": { + "description": "Recovery fabric Name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "Recovery network Id.", + "type": "string" + }, + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", + "description": "Fabric specific input properties." + } + } + }, + "CreatePolicyInput": { + "description": "Protection Policy input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreatePolicyInputProperties", + "description": "Policy creation properties." + } + } + }, + "CreatePolicyInputProperties": { + "description": "Policy creation properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." + } + } + }, + "CreateProtectionContainerInput": { + "description": "Create protection container input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerInputProperties", + "description": "Create protection container input properties." + } + } + }, + "CreateProtectionContainerInputProperties": { + "description": "Create protection container input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "description": "Provider specific inputs for container creation.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" + } + } + } + }, + "CreateProtectionContainerMappingInput": { + "description": "Configure pairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "CreateProtectionContainerMappingInputProperties": { + "description": "Configure pairing input properties.", + "type": "object", + "properties": { + "targetProtectionContainerId": { + "description": "The target unique protection container name.", + "type": "string" + }, + "policyId": { + "description": "Applicable policy.", + "type": "string" + }, + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput", + "description": "Provider specific input for pairing." + } + } + }, + "CreateProtectionIntentInput": { + "description": "Create protection intent input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateProtectionIntentProperties", + "description": "Create protection intent input properties." + } + } + }, + "CreateProtectionIntentProperties": { + "description": "Create protection intent input properties.", + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/CreateProtectionIntentProviderSpecificDetails", + "description": "The ReplicationProviderInput. For A2A provider, it will be A2ACreateProtectionIntentInput object." + } + } + }, + "CreateProtectionIntentProviderSpecificDetails": { + "description": "Create protection intent provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "CreateRecoveryPlanInput": { + "description": "Create recovery plan input class.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/CreateRecoveryPlanInputProperties", + "description": "Recovery plan creation properties." + } + } + }, + "CreateRecoveryPlanInputProperties": { + "description": "Recovery plan creation properties.", + "required": [ + "primaryFabricId", + "recoveryFabricId", + "groups" + ], + "type": "object", + "properties": { + "primaryFabricId": { + "description": "The primary fabric Id.", + "type": "string" + }, + "recoveryFabricId": { + "description": "The recovery fabric Id.", + "type": "string" + }, + "failoverDeploymentModel": { + "description": "The failover deployment model.", + "enum": [ + "NotApplicable", + "Classic", + "ResourceManager" + ], + "type": "string", + "x-ms-enum": { + "name": "FailoverDeploymentModel", + "modelAsString": true + } + }, + "groups": { + "description": "The recovery plan groups.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanGroup" + } + }, + "providerSpecificInput": { + "description": "The provider specific input.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + } + } + }, + "CurrentJobDetails": { + "description": "Current job details of the migration item.", + "type": "object", + "properties": { + "jobName": { + "description": "The job name.", + "type": "string", + "readOnly": true + }, + "jobId": { + "description": "The ARM Id of the job being executed.", + "type": "string", + "readOnly": true + }, + "startTime": { + "format": "date-time", + "description": "The start time of the job.", + "type": "string", + "readOnly": true + } + } + }, + "CurrentScenarioDetails": { + "description": "Current scenario details of the protected entity.", + "type": "object", + "properties": { + "scenarioName": { + "description": "Scenario name.", + "type": "string" + }, + "jobId": { + "description": "ARM Id of the job being executed.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "Start time of the workflow.", + "type": "string" + } + } + }, + "DataStore": { + "description": "The datastore details of the MT.", + "type": "object", + "properties": { + "symbolicName": { + "description": "The symbolic name of data store.", + "type": "string" + }, + "uuid": { + "description": "The uuid of data store.", + "type": "string" + }, + "capacity": { + "description": "The capacity of data store in GBs.", + "type": "string" + }, + "freeSpace": { + "description": "The free space of data store in GBs.", + "type": "string" + }, + "type": { + "description": "The type of data store.", + "type": "string" + } + } + }, + "DisableProtectionInput": { + "description": "Disable protection input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DisableProtectionInputProperties", + "description": "Disable protection input properties." + } + } + }, + "DisableProtectionInputProperties": { + "description": "Disable protection input properties.", + "type": "object", + "properties": { + "disableProtectionReason": { + "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "enum": [ + "NotSpecified", + "MigrationComplete" + ], + "type": "string", + "x-ms-enum": { + "name": "DisableProtectionReason", + "modelAsString": true + } + }, + "replicationProviderInput": { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput", + "description": "Replication provider specific input." + } + } + }, + "DisableProtectionProviderSpecificInput": { + "description": "Disable protection provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "DiscoverProtectableItemRequest": { + "description": "Request to add a physical machine as a protectable item in a container.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DiscoverProtectableItemRequestProperties", + "description": "The properties of a discover protectable item request." + } + } + }, + "DiscoverProtectableItemRequestProperties": { + "description": "Discover protectable item properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name of the physical machine.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the physical machine to be discovered.", + "type": "string" + }, + "osType": { + "description": "The OS type on the physical machine.", + "type": "string" + } + } + }, + "DiskDetails": { + "description": "Onprem disk details data.", + "type": "object", + "properties": { + "maxSizeMB": { + "format": "int64", + "description": "The hard disk max size in MB.", + "type": "integer" + }, + "vhdType": { + "description": "The type of the volume.", + "type": "string" + }, + "vhdId": { + "description": "The VHD Id.", + "type": "string" + }, + "vhdName": { + "description": "The VHD name.", + "type": "string" + } + } + }, + "DiskEncryptionInfo": { + "description": "Recovery disk encryption info (BEK and KEK).", + "type": "object", + "properties": { + "diskEncryptionKeyInfo": { + "$ref": "#/definitions/DiskEncryptionKeyInfo", + "description": "The recovery KeyVault reference for secret." + }, + "keyEncryptionKeyInfo": { + "$ref": "#/definitions/KeyEncryptionKeyInfo", + "description": "The recovery KeyVault reference for key." + } + } + }, + "DiskEncryptionKeyInfo": { + "description": "Disk Encryption Key Information (BitLocker Encryption Key (BEK) on Windows).", + "type": "object", + "properties": { + "secretIdentifier": { + "description": "The secret url / identifier.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The KeyVault resource ARM id for secret.", + "type": "string" + } + } + }, + "DiskVolumeDetails": { + "description": "Volume details.", + "type": "object", + "properties": { + "label": { + "description": "The volume label.", + "type": "string" + }, + "name": { + "description": "The volume name.", + "type": "string" + } + } + }, + "Display": { + "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for (1) custom role definitions for RBAC; (2) complex query filters for the event service; and (3) audit history / records for management operations.", + "type": "object", + "properties": { + "provider": { + "description": "The provider. The localized friendly form of the resource provider name - it is expected to also include the publisher/company responsible. It should use Title Casing and begin with \"Microsoft\" for 1st party services. e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\".", + "type": "string" + }, + "resource": { + "description": "The resource. The localized friendly form of the resource related to this action/operation - it should match the public documentation for the resource provider. It should use Title Casing. This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent's display.resource field). e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\".", + "type": "string" + }, + "operation": { + "description": "The operation. The localized friendly name for the operation, as it should be shown to the user. It should be concise (to fit in drop downs) but clear (i.e. self-documenting). It should use Title Casing. Prescriptive guidance: Read Create or Update Delete 'ActionName'.", + "type": "string" + }, + "description": { + "description": "The description. The localized friendly description for the operation, as it should be shown to the user. It should be thorough, yet concise - it will be used in tool tips and detailed views. Prescriptive guidance for namespaces: Read any 'display.provider' resource Create or Update any 'display.provider' resource Delete any 'display.provider' resource Perform any other action on any 'display.provider' resource Prescriptive guidance for namespaces: Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'.", + "type": "string" + } + } + }, + "DraDetails": { + "description": "DRA details.", + "type": "object", + "properties": { + "id": { + "description": "The DRA Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The DRA name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The DRA Bios Id.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the DRA.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "forwardProtectedItemCount": { + "format": "int32", + "description": "The count of protected items which are protected in forward direction.", + "type": "integer", + "readOnly": true + }, + "reverseProtectedItemCount": { + "format": "int32", + "description": "The count of protected items which are protected in reverse direction.", + "type": "integer", + "readOnly": true + } + } + }, + "EnableMigrationInput": { + "description": "Enable migration input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnableMigrationInputProperties", + "description": "Enable migration input properties." + } + } + }, + "EnableMigrationInputProperties": { + "description": "Enable migration input properties.", + "required": [ + "policyId", + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "policyId": { + "description": "The policy Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EnableMigrationProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "EnableMigrationProviderSpecificInput": { + "description": "Enable migration provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EnableProtectionInput": { + "description": "Enable protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/EnableProtectionInputProperties", + "description": "Enable protection input properties." + } + } + }, + "EnableProtectionInputProperties": { + "description": "Enable protection input properties.", + "type": "object", + "properties": { + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "protectableItemId": { + "description": "The protectable item Id.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "EnableProtectionProviderSpecificInput": { + "description": "Enable protection provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EncryptionDetails": { + "description": "Encryption details for the fabric.", + "type": "object", + "properties": { + "kekState": { + "description": "The key encryption key state for the Vmm.", + "type": "string" + }, + "kekCertThumbprint": { + "description": "The key encryption key certificate thumbprint.", + "type": "string" + }, + "kekCertExpiryDate": { + "format": "date-time", + "description": "The key encryption key certificate expiry date.", + "type": "string" + } + } + }, + "Event": { + "description": "Implements the Event class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventProperties", + "description": "Event related data." + } + } + }, + "EventCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The list of events.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "EventProperties": { + "description": "The properties of a monitoring event.", + "type": "object", + "properties": { + "eventCode": { + "description": "The Id of the monitoring event.", + "type": "string" + }, + "description": { + "description": "The event name.", + "type": "string" + }, + "eventType": { + "description": "The type of the event. for example: VM Health, Server Health, Job Failure etc.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The friendly name of the source of the event on which it is raised (for example, VM, VMM etc).", + "type": "string" + }, + "affectedObjectCorrelationId": { + "description": "The affected object correlationId for the event.", + "type": "string" + }, + "severity": { + "description": "The severity of the event.", + "type": "string" + }, + "timeOfOccurrence": { + "format": "date-time", + "description": "The time of occurrence of the event.", + "type": "string" + }, + "fabricId": { + "description": "The ARM ID of the fabric.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/EventProviderSpecificDetails", + "description": "The provider specific settings." + }, + "eventSpecificDetails": { + "$ref": "#/definitions/EventSpecificDetails", + "description": "The event specific settings." + }, + "healthErrors": { + "description": "The list of errors / warnings capturing details associated with the issue(s).", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + } + } + }, + "EventProviderSpecificDetails": { + "description": "Model class for provider specific details for an event.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "EventQueryParameter": { + "description": "Implements the event query parameter.", + "type": "object", + "properties": { + "eventCode": { + "description": "The source id of the events to be queried.", + "type": "string" + }, + "severity": { + "description": "The severity of the events to be queried.", + "type": "string" + }, + "eventType": { + "description": "The type of the events to be queried.", + "type": "string" + }, + "fabricName": { + "description": "The affected object server id of the events to be queried.", + "type": "string" + }, + "affectedObjectFriendlyName": { + "description": "The affected object name of the events to be queried.", + "type": "string" + }, + "affectedObjectCorrelationId": { + "description": "The affected object correlationId for the events to be queried.", + "type": "string" + }, + "startTime": { + "format": "date-time", + "description": "The start time of the time range within which the events are to be queried.", + "type": "string" + }, + "endTime": { + "format": "date-time", + "description": "The end time of the time range within which the events are to be queried.", + "type": "string" + } + } + }, + "EventSpecificDetails": { + "description": "Model class for event specific details for an event.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ExistingProtectionProfile": { + "description": "Existing storage account input.", + "required": [ + "protectionProfileId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" + } + ], + "properties": { + "protectionProfileId": { + "description": "The protection profile Arm Id. Throw error, if resource does not exists.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryAvailabilitySet": { + "description": "Existing recovery availability set input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryAvailabilitySetCustomDetails" + } + ], + "properties": { + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id. Will throw error, if resource does not exist.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryProximityPlacementGroup": { + "description": "Existing recovery proximity placement group input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryProximityPlacementGroupCustomDetails" + } + ], + "properties": { + "recoveryProximityPlacementGroupId": { + "description": "The recovery proximity placement group Id. Will throw error, if resource does not exist.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryRecoveryResourceGroup": { + "description": "Existing recovery resource group input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryResourceGroupCustomDetails" + } + ], + "properties": { + "recoveryResourceGroupId": { + "description": "The recovery resource group Id. Valid for V2 scenarios.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingRecoveryVirtualNetwork": { + "description": "Existing recovery virtual network input.", + "required": [ + "recoveryVirtualNetworkId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + } + ], + "properties": { + "recoveryVirtualNetworkId": { + "description": "The recovery virtual network Id. Will throw error, if resource does not exist.", + "type": "string" + }, + "recoverySubnetName": { + "description": "The recovery subnet name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExistingStorageAccount": { + "description": "Existing storage account input.", + "required": [ + "azureStorageAccountId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/StorageAccountCustomDetails" + } + ], + "properties": { + "azureStorageAccountId": { + "description": "The storage account Arm Id. Throw error, if resource does not exists.", + "type": "string" + } + }, + "x-ms-discriminator-value": "Existing" + }, + "ExportJobDetails": { + "description": "This class represents details for export jobs workflow.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "blobUri": { + "description": "BlobUri of the exported jobs.", + "type": "string" + }, + "sasToken": { + "description": "The sas token to access blob.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ExportJobDetails" + }, + "Fabric": { + "description": "Fabric definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/FabricProperties", + "description": "Fabric related data." + } + } + }, + "FabricCollection": { + "description": "Collection of fabric details.", + "type": "object", + "properties": { + "value": { + "description": "The fabric details.", + "type": "array", + "items": { + "$ref": "#/definitions/Fabric" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "FabricCreationInput": { + "description": "Site details provided during the time of site creation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FabricCreationInputProperties", + "description": "Fabric creation input." + } + } + }, + "FabricCreationInputProperties": { + "description": "Properties of site details provided during the time of site creation.", + "type": "object", + "properties": { + "customDetails": { + "$ref": "#/definitions/FabricSpecificCreationInput", + "description": "Fabric provider specific creation input." + } + } + }, + "FabricProperties": { + "description": "Fabric properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "Friendly name of the fabric.", + "type": "string" + }, + "encryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Encryption details for the fabric." + }, + "rolloverEncryptionDetails": { + "$ref": "#/definitions/EncryptionDetails", + "description": "Rollover encryption details for the fabric." + }, + "internalIdentifier": { + "description": "Dra Registration Id.", + "type": "string" + }, + "bcdrState": { + "description": "BCDR state of the fabric.", + "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/FabricSpecificDetails", + "description": "Fabric specific settings." + }, + "healthErrorDetails": { + "description": "Fabric health error details.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "health": { + "description": "Health of fabric.", + "type": "string" + } + } + }, + "FabricQueryParameter": { + "description": "Query parameter to get fabric.", + "type": "object", + "properties": { + "zoneToZoneMappings": { + "description": "A value indicating whether the zone to zone mappings are to be returned.", + "type": "string" + }, + "fetchAgentDetails": { + "description": "A value indicating whether the agent details are to be fetched.", + "type": "string" + }, + "biosId": { + "description": "The BIOS Id to be used for fetching agent details.", + "type": "string" + }, + "fqdn": { + "description": "The FQDN to be used for fetching agent details.", + "type": "string" + }, + "discoveryType": { + "description": "The type of the discovered machine to be used for fetching agent details.", + "type": "string" + }, + "osType": { + "description": "The OS type to be used for fetching agent details.", + "type": "string" + } + } + }, + "FabricReplicationGroupTaskDetails": { + "description": "This class represents the fabric replication group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobTaskDetails" + } + ], + "properties": { + "skippedReason": { + "description": "The skipped reason.", + "type": "string" + }, + "skippedReasonString": { + "description": "The skipped reason string.", + "type": "string" + } + }, + "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + }, + "FabricSpecificCreateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificCreationInput": { + "description": "Fabric provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificDetails": { + "description": "Fabric specific details.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FabricSpecificUpdateNetworkMappingInput": { + "description": "Input details specific to fabrics during Network Mapping.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "FailoverJobDetails": { + "description": "This class represents the details for a failover job.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JobDetails" + } + ], + "properties": { + "protectedItemDetails": { + "description": "The test VM details.", + "type": "array", + "items": { + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" + } + } + }, + "x-ms-discriminator-value": "FailoverJobDetails" + }, + "FailoverProcessServerRequest": { + "description": "Request to failover a process server.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FailoverProcessServerRequestProperties", + "description": "The properties of the PS Failover request." + } + } + }, + "FailoverProcessServerRequestProperties": { + "description": "The properties of the Failover Process Server request.", + "type": "object", + "properties": { + "containerName": { + "description": "The container identifier.", + "type": "string" + }, + "sourceProcessServerId": { + "description": "The source process server.", + "type": "string" + }, + "targetProcessServerId": { + "description": "The new process server.", + "type": "string" + }, + "vmsToMigrate": { + "description": "The VMS to migrate.", + "type": "array", + "items": { + "type": "string" + } + }, + "updateType": { + "description": "A value for failover type. It can be systemlevel/serverlevel.", + "type": "string" + } + } + }, + "FailoverReplicationProtectedItemDetails": { + "description": "Failover details for a replication protected item.", + "type": "object", + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "friendlyName": { + "description": "The friendly name.", + "type": "string" + }, + "testVmName": { + "description": "The test Vm name.", + "type": "string" + }, + "testVmFriendlyName": { + "description": "The test Vm friendly name.", + "type": "string" + }, + "networkConnectionStatus": { + "description": "The network connection status.", + "type": "string" + }, + "networkFriendlyName": { + "description": "The network friendly name.", + "type": "string" + }, + "subnet": { + "description": "The network subnet.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + }, + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string" + } + } + }, + "GroupTaskDetails": { + "description": "This class represents the group task details when parent child relationship exists in the drill down.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The type of task details.", + "type": "string" + }, + "childTasks": { + "description": "The child tasks.", + "type": "array", + "items": { + "$ref": "#/definitions/ASRTask" + } + } + }, + "discriminator": "instanceType" + }, + "HealthError": { + "description": "Health Error.", + "type": "object", + "properties": { + "innerHealthErrors": { + "description": "The inner health errors. HealthError having a list of HealthError as child errors is problematic. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", + "type": "array", + "items": { + "$ref": "#/definitions/InnerHealthError" + } + }, + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC).", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + }, + "errorId": { + "description": "The health error unique id.", + "type": "string" + }, + "customerResolvability": { + "description": "Value indicating whether the health error is customer resolvable.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCustomerResolvability", + "modelAsString": true + } + } + } + }, + "HealthErrorSummary": { + "description": "class to define the summary of the health error details.", + "type": "object", + "properties": { + "summaryCode": { + "description": "The code of the health error.", + "type": "string" + }, + "category": { + "description": "The category of the health error.", + "enum": [ + "None", + "Replication", + "TestFailover", + "Configuration", + "FabricInfrastructure", + "VersionExpiry", + "AgentAutoUpdateInfra", + "AgentAutoUpdateArtifactDeleted", + "AgentAutoUpdateRunAsAccount", + "AgentAutoUpdateRunAsAccountExpiry", + "AgentAutoUpdateRunAsAccountExpired" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCategory", + "modelAsString": true + } + }, + "severity": { + "description": "Severity of error.", + "enum": [ + "NONE", + "Warning", + "Error", + "Info" + ], + "type": "string", + "x-ms-enum": { + "name": "Severity", + "modelAsString": true + } + }, + "summaryMessage": { + "description": "The summary message of the health error.", + "type": "string" + }, + "affectedResourceType": { + "description": "The type of affected ARM resource.", + "type": "string" + }, + "affectedResourceSubtype": { + "description": "The sub type of any subcomponent within the ARM resource that this might be applicable. Value remains null if not applicable.", + "type": "string" + }, + "affectedResourceCorrelationIds": { + "description": "The list of affected resource correlation Ids. This can be used to uniquely identify the count of items affected by a specific category and severity as well as count of item affected by an specific issue.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "HyperVHostDetails": { + "description": "Hyper-V host details.", + "type": "object", + "properties": { + "id": { + "description": "The Hyper-V host Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Hyper-V host name.", + "type": "string", + "readOnly": true + }, + "marsAgentVersion": { + "description": "The Mars agent version.", + "type": "string", + "readOnly": true + } + } + }, + "HyperVReplica2012EventDetails": { + "description": "Model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplica2012R2EventDetails": { + "description": "Model class for event details of a HyperVReplica blue E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaAzureApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "The primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "The secondary kek certificate pfx.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureDiskInputDetails": { + "description": "Disk input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The DiskId.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The LogStorageAccountId.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + } + } + }, + "HyperVReplicaAzureEnableProtectionInput": { + "description": "HyperVReplicaAzure specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host VM Id.", + "type": "string" + }, + "vmName": { + "description": "The VM Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with VM.", + "type": "string" + }, + "vhdId": { + "description": "The OS disk VHD id associated with VM.", + "type": "string" + }, + "targetStorageAccountId": { + "description": "The storage account Id.", + "type": "string" + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure VM Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The list of VHD Ids of disks to be protected.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id for resource manager deployment.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" + }, + "useManagedDisksForReplication": { + "description": "A value indicating whether managed disks should be used during replication.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "disksToIncludeForManagedDisks": { + "description": "The disks to include list for managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVReplicaAzureDiskInputDetails" + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureEventDetails": { + "description": "Model class for event details of a HyperVReplica E2A event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureFailbackProviderInput": { + "description": "HyperVReplicaAzureFailback specific planned failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "dataSyncOption": { + "description": "Data sync option.", + "type": "string" + }, + "recoveryVmCreationOption": { + "description": "ALR options to create alternate recovery.", + "type": "string" + }, + "providerIdForAlternateRecovery": { + "description": "Provider Id for alternate location.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + }, + "HyperVReplicaAzureManagedDiskDetails": { + "description": "Hyper-V Managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "seedManagedDiskId": { + "description": "Seed managed disk Id.", + "type": "string" + }, + "replicaDiskType": { + "description": "The replica disk type.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The disk encryption set ARM Id.", + "type": "string" + } + } + }, + "HyperVReplicaAzurePlannedFailoverProviderInput": { + "description": "HyperVReplicaAzure specific planned failover input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyDetails": { + "description": "Hyper-V Replica Azure specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryDurationInHours": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "encryption": { + "description": "A value indicating whether encryption is enabled for virtual machines in this cloud.", + "type": "string" + }, + "activeStorageAccountId": { + "description": "The active storage account Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzurePolicyInput": { + "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointHistoryDuration": { + "format": "int32", + "description": "The duration (in hours) to which point the recovery history needs to be maintained.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "The interval (in hours) at which Hyper-V Replica should create an application consistent snapshot within the VM.", + "type": "integer" + }, + "replicationInterval": { + "format": "int32", + "description": "The replication interval.", + "type": "integer" + }, + "onlineReplicationStartTime": { + "description": "The scheduled start time for the initial replication. If this parameter is Null, the initial replication starts immediately.", + "type": "string" + }, + "storageAccounts": { + "description": "The list of storage accounts to which the VMs in the primary cloud can replicate to.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReplicationDetails": { + "description": "Hyper V Replica Azure provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "azureVmDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVmName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "Last RPO value.", + "type": "integer" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "encryption": { + "description": "The encryption info.", + "type": "string" + }, + "oSDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The operating system info." + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "type": "string" + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVReplicaAzureManagedDiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureReprotectInput": { + "description": "Azure specific reprotect input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "hvHostVmId": { + "description": "The Hyper-V host Vm Id.", + "type": "string" + }, + "vmName": { + "description": "The Vm Name.", + "type": "string" + }, + "osType": { + "description": "The OS type associated with vm.", + "type": "string" + }, + "vHDId": { + "description": "The OS disk VHD id associated with vm.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureTestFailoverInput": { + "description": "HvrA provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUnplannedFailoverInput": { + "description": "HvrA provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "primaryKekCertificatePfx": { + "description": "Primary kek certificate pfx.", + "type": "string" + }, + "secondaryKekCertificatePfx": { + "description": "Secondary kek certificate pfx.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { + "description": "HyperV replica Azure input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "diskIdToDiskEncryptionMap": { + "description": "The dictionary of disk resource Id to disk encryption set ARM Id.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDiskInput" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzure" + }, + "HyperVReplicaBaseEventDetails": { + "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "containerName": { + "description": "The container friendly name.", + "type": "string" + }, + "fabricName": { + "description": "The fabric friendly name.", + "type": "string" + }, + "remoteContainerName": { + "description": "The remote container name.", + "type": "string" + }, + "remoteFabricName": { + "description": "The remote fabric name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + }, + "HyperVReplicaBasePolicyDetails": { + "description": "Base class for HyperVReplica policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud.", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" + }, + "HyperVReplicaBaseReplicationDetails": { + "description": "Hyper V replica provider specific settings base class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + }, + "HyperVReplicaBluePolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + }, + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBluePolicyInput": { + "description": "HyperV Replica Blue policy input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HyperVReplicaPolicyInput" + } + ], + "properties": { + "replicationFrequencyInSeconds": { + "format": "int32", + "description": "A value indicating the replication interval.", + "type": "integer" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaBlueReplicationDetails": { + "description": "HyperV replica 2012 R2 (Blue) replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012R2" + }, + "HyperVReplicaPolicyDetails": { + "description": "Hyper-V Replica Blue specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletionOption": { + "description": "A value indicating whether the VM has to be auto deleted. Supported Values: String.Empty, None, OnRecoveryCloud", + "type": "string" + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaPolicyInput": { + "description": "Hyper-V Replica specific policy Input.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPoints": { + "format": "int32", + "description": "A value indicating the number of recovery points.", + "type": "integer" + }, + "applicationConsistentSnapshotFrequencyInHours": { + "format": "int32", + "description": "A value indicating the application consistent frequency.", + "type": "integer" + }, + "compression": { + "description": "A value indicating whether compression has to be enabled.", + "type": "string" + }, + "initialReplicationMethod": { + "description": "A value indicating whether IR is online.", + "type": "string" + }, + "onlineReplicationStartTime": { + "description": "A value indicating the online IR start time.", + "type": "string" + }, + "offlineReplicationImportPath": { + "description": "A value indicating the offline IR import path.", + "type": "string" + }, + "offlineReplicationExportPath": { + "description": "A value indicating the offline IR export path.", + "type": "string" + }, + "replicationPort": { + "format": "int32", + "description": "A value indicating the recovery HTTPS port.", + "type": "integer" + }, + "allowedAuthenticationType": { + "format": "int32", + "description": "A value indicating the authentication type.", + "type": "integer" + }, + "replicaDeletion": { + "description": "A value indicating whether the VM has to be auto deleted.", + "type": "string" + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVReplicaReplicationDetails": { + "description": "HyperV replica 2012 replication details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "lastReplicatedTime": { + "format": "date-time", + "description": "The Last replication time.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "initialReplicationDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "Initial replication details." + }, + "vMDiskDetails": { + "description": "VM disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVReplica2012" + }, + "HyperVSiteDetails": { + "description": "HyperVSite fabric specific details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], + "properties": { + "hyperVHosts": { + "description": "The list of Hyper-V hosts associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/HyperVHostDetails" + } + } + }, + "x-ms-discriminator-value": "HyperVSite" + }, + "HyperVVirtualMachineDetails": { + "description": "Single Host fabric provider specific VM settings.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": { + "sourceItemId": { + "description": "The source id of the object.", + "type": "string" + }, + "generation": { + "description": "The id of the object in fabric.", + "type": "string" + }, + "osDetails": { + "$ref": "#/definitions/OSDetails", + "description": "The Last replication time." + }, + "diskDetails": { + "description": "The Last successful failover time.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskDetails" + } + }, + "hasPhysicalDisk": { + "description": "A value indicating whether the VM has a physical disk attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hasFibreChannelAdapter": { + "description": "A value indicating whether the VM has a fibre channel adapter attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hasSharedVhd": { + "description": "A value indicating whether the VM has a shared VHD attached. String value of SrsDataContract.PresenceStatus enum.", + "enum": [ + "Unknown", + "Present", + "NotPresent" + ], + "type": "string", + "x-ms-enum": { + "name": "PresenceStatus", + "modelAsString": true + } + }, + "hyperVHostId": { + "description": "The Id of the hyper-v host in fabric.", + "type": "string" + } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "HyperVVirtualMachine" + }, + "IdentityProviderDetails": { + "description": "Identity provider details.", + "type": "object", + "properties": { + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", + "type": "string" + } + } + }, + "IdentityProviderInput": { + "description": "Identity provider input.", + "required": [ + "tenantId", + "applicationId", + "objectId", + "audience", + "aadAuthority" + ], + "type": "object", + "properties": { + "tenantId": { + "description": "The tenant Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "applicationId": { + "description": "The application/client Id for the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "objectId": { + "description": "The object Id of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "audience": { + "description": "The intended Audience of the service principal with which the on-premise management/data plane components would communicate with our Azure services.", + "type": "string" + }, + "aadAuthority": { + "description": "The base authority for Azure Active Directory authentication.", + "type": "string" + } + } + }, + "InconsistentVmDetails": { + "description": "This class stores the monitoring details for consistency check of inconsistent Protected Entity.", + "type": "object", + "properties": { + "vmName": { + "description": "The Vm name.", + "type": "string" + }, + "cloudName": { + "description": "The Cloud name.", + "type": "string" + }, + "details": { + "description": "The list of details regarding state of the Protected Entity in SRS and On prem.", + "type": "array", + "items": { + "type": "string" + } + }, + "errorIds": { + "description": "The list of error ids.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "InitialReplicationDetails": { + "description": "Initial replication details.", + "type": "object", + "properties": { + "initialReplicationType": { + "description": "Initial replication type.", + "type": "string" + }, + "initialReplicationProgressPercentage": { + "description": "The initial replication progress percentage.", + "type": "string" + } + } + }, + "InlineWorkflowTaskDetails": { + "description": "This class represents the inline workflow task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/GroupTaskDetails" + } + ], + "properties": { + "workflowIds": { + "description": "The list of child workflow ids.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + }, + "InMageAgentDetails": { + "description": "The details of the InMage agent.", + "type": "object", + "properties": { + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentUpdateStatus": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "postUpdateRebootStatus": { + "description": "A value indicating whether reboot is required after update is applied.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + } + } + }, + "InMageAzureV2ApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", + "required": [ + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2DiskInputDetails": { + "description": "Disk input details.", + "type": "object", + "properties": { + "diskId": { + "description": "The DiskId.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The LogStorageAccountId.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + } + } + }, + "InMageAzureV2EnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi VM group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2DiskInputDetails" + } + }, + "targetAzureNetworkId": { + "description": "The selected target Azure network Id.", + "type": "string" + }, + "targetAzureSubnetId": { + "description": "The selected target Azure subnet Id.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target VM after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "targetAzureVmName": { + "description": "The target azure VM Name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "targetAzureV1ResourceGroupId": { + "description": "The Id of the target resource group (for classic deployment) in which the failover VM is to be created.", + "type": "string" + }, + "targetAzureV2ResourceGroupId": { + "description": "The Id of the target resource group (for resource manager deployment) in which the failover VM is to be created.", + "type": "string" + }, + "diskType": { + "description": "The DiskType.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id for resource manager deployment.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The proximity placement group ARM Id.", + "type": "string" + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2EventDetails": { + "description": "Model class for event details of a VMwareAzureV2 event.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "eventType": { + "description": "InMage Event type. Takes one of the values of InMageDataContract.InMageMonitoringEventType.", + "type": "string" + }, + "category": { + "description": "InMage Event Category.", + "type": "string" + }, + "component": { + "description": "InMage Event Component.", + "type": "string" + }, + "correctiveAction": { + "description": "Corrective Action string for the event.", + "type": "string" + }, + "details": { + "description": "InMage Event Details.", + "type": "string" + }, + "summary": { + "description": "InMage Event Summary.", + "type": "string" + }, + "siteName": { + "description": "VMware Site name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ManagedDiskDetails": { + "description": "InMageAzureV2 Managed disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "seedManagedDiskId": { + "description": "Seed managed disk Id.", + "type": "string" + }, + "replicaDiskType": { + "description": "The replica disk type.", + "type": "string" + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM ID.", + "type": "string" + }, + "targetDiskName": { + "description": "The target disk name.", + "type": "string" + } + } + }, + "InMageAzureV2PolicyDetails": { + "description": "InMage Azure v2 specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" + }, + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2PolicyInput": { + "description": "VMWare Azure specific policy Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ProtectedDiskDetails": { + "description": "InMageAzureV2 protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The disk file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMegaBytes": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMegaBytes": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMegaBytes": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes.", + "type": "integer" + }, + "resyncTotalTransferredBytes": { + "format": "int64", + "description": "The resync total transferred bytes.", + "type": "integer" + }, + "resyncLast15MinutesTransferredBytes": { + "format": "int64", + "description": "The resync last 15 minutes transferred bytes.", + "type": "integer" + }, + "resyncLastDataTransferTimeUTC": { + "format": "date-time", + "description": "The last data transfer time in UTC.", + "type": "string" + }, + "resyncStartTime": { + "format": "date-time", + "description": "The resync start time.", + "type": "string" + }, + "progressHealth": { + "description": "The Progress Health.", + "type": "string" + }, + "progressStatus": { + "description": "The Progress Status.", + "type": "string" + } + } + }, + "InMageAzureV2RecoveryPointDetails": { + "description": "InMage Azure V2 provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReplicationDetails": { + "description": "InMageAzureV2 provider specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], + "properties": { + "infrastructureVmId": { + "description": "The infrastructure VM Id.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "vmId": { + "description": "The virtual machine Id.", + "type": "string" + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", + "type": "string" + }, + "isAgentUpdateRequired": { + "description": "A value indicating whether installed agent needs to be updated.", + "type": "string" + }, + "isRebootAfterUpdateRequired": { + "description": "A value indicating whether the source server requires a restart after update.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "processServerName": { + "description": "The process server name.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi vm group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi vm group name.", + "type": "string" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi vm sync is enabled or disabled.", + "type": "string" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string" + }, + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + }, + "osDiskId": { + "description": "The id of the disk containing the OS.", + "type": "string" + }, + "azureVMDiskDetails": { + "description": "Azure VM Disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/AzureVmDiskDetails" + } + }, + "recoveryAzureVMName": { + "description": "Recovery Azure given name.", + "type": "string" + }, + "recoveryAzureVMSize": { + "description": "The Recovery Azure VM size.", + "type": "string" + }, + "recoveryAzureStorageAccount": { + "description": "The recovery Azure storage account.", + "type": "string" + }, + "recoveryAzureLogStorageAccountId": { + "description": "The ARM id of the log storage account used for replication. This will be set to null if no log storage account was provided during enable protection.", + "type": "string" + }, + "vmNics": { + "description": "The PE Network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicDetails" + } + }, + "selectedRecoveryAzureNetworkId": { + "description": "The selected recovery azure network Id.", + "type": "string" + }, + "selectedTfoAzureNetworkId": { + "description": "The test failover virtual network.", + "type": "string" + }, + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", + "type": "string" + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", + "type": "string" + }, + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine. Value can be list of strings that contain datastore names.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetVmId": { + "description": "The ARM Id of the target Azure VM. This value will be null until the VM is failed over. Only after failure it will be populated with the ARM Id of the Azure VM.", + "type": "string" + }, + "recoveryAzureResourceGroupId": { + "description": "The target resource group Id.", + "type": "string" + }, + "recoveryAvailabilitySetId": { + "description": "The recovery availability set Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "licenseType": { + "description": "License Type of the VM to be used.", + "type": "string" + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "type": "string" + }, + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", + "type": "string" + }, + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" + }, + "osVersion": { + "description": "The OS Version of the protected item.", + "type": "string" + }, + "protectedManagedDisks": { + "description": "The list of protected managed disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageAzureV2ManagedDiskDetails" + } + }, + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type of this protected item.", + "type": "string" + }, + "azureVmGeneration": { + "description": "The target generation for this protected item.", + "type": "string" + }, + "isAdditionalStatsAvailable": { + "description": "A value indicating whether additional IR stats are available or not.", + "type": "boolean" + }, + "totalDataTransferred": { + "format": "int64", + "description": "The total transferred data in bytes.", + "type": "integer" + }, + "totalProgressHealth": { + "description": "The progress health.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedManagedDiskTags": { + "description": "The tags for the seed managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2ReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], + "properties": { + "masterTargetId": { + "description": "The Master target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "storageAccountId": { + "description": "The storage account id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The storage account to be used for logging during replication.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2TestFailoverInput": { + "description": "InMageAzureV2 provider specific input for test failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TestFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UnplannedFailoverInput": { + "description": "InMageAzureV2 provider specific input for unplanned failover.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageAzureV2UpdateReplicationProtectedItemInput": { + "description": "InMage Azure V2 input to update replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], + "properties": { + "recoveryAzureV1ResourceGroupId": { + "description": "The recovery Azure resource group Id for classic deployment.", + "type": "string" + }, + "recoveryAzureV2ResourceGroupId": { + "description": "The recovery Azure resource group Id for resource manager deployment.", + "type": "string" + }, + "useManagedDisks": { + "description": "A value indicating whether managed disks should be used during failover.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetManagedDiskTags": { + "description": "The tags for the target managed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "type": "array", + "items": { + "$ref": "#/definitions/UpdateDiskInput" + } + } + }, + "x-ms-discriminator-value": "InMageAzureV2" + }, + "InMageBasePolicyDetails": { + "description": "Base class for the policies of providers using InMage replication.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageBasePolicyDetails" + }, + "InMageDisableProtectionProviderSpecificInput": { + "description": "InMage disable protection provider specific input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + } + ], + "properties": { + "replicaVmDeletionStatus": { + "description": "A value indicating whether the replica VM should be destroyed or retained. Values from Delete and Retain.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageDiskDetails": { + "description": "VMware/Physical specific Disk Details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "diskSizeInMB": { + "description": "The disk size in MB.", + "type": "string" + }, + "diskType": { + "description": "Whether disk is system disk or data disk.", + "type": "string" + }, + "diskConfiguration": { + "description": "Whether disk is dynamic disk or basic disk.", + "type": "string" + }, + "volumeList": { + "description": "Volumes of the disk.", + "type": "array", + "items": { + "$ref": "#/definitions/DiskVolumeDetails" + } + } + } + }, + "InMageDiskExclusionInput": { + "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "volumeOptions": { + "description": "The volume label based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageVolumeExclusionOptions" + } + }, + "diskSignatureOptions": { + "description": "The guest disk signature based option for disk exclusion.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" + } + } + } + }, + "InMageDiskSignatureExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", + "type": "object", + "properties": { + "diskSignature": { + "description": "The guest signature of disk to be excluded from replication.", + "type": "string" + } + } + }, + "InMageEnableProtectionInput": { + "description": "VMware Azure specific enable protection input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "multiVmGroupId", + "multiVmGroupName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "vmFriendlyName": { + "description": "The VM Name.", + "type": "string" + }, + "masterTargetId": { + "description": "The Master Target Id.", + "type": "string" + }, + "processServerId": { + "description": "The Process Server Id.", + "type": "string" + }, + "retentionDrive": { + "description": "The retention drive to use on the MT.", + "type": "string" + }, + "runAsAccountId": { + "description": "The CS account Id.", + "type": "string" + }, + "multiVmGroupId": { + "description": "The multi VM group Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "disksToInclude": { + "description": "The disks to include list.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMagePolicyDetails": { + "description": "InMage specific protection profile details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMagePolicyInput": { + "description": "VMWare Azure specific protection profile Input.", + "required": [ + "multiVmSyncStatus" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "recoveryPointThresholdInMinutes": { + "format": "int32", + "description": "The recovery point threshold in minutes.", + "type": "integer" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", + "enum": [ + "Enable", + "Disable" + ], + "type": "string", + "x-ms-enum": { + "name": "SetMultiVmSyncStatus", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "InMage" + }, + "InMageProtectedDiskDetails": { + "description": "InMage protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk id.", + "type": "string" + }, + "diskName": { + "description": "The disk name.", + "type": "string" + }, + "protectionStage": { + "description": "The protection stage.", + "type": "string" + }, + "healthErrorCode": { + "description": "The health error code for the disk.", + "type": "string" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "resyncRequired": { + "description": "A value indicating whether resync is required for this disk.", + "type": "string" + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer" + }, + "resyncDurationInSeconds": { + "format": "int64", + "description": "The resync duration in seconds.", + "type": "integer" + }, + "diskCapacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer" + }, + "fileSystemCapacityInBytes": { + "format": "int64", + "description": "The file system capacity in bytes.", + "type": "integer" + }, + "sourceDataInMB": { + "format": "double", + "description": "The source data transit in MB.", + "type": "number" + }, + "psDataInMB": { + "format": "double", + "description": "The PS data transit in MB.", + "type": "number" + }, + "targetDataInMB": { + "format": "double", + "description": "The target data transit in MB.", + "type": "number" + }, + "diskResized": { + "description": "A value indicating whether disk is resized.", + "type": "string" + }, + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", + "type": "string" + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes.", + "type": "integer" + }, + "resyncTotalTransferredBytes": { + "format": "int64", + "description": "The resync total transferred bytes.", + "type": "integer" + }, + "resyncLast15MinutesTransferredBytes": { + "format": "int64", + "description": "The resync last 15 minutes transferred bytes.", + "type": "integer" + }, + "resyncLastDataTransferTimeUTC": { + "format": "date-time", + "description": "The last data transfer time in UTC.", + "type": "string" + }, + "resyncStartTime": { + "format": "date-time", + "description": "The resync start time.", + "type": "string" + }, + "progressHealth": { + "description": "The Progress Health.", + "type": "string" + }, + "progressStatus": { + "description": "The Progress Status.", + "type": "string" + } + } + }, + "InMageRcmAgentUpgradeBlockingErrorDetails": { + "description": "InMageRcm source agent upgrade blocking error details.", + "type": "object", + "properties": { + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true + }, + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "possibleCauses": { + "description": "The possible causes.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action.", + "type": "string", + "readOnly": true + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + } + } + }, + "InMageRcmApplyRecoveryPointInput": { + "description": "ApplyRecoveryPoint input specific to InMageRcm provider.", + "required": [ + "recoveryPointId", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" + } + ], + "properties": { + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmDiscoveredProtectedVmDetails": { + "description": "InMageRcm discovered protected VM details.", + "type": "object", + "properties": { + "vCenterId": { + "description": "The VCenter Id.", + "type": "string", + "readOnly": true + }, + "vCenterFqdn": { + "description": "The VCenter fqdn.", + "type": "string", + "readOnly": true + }, + "datastores": { + "description": "The list of datastores.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "ipAddresses": { + "description": "The list of IP addresses.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vmwareToolsStatus": { + "description": "The VMware tools status.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "The VM power status.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "The VM fqdn.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "The VM's OS name.", + "type": "string", + "readOnly": true + }, + "createdTimestamp": { + "format": "date-time", + "description": "The SDS created timestamp.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "format": "date-time", + "description": "The SDS updated timestamp.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "A value indicating whether the VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "lastDiscoveryTimeInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmDiskInput": { + "description": "InMageRcm disk input.", + "required": [ + "diskId", + "logStorageAccountId", + "diskType" + ], + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + } + } + }, + "InMageRcmDisksDefaultInput": { + "description": "InMageRcm disk input.", + "required": [ + "logStorageAccountId", + "diskType" + ], + "type": "object", + "properties": { + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } + }, + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string" + } + } + }, + "InMageRcmEnableProtectionInput": { + "description": "InMageRcm specific enable protection input.", + "required": [ + "fabricDiscoveryMachineId", + "targetResourceGroupId", + "processServerId" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + } + ], + "properties": { + "fabricDiscoveryMachineId": { + "description": "The ARM Id of discovered machine.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmDiskInput" + } + }, + "disksDefault": { + "$ref": "#/definitions/InMageRcmDisksDefaultInput", + "description": "The default disk input." + }, + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The selected target network ARM Id.", + "type": "string" + }, + "testNetworkId": { + "description": "The selected test network ARM Id.", + "type": "string" + }, + "targetSubnetName": { + "description": "The selected target subnet name.", + "type": "string" + }, + "testSubnetName": { + "description": "The selected test subnet name.", + "type": "string" + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string" + }, + "targetVmSize": { + "description": "The target VM size.", + "type": "string" + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmEventDetails": { + "description": "Event details for InMageRcm provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "vmName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "latestAgentVersion": { + "description": "The latest agent version.", + "type": "string", + "readOnly": true + }, + "jobId": { + "description": "The job Id.", + "type": "string", + "readOnly": true + }, + "fabricName": { + "description": "The fabric name.", + "type": "string", + "readOnly": true + }, + "applianceName": { + "description": "The appliance name.", + "type": "string", + "readOnly": true + }, + "serverType": { + "description": "The server type.", + "type": "string", + "readOnly": true + }, + "componentDisplayName": { + "description": "The component display name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmFabricCreationInput": { + "description": "InMageRcm fabric provider specific settings.", + "required": [ + "vmwareSiteId", + "physicalSiteId", + "sourceAgentIdentity" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreationInput" + } + ], + "properties": { + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string" + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", "type": "string" + }, + "sourceAgentIdentity": { + "$ref": "#/definitions/IdentityProviderInput", + "description": "The identity provider input for source agent authentication." } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "ConfigureAlertRequest": { - "description": "Request to configure alerts for the system.", + "InMageRcmFabricSpecificDetails": { + "description": "InMageRcm fabric specific details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificDetails" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/ConfigureAlertRequestProperties", - "description": "The properties of a configure alert request." + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", + "type": "string", + "readOnly": true + }, + "physicalSiteId": { + "description": "The ARM Id of the physical site.", + "type": "string", + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", + "type": "string", + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", + "type": "string", + "readOnly": true + }, + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "dataPlaneUri": { + "description": "The data plane Uri.", + "type": "string", + "readOnly": true + }, + "controlPlaneUri": { + "description": "The control plane Uri.", + "type": "string", + "readOnly": true + }, + "sourceAgentIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The source agent identity details." + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true + }, + "rcmProxies": { + "description": "The list of RCM proxies.", + "type": "array", + "items": { + "$ref": "#/definitions/RcmProxyDetails" + }, + "readOnly": true + }, + "pushInstallers": { + "description": "The list of push installers.", + "type": "array", + "items": { + "$ref": "#/definitions/PushInstallerDetails" + }, + "readOnly": true + }, + "replicationAgents": { + "description": "The list of replication agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationAgentDetails" + }, + "readOnly": true + }, + "reprotectAgents": { + "description": "The list of reprotect agents.", + "type": "array", + "items": { + "$ref": "#/definitions/ReprotectAgentDetails" + }, + "readOnly": true + }, + "marsAgents": { + "description": "The list of Mars agents.", + "type": "array", + "items": { + "$ref": "#/definitions/MarsAgentDetails" + }, + "readOnly": true + }, + "dras": { + "description": "The list of DRAs.", + "type": "array", + "items": { + "$ref": "#/definitions/DraDetails" + }, + "readOnly": true + }, + "agentDetails": { + "description": "The list of agent details.", + "type": "array", + "items": { + "$ref": "#/definitions/AgentDetails" + }, + "readOnly": true } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "ConfigureAlertRequestProperties": { - "description": "Properties of a configure alert request.", + "InMageRcmFailbackDiscoveredProtectedVmDetails": { + "description": "InMageRcmFailback discovered VM details.", "type": "object", "properties": { - "sendToOwners": { - "description": "A value indicating whether to send email to subscription administrator.", - "type": "string" + "vCenterId": { + "description": "The VCenter Id.", + "type": "string", + "readOnly": true }, - "customEmailAddresses": { - "description": "The custom email address for sending emails.", + "vCenterFqdn": { + "description": "The VCenter fqdn.", + "type": "string", + "readOnly": true + }, + "datastores": { + "description": "The list of datastores.", "type": "array", "items": { "type": "string" - } + }, + "readOnly": true }, - "locale": { - "description": "The locale for the email notification.", - "type": "string" + "ipAddresses": { + "description": "The list of IP addresses.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vmwareToolsStatus": { + "description": "The VMware tools status.", + "type": "string", + "readOnly": true + }, + "powerStatus": { + "description": "The VM power status.", + "type": "string", + "readOnly": true + }, + "vmFqdn": { + "description": "The VM fqdn.", + "type": "string", + "readOnly": true + }, + "osName": { + "description": "The VM's OS name.", + "type": "string", + "readOnly": true + }, + "createdTimestamp": { + "format": "date-time", + "description": "The SDS created timestamp.", + "type": "string", + "readOnly": true + }, + "updatedTimestamp": { + "format": "date-time", + "description": "The SDS updated timestamp.", + "type": "string", + "readOnly": true + }, + "isDeleted": { + "description": "A value indicating whether the VM is deleted.", + "type": "boolean", + "readOnly": true + }, + "lastDiscoveryTimeInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true } } }, - "EventCollection": { - "description": "Collection of fabric details.", + "InMageRcmFailbackEventDetails": { + "description": "Event details for InMageRcmFailback provider.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], "properties": { - "value": { - "description": "The list of events.", + "protectedItemName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "vmName": { + "description": "The protected item name.", + "type": "string", + "readOnly": true + }, + "applianceName": { + "description": "The appliance name.", + "type": "string", + "readOnly": true + }, + "serverType": { + "description": "The server type.", + "type": "string", + "readOnly": true + }, + "componentDisplayName": { + "description": "The component display name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackMobilityAgentDetails": { + "description": "InMageRcmFailback mobility agent details.", + "type": "object", + "properties": { + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true + }, + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true + }, + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true + }, + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true + }, + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat received from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", "type": "array", "items": { - "$ref": "#/definitions/Event" + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "NotProtected", + "UnsupportedProtectionScenario", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackNicDetails": { + "description": "InMageRcmFailback NIC details.", + "type": "object", + "properties": { + "macAddress": { + "description": "The mac address.", + "type": "string", + "readOnly": true + }, + "networkName": { + "description": "The network name.", + "type": "string", + "readOnly": true + }, + "adapterType": { + "description": "The adapter type.", + "type": "string", + "readOnly": true + }, + "sourceIpAddress": { + "description": "The IP address.", + "type": "string", + "readOnly": true + } + } + }, + "InMageRcmFailbackPlannedFailoverProviderInput": { + "description": "Provider specific input for InMageRcmFailback failover.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "ApplicationConsistent", + "CrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageRcmFailbackRecoveryPointType", + "modelAsString": true } + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "InMageRcmFailbackPolicyCreationInput": { + "description": "InMageRcmFailback policy creation input.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], + "properties": { + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" } - } + }, + "x-ms-discriminator-value": "InMageRcmFailback" }, - "Event": { - "description": "Implements the Event class.", + "InMageRcmFailbackPolicyDetails": { + "description": "InMageRcm failback specific policy details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/EventProperties", - "description": "Event related data." + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" } - } + }, + "x-ms-discriminator-value": "InMageRcmFailback" }, - "EventProperties": { - "description": "The properties of a monitoring event.", + "InMageRcmFailbackProtectedDiskDetails": { + "description": "InMageRcmFailback protected disk details.", "type": "object", "properties": { - "eventCode": { - "description": "The Id of the monitoring event.", - "type": "string" - }, - "description": { - "description": "The event name.", - "type": "string" - }, - "eventType": { - "description": "The type of the event.\r\n for example: VM Health, Server Health, Job Failure etc.", - "type": "string" + "diskId": { + "description": "The disk Id (reported by source agent).", + "type": "string", + "readOnly": true }, - "affectedObjectFriendlyName": { - "description": "The friendly name of the source of the event on which it \r\n is raised (for example, VM, VMM etc).", - "type": "string" + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true }, - "severity": { - "description": "The severity of the event.", - "type": "string" + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true }, - "timeOfOccurrence": { - "format": "date-time", - "description": "The time of occurence of the event.", - "type": "string" + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true }, - "fabricId": { - "description": "The ARM ID of the fabric.", - "type": "string" + "diskUuid": { + "description": "The disk Uuid (reported by vCenter).", + "type": "string", + "readOnly": true }, - "providerSpecificDetails": { - "$ref": "#/definitions/EventProviderSpecificDetails", - "description": "The provider specific settings." + "dataPendingInLogDataStoreInMB": { + "format": "double", + "description": "The data pending in log data store in MB.", + "type": "number", + "readOnly": true }, - "eventSpecificDetails": { - "$ref": "#/definitions/EventSpecificDetails", - "description": "The event specific settings." + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source agent in MB.", + "type": "number", + "readOnly": true }, - "healthErrors": { - "description": "The list of errors / warnings capturing details associated with the\r\n issue(s).", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - } - } - }, - "EventProviderSpecificDetails": { - "description": "Model class for provider specific details for an event.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", + "isInitialReplicationComplete": { + "description": "A value indicating whether initial replication is complete or not.", "type": "string", "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "EventSpecificDetails": { - "description": "Model class for event specific details for an event.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", + }, + "irDetails": { + "$ref": "#/definitions/InMageRcmFailbackSyncDetails", + "description": "The initial replication details." + }, + "resyncDetails": { + "$ref": "#/definitions/InMageRcmFailbackSyncDetails", + "description": "The resync details." + }, + "lastSyncTime": { + "format": "date-time", + "description": "The last sync time.", "type": "string", "readOnly": true } - }, - "discriminator": "instanceType" - }, - "FabricCollection": { - "description": "Collection of fabric details.", - "type": "object", - "properties": { - "value": { - "description": "The fabric details.", - "type": "array", - "items": { - "$ref": "#/definitions/Fabric" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } } }, - "Fabric": { - "description": "Fabric definition.", + "InMageRcmFailbackReplicationDetails": { + "description": "InMageRcmFailback provider specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } ], "properties": { - "properties": { - "$ref": "#/definitions/FabricProperties", - "description": "Fabric related data." - } - } - }, - "FabricProperties": { - "description": "Fabric properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the fabric.", - "type": "string" + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true }, - "encryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Encryption details for the fabric." + "azureVirtualMachineId": { + "description": "The ARM Id of the azure VM.", + "type": "string", + "readOnly": true }, - "rolloverEncryptionDetails": { - "$ref": "#/definitions/EncryptionDetails", - "description": "Rollover encryption details for the fabric." + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true }, - "internalIdentifier": { - "description": "Dra Registration Id.", - "type": "string" + "reprotectAgentId": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true }, - "bcdrState": { - "description": "BCDR state of the fabric.", - "type": "string" + "reprotectAgentName": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true }, - "customDetails": { - "$ref": "#/definitions/FabricSpecificDetails", - "description": "Fabric specific settings." + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true }, - "healthErrorDetails": { - "description": "Fabric health error details.", + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true + }, + "targetvCenterId": { + "description": "The target vCenter Id.", + "type": "string", + "readOnly": true + }, + "targetDataStoreName": { + "description": "The target datastore name.", + "type": "string", + "readOnly": true + }, + "targetVmName": { + "description": "The target VM name.", + "type": "string", + "readOnly": true + }, + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProcessedBytes": { + "format": "int64", + "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationTransferredBytes": { + "format": "int64", + "description": "The initial replication transferred bytes from source VM to target for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProgressHealth": { + "description": "The initial replication progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage.", + "type": "integer", + "readOnly": true + }, + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true + }, + "resyncTransferredBytes": { + "format": "int64", + "description": "The resync transferred bytes from source VM to target for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "resyncProgressHealth": { + "description": "The resync progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/InMageRcmFailbackProtectedDiskDetails" } }, - "health": { - "description": "Health of fabric.", - "type": "string" + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmFailbackMobilityAgentDetails", + "description": "The mobility agent information." + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmFailbackNicDetails" + } + }, + "lastPlannedFailoverStartTime": { + "format": "date-time", + "description": "The last planned failover start time.", + "type": "string", + "readOnly": true + }, + "lastPlannedFailoverStatus": { + "description": "The last planned failover status.", + "enum": [ + "Succeeded", + "Failed", + "Cancelled", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PlannedFailoverStatus", + "modelAsString": true + } + }, + "discoveredVmDetails": { + "$ref": "#/definitions/InMageRcmFailbackDiscoveredProtectedVmDetails", + "description": "The discovered VM information." + }, + "lastUsedPolicyId": { + "description": "The policy Id used by the forward replication.", + "type": "string", + "readOnly": true + }, + "lastUsedPolicyFriendlyName": { + "description": "The policy friendly name used by the forward replication.", + "type": "string", + "readOnly": true + }, + "isAgentRegistrationSuccessfulAfterFailover": { + "description": "A value indicating whether agent registration was successful after failover.", + "type": "boolean", + "readOnly": true } - } + }, + "x-ms-discriminator-value": "InMageRcmFailback" }, - "EncryptionDetails": { - "description": "Encryption details for the fabric.", + "InMageRcmFailbackReprotectInput": { + "description": "InMageRcmFailback specific provider input.", + "required": [ + "processServerId", + "policyId" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], "properties": { - "kekState": { - "description": "The key encryption key state for the Vmm.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "kekCertThumbprint": { - "description": "The key encryption key certificate thumbprint.", + "runAsAccountId": { + "description": "The run as account Id.", "type": "string" }, - "kekCertExpiryDate": { - "format": "date-time", - "description": "The key encryption key certificate expiry date.", + "policyId": { + "description": "The Policy Id.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcmFailback" }, - "FabricSpecificDetails": { - "description": "Fabric specific details.", + "InMageRcmFailbackSyncDetails": { + "description": "InMageRcmFailback disk level sync details.", "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", + "progressHealth": { + "description": "The progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress", + "Queued" + ], "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskReplicationProgressHealth", + "modelAsString": true + } + }, + "transferredBytes": { + "format": "int64", + "description": "The transferred bytes from source VM to azure for the disk.", + "type": "integer", "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "FabricCreationInput": { - "description": "Site details provided during the time of site creation", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/FabricCreationInputProperties", - "description": "Fabric creation input." - } - } - }, - "FabricCreationInputProperties": { - "description": "Properties of site details provided during the time of site creation", - "type": "object", - "properties": { - "customDetails": { - "$ref": "#/definitions/FabricSpecificCreationInput", - "description": "Fabric provider specific creation input." - } - } - }, - "FabricSpecificCreationInput": { - "description": "Fabric provider specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type.", + }, + "last15MinutesTransferredBytes": { + "format": "int64", + "description": "The bytes transferred in last 15 minutes from source VM to target.", + "type": "integer", + "readOnly": true + }, + "lastDataTransferTimeUtc": { + "description": "The time of the last data transfer from source VM to target.", "type": "string", "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "Object": { - "description": "Base of all objects.", - "type": "object", - "properties": {} - }, - "FailoverProcessServerRequest": { - "description": "Request to failover a process server.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/FailoverProcessServerRequestProperties", - "description": "The properties of the PS Failover request." + }, + "processedBytes": { + "format": "int64", + "description": "The total processed bytes. This includes bytes that are transferred from source VM to target and matched bytes.", + "type": "integer", + "readOnly": true + }, + "startTime": { + "description": "The start time.", + "type": "string", + "readOnly": true + }, + "lastRefreshTime": { + "description": "The last refresh time.", + "type": "string", + "readOnly": true + }, + "progressPercentage": { + "format": "int32", + "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.", + "type": "integer", + "readOnly": true } } }, - "FailoverProcessServerRequestProperties": { - "description": "The properties of the Failover Process Server request.", + "InMageRcmLastAgentUpgradeErrorDetails": { + "description": "InMageRcm last source agent upgrade error details.", "type": "object", "properties": { - "containerName": { - "description": "The container identifier.", - "type": "string" + "errorCode": { + "description": "The error code.", + "type": "string", + "readOnly": true }, - "sourceProcessServerId": { - "description": "The source process server.", - "type": "string" + "errorMessage": { + "description": "The error message.", + "type": "string", + "readOnly": true }, - "targetProcessServerId": { - "description": "The new process server.", - "type": "string" + "possibleCauses": { + "description": "The possible causes.", + "type": "string", + "readOnly": true }, - "vmsToMigrate": { - "description": "The VMS to migrate.", - "type": "array", - "items": { + "recommendedAction": { + "description": "The recommended action.", + "type": "string", + "readOnly": true + }, + "errorMessageParameters": { + "description": "The error message parameters.", + "type": "object", + "additionalProperties": { "type": "string" - } + }, + "readOnly": true }, - "updateType": { - "description": "A value for failover type. It can be systemlevel/serverlevel", - "type": "string" + "errorTags": { + "description": "The error tags.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true } } }, - "JobCollection": { - "description": "Collection of jobs.", + "InMageRcmMobilityAgentDetails": { + "description": "InMageRcm mobility agent details.", "type": "object", "properties": { - "value": { - "description": "The list of jobs.", - "type": "array", - "items": { - "$ref": "#/definitions/Job" - } + "version": { + "description": "The agent version.", + "type": "string", + "readOnly": true }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "Job": { - "description": "Job details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/JobProperties", - "description": "The custom data." + "latestVersion": { + "description": "The latest agent version available.", + "type": "string", + "readOnly": true }, - "status": { - "description": "The status of the Job. ARM expects the terminal status to be one of\r\n (1) Succeeded, (2) Failed or (3) Canceled.\r\n All other values imply that the operation is still running / being applied.", - "type": "string" + "latestAgentReleaseDate": { + "description": "The latest agent version release date.", + "type": "string", + "readOnly": true }, - "error": { - "$ref": "#/definitions/ARMException", - "description": "The error." + "driverVersion": { + "description": "The driver version.", + "type": "string", + "readOnly": true }, - "startTime": { - "description": "The start time.", - "type": "string" + "latestUpgradableVersionWithoutReboot": { + "description": "The latest upgradeable version available without reboot.", + "type": "string", + "readOnly": true }, - "endTime": { - "description": "The start time.", - "type": "string" + "agentVersionExpiryDate": { + "format": "date-time", + "description": "The agent version expiry date.", + "type": "string", + "readOnly": true + }, + "driverVersionExpiryDate": { + "format": "date-time", + "description": "The driver version expiry date.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The time of the last heartbeat received from the agent.", + "type": "string", + "readOnly": true + }, + "reasonsBlockingUpgrade": { + "description": "The whether update is possible or not.", + "type": "array", + "items": { + "enum": [ + "AlreadyOnLatestVersion", + "RebootRequired", + "AgentNoHeartbeat", + "RcmProxyNoHeartbeat", + "ProcessServerNoHeartbeat", + "IncompatibleApplianceVersion", + "NotProtected", + "UnsupportedProtectionScenario", + "DistroIsNotReported", + "DistroNotSupportedForUpgrade", + "MissingUpgradePath", + "InvalidAgentVersion", + "InvalidDriverVersion", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentUpgradeBlockedReason", + "modelAsString": true + } + }, + "readOnly": true + }, + "isUpgradeable": { + "description": "A value indicating whether agent is upgradeable or not.", + "type": "string", + "readOnly": true } } }, - "JobProperties": { - "description": "Job custom data details.", + "InMageRcmNicDetails": { + "description": "InMageRcm NIC details.", "type": "object", "properties": { - "activityId": { - "description": "The activity id.", - "type": "string" - }, - "scenarioName": { - "description": "The ScenarioName.", - "type": "string" + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true }, - "friendlyName": { - "description": "The DisplayName.", + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", "type": "string" }, - "state": { - "description": "The status of the Job. It is one of these values - NotStarted, InProgress,\r\n Succeeded, Failed, Cancelled, Suspended or Other.", + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", "type": "string" }, - "stateDescription": { - "description": "The description of the state of the Job. For e.g. - For Succeeded state,\r\n description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", - "type": "string" + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true }, - "tasks": { - "description": "The tasks.", - "type": "array", - "items": { - "$ref": "#/definitions/ASRTask" + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true } }, - "errors": { - "description": "The errors.", - "type": "array", - "items": { - "$ref": "#/definitions/JobErrorDetails" - } + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" + "sourceSubnetName": { + "description": "Source subnet name.", + "type": "string", + "readOnly": true }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "targetIPAddress": { + "description": "The target IP address.", "type": "string" }, - "allowedActions": { - "description": "The Allowed action the job.", - "type": "array", - "items": { - "type": "string" + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true } }, - "targetObjectId": { - "description": "The affected Object Id.", + "targetSubnetName": { + "description": "Target subnet name.", "type": "string" }, - "targetObjectName": { - "description": "The name of the affected object.", + "testSubnetName": { + "description": "Test subnet name.", "type": "string" }, - "targetInstanceType": { - "description": "The type of the affected object which is\r\n of {Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType} class.", + "testIPAddress": { + "description": "The test IP address.", "type": "string" }, - "customDetails": { - "$ref": "#/definitions/JobDetails", - "description": "The custom job details like test failover job details." + "testIPAddressType": { + "description": "The test IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } } } }, - "ARMException": { - "description": "ARM inner exception class.", + "InMageRcmNicInput": { + "description": "InMageRcm NIC input.", + "required": [ + "nicId", + "isPrimaryNic" + ], "type": "object", "properties": { - "code": { - "description": "Gets HTTP status code for the error.", + "nicId": { + "description": "The NIC Id.", "type": "string" }, - "message": { - "description": "Gets exception message.", + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", "type": "string" }, - "target": { - "description": "Gets exception target.", + "isSelectedForFailover": { + "description": "A value indicating whether this NIC is selected for failover.", "type": "string" }, - "details": { - "description": "Gets service based error details.", - "type": "array", - "items": { - "$ref": "#/definitions/ARMExceptionDetails" - } + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetStaticIPAddress": { + "description": "The target static IP address.", + "type": "string" }, - "innererror": { - "$ref": "#/definitions/ARMInnerError", - "description": "Gets private data for service debugging." + "testSubnetName": { + "description": "The test subnet name.", + "type": "string" + }, + "testStaticIPAddress": { + "description": "The test static IP address.", + "type": "string" } } }, - "ASRTask": { - "description": "Task of the Job.", + "InMageRcmPolicyCreationInput": { + "description": "InMageRcm policy creation input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificInput" + } + ], "properties": { - "taskId": { - "description": "The Id.", - "type": "string" + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "name": { - "description": "The unique Task name.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" }, - "startTime": { - "format": "date-time", - "description": "The start time.", - "type": "string" + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" }, - "endTime": { - "format": "date-time", - "description": "The end time.", + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmPolicyDetails": { + "description": "InMageRcm specific policy details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PolicyProviderSpecificDetails" + } + ], + "properties": { + "recoveryPointHistoryInMinutes": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" }, - "allowedActions": { - "description": "The state/actions applicable on this task.", - "type": "array", - "items": { - "type": "string" - } + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency in minutes.", + "type": "integer" }, - "friendlyName": { - "description": "The name.", - "type": "string" + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency in minutes.", + "type": "integer" }, - "state": { - "description": "The State. It is one of these values - NotStarted, InProgress,\r\n Succeeded, Failed, Cancelled, Suspended or Other.", + "enableMultiVmSync": { + "description": "A value indicating whether multi-VM sync has to be enabled.", "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmProtectedDiskDetails": { + "description": "InMageRcm protected disk details.", + "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string", + "readOnly": true }, - "stateDescription": { - "description": "The description of the task state. For example - For Succeeded state,\r\n description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", - "type": "string" + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true }, - "taskType": { - "description": "The type of task. Details in CustomDetails property depend on this type.", - "type": "string" + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true }, - "customDetails": { - "$ref": "#/definitions/TaskTypeDetails", - "description": "The custom task details based on the task type." + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true }, - "groupTaskCustomDetails": { - "$ref": "#/definitions/GroupTaskDetails", - "description": "The custom task details based on the task type, if the task type is\r\n GroupTaskDetails or one of the types derived from it." + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true }, - "errors": { - "description": "The task error details.", - "type": "array", - "items": { - "$ref": "#/definitions/JobErrorDetails" + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string", + "readOnly": true + }, + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true + }, + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true } - } - } - }, - "JobErrorDetails": { - "description": "This class contains the error details per object.", - "type": "object", - "properties": { - "serviceErrorDetails": { - "$ref": "#/definitions/ServiceError", - "description": "The Service error details." }, - "providerErrorDetails": { - "$ref": "#/definitions/ProviderError", - "description": "The Provider error details." + "dataPendingInLogDataStoreInMB": { + "format": "double", + "description": "The data pending in log data store in MB.", + "type": "number", + "readOnly": true }, - "errorLevel": { - "description": "Error level of error.", - "type": "string" + "dataPendingAtSourceAgentInMB": { + "format": "double", + "description": "The data pending at source agent in MB.", + "type": "number", + "readOnly": true }, - "creationTime": { - "format": "date-time", - "description": "The creation time of job error.", - "type": "string" + "isInitialReplicationComplete": { + "description": "A value indicating whether initial replication is complete or not.", + "type": "string", + "readOnly": true }, - "taskId": { - "description": "The Id of the task.", - "type": "string" + "irDetails": { + "$ref": "#/definitions/InMageRcmSyncDetails", + "description": "The initial replication details." + }, + "resyncDetails": { + "$ref": "#/definitions/InMageRcmSyncDetails", + "description": "The resync details." } } }, - "JobDetails": { - "description": "Job details based on specific job type.", + "InMageRcmProtectionContainerMappingDetails": { + "description": "InMageRcm provider specific container mapping details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" + } + ], "properties": { - "instanceType": { - "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "enableAgentAutoUpgrade": { + "description": "A value indicating whether the flag for enable agent auto upgrade.", "type": "string", "readOnly": true - }, - "affectedObjectDetails": { - "description": "The affected object properties like source server, source cloud, target\r\n server, target cloud etc. based on the workflow object details.", - "type": "object", - "additionalProperties": { - "type": "string" - } } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "InMageRcm" + }, + "InMageRcmRecoveryPointDetails": { + "description": "InMageRcm provider specific recovery point details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails" + } + ], + "properties": { + "isMultiVmSyncPoint": { + "description": "A value indicating whether the recovery point is multi VM consistent.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "ARMExceptionDetails": { - "description": "Service based exception details.", + "InMageRcmReplicationDetails": { + "description": "InMageRcm provider specific details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" + } + ], "properties": { - "code": { - "description": "Gets service error code.", - "type": "string" + "internalIdentifier": { + "description": "The virtual machine internal identifier.", + "type": "string", + "readOnly": true }, - "message": { - "description": "Gets error message.", - "type": "string" + "fabricDiscoveryMachineId": { + "description": "The ARM Id of the discovered VM.", + "type": "string", + "readOnly": true + }, + "multiVmGroupName": { + "description": "The multi VM group name.", + "type": "string", + "readOnly": true + }, + "discoveryType": { + "description": "The type of the discovered VM.", + "type": "string", + "readOnly": true + }, + "processServerId": { + "description": "The process server Id.", + "type": "string", + "readOnly": true + }, + "processorCoreCount": { + "format": "int32", + "description": "The processor core count.", + "type": "integer", + "readOnly": true + }, + "allocatedMemoryInMB": { + "format": "double", + "description": "The allocated memory in MB.", + "type": "number", + "readOnly": true + }, + "processServerName": { + "description": "The process server name.", + "type": "string", + "readOnly": true + }, + "runAsAccountId": { + "description": "The run-as account Id.", + "type": "string", + "readOnly": true + }, + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true + }, + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true + }, + "primaryNicIpAddress": { + "description": "The IP address of the primary network interface.", + "type": "string", + "readOnly": true + }, + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true }, - "possibleCauses": { - "description": "Gets possible cause for error.", + "licenseType": { + "description": "License Type of the VM to be used.", "type": "string" }, - "recommendedAction": { - "description": "Gets recommended action for the error.", + "targetVmName": { + "description": "Target VM name.", "type": "string" }, - "clientRequestId": { - "description": "Gets the client request Id for the session.", + "targetVmSize": { + "description": "The target VM size.", "type": "string" }, - "activityId": { - "description": "Gets the activity Id for the session.", + "targetResourceGroupId": { + "description": "The target resource group Id.", "type": "string" }, - "target": { - "description": "Gets exception target.", - "type": "string" - } - } - }, - "ARMInnerError": { - "description": "ARM internal error class for providing additional debug data.", - "type": "object", - "properties": { - "trace": { - "description": "Gets complete stack trace of the exception.", + "targetLocation": { + "description": "The target location.", "type": "string" }, - "source": { - "description": "Gets exception source.", + "targetAvailabilitySetId": { + "description": "The target availability set Id.", "type": "string" }, - "methodStatus": { - "$ref": "#/definitions/MethodCallStatus", - "description": "Gets data related to method which threw the exception." - }, - "cloudId": { - "description": "Gets cloud Id in exception.", + "targetAvailabilityZone": { + "description": "The target availability zone.", "type": "string" }, - "hVHostId": { - "description": "Gets hyperV host ID.", + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", "type": "string" }, - "hVClusterId": { - "description": "Gets hyperV cluster Id.", + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", "type": "string" }, - "networkId": { - "description": "Gets network Id.", + "targetNetworkId": { + "description": "The target network Id.", "type": "string" }, - "vmId": { - "description": "Gets Vm Id.", + "testNetworkId": { + "description": "The test network Id.", "type": "string" }, - "fabricId": { - "description": "Gets Fabric Id.", - "type": "string" + "failoverRecoveryPointId": { + "description": "The recovery point Id to which the VM was failed over.", + "type": "string", + "readOnly": true }, - "liveId": { - "description": "Gets Live Id of the caller.", - "type": "string" + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true }, - "containerId": { - "description": "Gets container Id of the caller.", - "type": "string" + "lastRpoInSeconds": { + "format": "int64", + "description": "The last recovery point objective value.", + "type": "integer", + "readOnly": true }, - "resourceId": { - "description": "Gets resource id used in the call.", - "type": "string" + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last recovery point objective calculated time.", + "type": "string", + "readOnly": true }, - "resourceName": { - "description": "Gets caller resource name.", - "type": "string" + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true }, - "subscriptionId": { - "description": "Gets subscription Id.", - "type": "string" + "initialReplicationProgressPercentage": { + "format": "int32", + "description": "The initial replication progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true }, - "serializedSRSLogContext": { - "description": "Gets serialized SRS log context.", - "type": "string" - } - } - }, - "TaskTypeDetails": { - "description": "Task details based on specific task type.", - "type": "object", - "properties": { - "instanceType": { - "description": "The type of task details.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "GroupTaskDetails": { - "description": "This class represents the group task details when parent child relationship exists\r\n in the drill down.", - "type": "object", - "properties": { - "instanceType": { - "description": "The type of task details.", - "type": "string" + "initialReplicationProcessedBytes": { + "format": "int64", + "description": "The initial replication processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true }, - "childTasks": { - "description": "The child tasks.", - "type": "array", - "items": { - "$ref": "#/definitions/ASRTask" + "initialReplicationTransferredBytes": { + "format": "int64", + "description": "The initial replication transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true + }, + "initialReplicationProgressHealth": { + "description": "The initial replication progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true } - } - }, - "discriminator": "instanceType" - }, - "ServiceError": { - "description": "ASR error model", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" }, - "message": { - "description": "Error message.", - "type": "string" + "resyncProgressPercentage": { + "format": "int32", + "description": "The resync progress percentage. This is calculated based on total bytes processed for all disks in the source VM.", + "type": "integer", + "readOnly": true }, - "possibleCauses": { - "description": "Possible causes of error.", - "type": "string" + "resyncProcessedBytes": { + "format": "int64", + "description": "The resync processed bytes. This includes sum of total bytes transferred and matched bytes on all selected disks in source VM.", + "type": "integer", + "readOnly": true }, - "recommendedAction": { - "description": "Recommended action to resolve error.", - "type": "string" + "resyncTransferredBytes": { + "format": "int64", + "description": "The resync transferred bytes from source VM to azure for all selected disks on source VM.", + "type": "integer", + "readOnly": true }, - "activityId": { - "description": "Activity Id.", - "type": "string" - } - } - }, - "ProviderError": { - "description": "This class contains the error details per object.", - "type": "object", - "properties": { - "errorCode": { - "format": "int32", - "description": "The Error code.", - "type": "integer" + "resyncProgressHealth": { + "description": "The resync progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VmReplicationProgressHealth", + "modelAsString": true + } }, - "errorMessage": { - "description": "The Error message.", - "type": "string" + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true }, - "errorId": { - "description": "The Provider error Id.", - "type": "string" + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } }, - "possibleCauses": { - "description": "The possible causes for the error.", - "type": "string" + "agentUpgradeState": { + "description": "The agent auto upgrade state.", + "enum": [ + "None", + "Started", + "Completed", + "Commit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MobilityAgentUpgradeState", + "modelAsString": true + } }, - "recommendedAction": { - "description": "The recommended action to resolve the error.", - "type": "string" - } - } - }, - "MethodCallStatus": { - "description": "Reports method status where exception was raised.", - "type": "object", - "properties": { - "isVirtual": { - "description": "Gets a value indicating whether called method was virtual", - "type": "string" + "lastAgentUpgradeType": { + "description": "The last agent upgrade type.", + "type": "string", + "readOnly": true + }, + "agentUpgradeJobId": { + "description": "The agent upgrade job Id.", + "type": "string", + "readOnly": true + }, + "agentUpgradeAttemptToVersion": { + "description": "The agent version to which last agent upgrade was attempted.", + "type": "string", + "readOnly": true }, - "parameters": { - "description": "Gets parameter list passed to method.", + "protectedDisks": { + "description": "The list of protected disks.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/InMageRcmProtectedDiskDetails" } }, - "containsGenericParameters": { - "description": "Gets a value indicating whether method container generic params.", - "type": "string" - } - } - }, - "JobQueryParameter": { - "description": "Query parameter to enumerate jobs.", - "type": "object", - "properties": { - "startTime": { - "description": "Date time to get jobs from.", - "type": "string" + "isLastUpgradeSuccessful": { + "description": "A value indicating whether last agent upgrade was successful or not.", + "type": "string", + "readOnly": true }, - "endTime": { - "description": "Date time to get jobs upto.", - "type": "string" + "isAgentRegistrationSuccessfulAfterFailover": { + "description": "A value indicating whether agent registration was successful after failover.", + "type": "boolean", + "readOnly": true }, - "fabricId": { - "description": "The Id of the fabric to search jobs under.", - "type": "string" + "mobilityAgentDetails": { + "$ref": "#/definitions/InMageRcmMobilityAgentDetails", + "description": "The mobility agent information." }, - "affectedObjectTypes": { - "description": "The type of objects.", + "lastAgentUpgradeErrorDetails": { + "description": "The last agent upgrade error information.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/InMageRcmLastAgentUpgradeErrorDetails" } }, - "jobStatus": { - "description": "The states of the job to be filtered can be in.", + "agentUpgradeBlockingErrorDetails": { + "description": "The agent upgrade blocking error information.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/InMageRcmAgentUpgradeBlockingErrorDetails" + } + }, + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicDetails" } + }, + "discoveredVmDetails": { + "$ref": "#/definitions/InMageRcmDiscoveredProtectedVmDetails", + "description": "The discovered VM details." } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "ResumeJobParams": { - "description": "Resume job params.", + "InMageRcmReprotectInput": { + "description": "InMageRcm specific provider input.", + "required": [ + "reprotectAgentId", + "datastoreName", + "logStorageAccountId" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/ResumeJobParamsProperties", - "description": "Resume job properties." + "reprotectAgentId": { + "description": "The reprotect agent Id.", + "type": "string" + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string" + }, + "policyId": { + "description": "The Policy Id.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "ResumeJobParamsProperties": { - "description": "Resume job properties.", + "InMageRcmSyncDetails": { + "description": "InMageRcm disk level sync details.", "type": "object", "properties": { - "comments": { - "description": "Resume job comments.", - "type": "string" + "progressHealth": { + "description": "The progress health.", + "enum": [ + "None", + "InProgress", + "SlowProgress", + "NoProgress", + "Queued" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DiskReplicationProgressHealth", + "modelAsString": true + } + }, + "transferredBytes": { + "format": "int64", + "description": "The transferred bytes from source VM to azure for the disk.", + "type": "integer", + "readOnly": true + }, + "last15MinutesTransferredBytes": { + "format": "int64", + "description": "The bytes transferred in last 15 minutes from source VM to azure.", + "type": "integer", + "readOnly": true + }, + "lastDataTransferTimeUtc": { + "description": "The time of the last data transfer from source VM to azure.", + "type": "string", + "readOnly": true + }, + "processedBytes": { + "format": "int64", + "description": "The total processed bytes. This includes bytes that are transferred from source VM to azure and matched bytes.", + "type": "integer", + "readOnly": true + }, + "startTime": { + "description": "The start time.", + "type": "string", + "readOnly": true + }, + "lastRefreshTime": { + "description": "The last refresh time.", + "type": "string", + "readOnly": true + }, + "progressPercentage": { + "format": "int32", + "description": "Progress in percentage. Progress percentage is calculated based on processed bytes.", + "type": "integer", + "readOnly": true } } }, - "LogicalNetwork": { - "description": "Logical network data model.", + "InMageRcmTestFailoverInput": { + "description": "InMageRcm provider specific input for test failover.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TestFailoverProviderSpecificInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/LogicalNetworkProperties", - "description": "The Logical Network Properties." + "networkId": { + "description": "The test network Id.", + "type": "string" + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "LogicalNetworkProperties": { - "description": "Logical Network Properties.", + "InMageRcmUnplannedFailoverInput": { + "description": "InMageRcm provider specific input for unplanned failover.", + "required": [ + "performShutdown" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" + } + ], "properties": { - "friendlyName": { - "description": "The Friendly Name.", - "type": "string" - }, - "networkVirtualizationStatus": { - "description": "A value indicating whether Network Virtualization is enabled for the logical network.", - "type": "string" - }, - "logicalNetworkUsage": { - "description": "A value indicating whether logical network is used as private test network by test failover.", + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", "type": "string" }, - "logicalNetworkDefinitionsStatus": { - "description": "A value indicating whether logical network definitions are isolated.", + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "LogicalNetworkCollection": { - "description": "List of logical networks.", + "InMageRcmUpdateApplianceForReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update appliance for replication protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput" + } + ], "properties": { - "value": { - "description": "The Logical Networks list details.", - "type": "array", - "items": { - "$ref": "#/definitions/LogicalNetwork" - } - }, - "nextLink": { - "description": "The value of next link.", + "runAsAccountId": { + "description": "The run as account Id.", "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "NetworkMapping": { - "description": "Network Mapping model.\r\n Ideally it should have been possible to inherit this class from prev version in \r\n InheritedModels as long as there is no difference in structure or method signature.\r\n Since there were no base Models for certain fields and methods viz NetworkMappingProperties\r\n and Load with required return type, the class has been introduced in its entirety with \r\n references to base models to facilitate exensions in subsequent versions.", + "InMageRcmUpdateContainerMappingInput": { + "description": "InMageRcm update protection container mapping.", + "required": [ + "enableAgentAutoUpgrade" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/NetworkMappingProperties", - "description": "The Network Mapping Properties." + "enableAgentAutoUpgrade": { + "description": "A value indicating whether agent auto upgrade has to be enabled.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "InMageRcm" }, - "NetworkMappingProperties": { - "description": "Network Mapping Properties.", + "InMageRcmUpdateReplicationProtectedItemInput": { + "description": "InMageRcm provider specific input to update replication protected item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + } + ], "properties": { - "state": { - "description": "The pairing state for network mapping.", + "targetVmName": { + "description": "The target VM name.", "type": "string" }, - "primaryNetworkFriendlyName": { - "description": "The primary network friendly name.", + "targetVmSize": { + "description": "The target VM size.", "type": "string" }, - "primaryNetworkId": { - "description": "The primary network id for network mapping.", + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", "type": "string" }, - "recoveryNetworkFriendlyName": { - "description": "The recovery network friendly name.", + "targetAvailabilityZone": { + "description": "The target availability zone.", "type": "string" }, - "recoveryNetworkId": { - "description": "The recovery network id for network mapping.", + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", "type": "string" }, - "recoveryFabricArmId": { - "description": "The recovery fabric ARM id.", + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", + "targetNetworkId": { + "description": "The target network ARM Id.", "type": "string" }, - "fabricSpecificSettings": { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", - "description": "The fabric specific settings." - } - } - }, - "NetworkMappingFabricSpecificSettings": { - "description": "Network Mapping fabric specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", + "testNetworkId": { + "description": "The test network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/InMageRcmNicInput" + } + }, + "licenseType": { + "description": "The license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "InMageRcm" }, - "CreateNetworkMappingInput": { - "description": "Create network mappings input.", + "InMageReplicationDetails": { + "description": "InMage provider specific settings.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreateNetworkMappingInputProperties", - "description": "Properties." + "allOf": [ + { + "$ref": "#/definitions/ReplicationProviderSpecificSettings" } - } - }, - "CreateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", - "type": "object", + ], "properties": { - "recoveryFabricName": { - "description": "Recovery fabric Name.", + "activeSiteType": { + "description": "The active location of the VM. If the VM is being protected from Azure, this field will take values from { Azure, OnPrem }. If the VM is being protected between two data-centers, this field will be OnPrem always.", "type": "string" }, - "recoveryNetworkId": { - "description": "Recovery network Id.", + "sourceVmCpuCount": { + "format": "int32", + "description": "The CPU count of the VM on the primary side.", + "type": "integer" + }, + "sourceVmRamSizeInMB": { + "format": "int32", + "description": "The RAM size of the VM on the primary side.", + "type": "integer" + }, + "osDetails": { + "$ref": "#/definitions/OSDiskDetails", + "description": "The OS details." + }, + "protectionStage": { + "description": "The protection stage.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput", - "description": "Fabric specific input properties." - } - } - }, - "FabricSpecificCreateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", - "type": "object", - "properties": { - "instanceType": { - "description": "The instance type.", + "vmId": { + "description": "The virtual machine Id.", "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UpdateNetworkMappingInput": { - "description": "Update network mapping input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateNetworkMappingInputProperties", - "description": "Properties." - } - } - }, - "UpdateNetworkMappingInputProperties": { - "description": "Common input details for network mapping operation.", - "type": "object", - "properties": { - "recoveryFabricName": { - "description": "Recovery fabric name.", + }, + "vmProtectionState": { + "description": "The protection state for the vm.", + "type": "string" + }, + "vmProtectionStateDescription": { + "description": "The protection state description for the vm.", + "type": "string" + }, + "resyncDetails": { + "$ref": "#/definitions/InitialReplicationDetails", + "description": "The resync details of the machine." + }, + "retentionWindowStart": { + "format": "date-time", + "description": "The retention window start time.", + "type": "string" + }, + "retentionWindowEnd": { + "format": "date-time", + "description": "The retention window end time.", + "type": "string" + }, + "compressedDataRateInMB": { + "format": "double", + "description": "The compressed data change rate in MB.", + "type": "number" + }, + "uncompressedDataRateInMB": { + "format": "double", + "description": "The uncompressed data change rate in MB.", + "type": "number" + }, + "rpoInSeconds": { + "format": "int64", + "description": "The RPO in seconds.", + "type": "integer" + }, + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageProtectedDiskDetails" + } + }, + "ipAddress": { + "description": "The source IP address.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the source server.", + "type": "string" + }, + "processServerId": { + "description": "The process server Id.", + "type": "string" + }, + "masterTargetId": { + "description": "The master target Id.", + "type": "string" + }, + "consistencyPoints": { + "description": "The collection of Consistency points.", + "type": "object", + "additionalProperties": { + "format": "date-time", + "type": "string" + } + }, + "diskResized": { + "description": "A value indicating whether any disk is resized for this VM.", "type": "string" }, - "recoveryNetworkId": { - "description": "Recovery network Id.", + "rebootAfterUpdateStatus": { + "description": "A value indicating whether the source server requires a restart after update.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", - "description": "Fabrics specific input network Id." - } - } - }, - "FabricSpecificUpdateNetworkMappingInput": { - "description": "Input details specific to fabrics during Network Mapping.", - "type": "object", - "properties": { - "instanceType": { - "description": "The instance type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "Network": { - "description": "Network model.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/NetworkProperties", - "description": "The Network Properties." - } - } - }, - "NetworkProperties": { - "description": "Network Properties", - "type": "object", - "properties": { - "fabricType": { - "description": "The Fabric Type.", + "multiVmGroupId": { + "description": "The multi vm group Id, if any.", "type": "string" }, - "subnets": { - "description": "The List of subnets.", - "type": "array", - "items": { - "$ref": "#/definitions/Subnet" - } - }, - "friendlyName": { - "description": "The Friendly Name.", + "multiVmGroupName": { + "description": "The multi vm group name, if any.", "type": "string" }, - "networkType": { - "description": "The Network Type.", + "multiVmSyncStatus": { + "description": "A value indicating whether the multi vm sync is enabled or disabled.", "type": "string" - } - } - }, - "Subnet": { - "description": "Subnets of the network.", - "type": "object", - "properties": { - "name": { - "description": "The subnet name.", + }, + "agentDetails": { + "$ref": "#/definitions/InMageAgentDetails", + "description": "The agent details." + }, + "vCenterInfrastructureId": { + "description": "The vCenter infrastructure Id.", "type": "string" }, - "friendlyName": { - "description": "The subnet friendly name.", + "infrastructureVmId": { + "description": "The infrastructure VM Id.", "type": "string" }, - "addressList": { - "description": "The list of addresses for the subnet.", + "vmNics": { + "description": "The PE Network details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/VMNicDetails" } - } - } - }, - "NetworkCollection": { - "description": "List of networks.", - "type": "object", - "properties": { - "value": { - "description": "The Networks list details.", + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine.", + "type": "string" + }, + "azureStorageAccountId": { + "description": "A value indicating the underlying Azure storage account. If the VM is not running in Azure, this value shall be set to null.", + "type": "string" + }, + "datastores": { + "description": "The datastores of the on-premise machine Value can be list of strings that contain datastore names.", "type": "array", "items": { - "$ref": "#/definitions/Network" + "type": "string" } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "OperationsDiscoveryCollection": { - "description": "Collection of ClientDiscovery details.", - "type": "object", - "properties": { - "value": { - "description": "The ClientDiscovery details.", + "validationErrors": { + "description": "The validation errors of the on-premise machine Value can be list of validation errors.", "type": "array", "items": { - "$ref": "#/definitions/OperationsDiscovery" + "$ref": "#/definitions/HealthError" } }, - "nextLink": { - "description": "The value of next link.", + "lastRpoCalculatedTime": { + "format": "date-time", + "description": "The last RPO calculated time.", "type": "string" - } - } - }, - "OperationsDiscovery": { - "description": "Operations discovery class.", - "type": "object", - "properties": { - "name": { - "description": "Name of the API. \r\n The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service.\r\n Examples of operations include: \r\n * Microsoft.Compute/virtualMachine/capture/action \r\n * Microsoft.Compute/virtualMachine/restart/action \r\n * Microsoft.Compute/virtualMachine/write \r\n * Microsoft.Compute/virtualMachine/read \r\n * Microsoft.Compute/virtualMachine/delete \r\n Each action should include, in order: \r\n (1) Resource Provider Namespace \r\n (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) \r\n (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. \r\n If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. \r\n As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. \r\n This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release)", + }, + "lastUpdateReceivedTime": { + "format": "date-time", + "description": "The last update time received from on-prem components.", "type": "string" }, - "display": { - "$ref": "#/definitions/Display", - "description": "Object type" + "replicaId": { + "description": "The replica id of the protected item.", + "type": "string" }, - "origin": { - "description": "Origin.\r\n The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. \r\n Default value is \"user,system\"", + "osVersion": { + "description": "The OS Version of the protected item.", "type": "string" }, - "properties": { - "$ref": "#/definitions/OperationsDiscoveryProperties", - "description": "Properties. Reserved for future use." + "isAdditionalStatsAvailable": { + "description": "A value indicating whether additional IR stats are available or not.", + "type": "boolean" + }, + "totalDataTransferred": { + "format": "int64", + "description": "The total transferred data in bytes.", + "type": "integer" + }, + "totalProgressHealth": { + "description": "The progress health.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "InMage" }, - "Display": { - "description": "Contains the localized display information for this particular operation / action. These value will be used by several clients for \r\n (1) custom role definitions for RBAC; \r\n (2) complex query filters for the event service; and \r\n (3) audit history / records for management operations.", + "InMageReprotectInput": { + "description": "InMageAzureV2 specific provider input.", + "required": [ + "masterTargetId", + "processServerId", + "retentionDrive", + "profileId" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + } + ], "properties": { - "provider": { - "description": "The provider.\r\n The localized friendly form of the resource provider name – it is expected to also include the publisher/company responsible. \r\n It should use Title Casing and begin with \"Microsoft\" for 1st party services. \r\n e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"", + "masterTargetId": { + "description": "The Master Target Id.", "type": "string" }, - "resource": { - "description": "The resource.\r\n The localized friendly form of the resource related to this action/operation – it should match the public documentation for the resource provider. \r\n It should use Title Casing. \r\n This value should be unique for a particular URL type (e.g. nested types should *not* reuse their parent’s display.resource field). \r\n e.g. \"Virtual Machines\" or \"Scheduler Job Collections\", or \"Virtual Machine VM Sizes\" or \"Scheduler Jobs\"", + "processServerId": { + "description": "The Process Server Id.", "type": "string" }, - "operation": { - "description": "The operation.\r\n The localized friendly name for the operation, as it should be shown to the user. \r\n It should be concise (to fit in drop downs) but clear (i.e. self-documenting). \r\n It should use Title Casing. \r\n Prescriptive guidance: Read Create or Update Delete 'ActionName'", + "retentionDrive": { + "description": "The retention drive to use on the MT.", "type": "string" }, - "description": { - "description": "The description.\r\n The localized friendly description for the operation, as it should be shown to the user. \r\n It should be thorough, yet concise – it will be used in tool tips and detailed views. \r\n Prescriptive guidance for namespaces: \r\n Read any 'display.provider' resource \r\n Create or Update any 'display.provider' resource \r\n Delete any 'display.provider' resource \r\n Perform any other action on any 'display.provider' resource \r\n Prescriptive guidance for namespaces: \r\n Read any 'display.resource' Create or Update any 'display.resource' Delete any 'display.resource' 'ActionName' any 'display.resources'", + "runAsAccountId": { + "description": "The CS account Id.", "type": "string" - } - } - }, - "OperationsDiscoveryProperties": { - "description": "ClientDiscovery properties.", - "type": "object", - "properties": {} - }, - "PolicyCollection": { - "description": "Protection Profile Collection details.", - "type": "object", - "properties": { - "value": { - "description": "The policy details.", + }, + "datastoreName": { + "description": "The target datastore name.", + "type": "string" + }, + "diskExclusionInput": { + "$ref": "#/definitions/InMageDiskExclusionInput", + "description": "The enable disk exclusion input." + }, + "profileId": { + "description": "The Policy Id.", + "type": "string" + }, + "disksToInclude": { + "description": "The disks to include list.", "type": "array", "items": { - "$ref": "#/definitions/Policy" + "type": "string" } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" } - } + }, + "x-ms-discriminator-value": "InMage" }, - "Policy": { - "description": "Protection profile details.", + "InMageTestFailoverInput": { + "description": "Provider specific input for InMage test failover.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TestFailoverProviderSpecificInput" } ], "properties": { - "properties": { - "$ref": "#/definitions/PolicyProperties", - "description": "The custom data." - } - } - }, - "PolicyProperties": { - "description": "Protection profile custom data details.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The FriendlyName.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/PolicyProviderSpecificDetails", - "description": "The ReplicationChannelSetting." - } - } - }, - "PolicyProviderSpecificDetails": { - "description": "Base class for Provider specific details for policies.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overridden in derived classes.", + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], "type": "string", - "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "CreatePolicyInput": { - "description": "Protection profile input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreatePolicyInputProperties", - "description": "Policy creation properties." + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to test failover to a particular recovery point. In case of latest recovery point, null should be passed.", + "type": "string" } - } + }, + "x-ms-discriminator-value": "InMage" }, - "CreatePolicyInputProperties": { - "description": "Policy creation properties.", + "InMageUnplannedFailoverInput": { + "description": "Provider specific input for InMage unplanned failover.", "type": "object", - "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." + "allOf": [ + { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput" } - } - }, - "PolicyProviderSpecificInput": { - "description": "Base class for provider specific input", - "type": "object", + ], "properties": { - "instanceType": { - "description": "The class type.", + "recoveryPointType": { + "description": "The recovery point type. Values from LatestTime, LatestTag or Custom. In the case of custom, the recovery point provided by RecoveryPointId will be used. In the other two cases, recovery point id will be ignored.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPointType", + "modelAsString": true + } + }, + "recoveryPointId": { + "description": "The recovery point id to be passed to failover to a particular recovery point. In case of latest recovery point, null should be passed.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "InMage" }, - "UpdatePolicyInput": { - "description": "Update protection profile input.", + "InMageVolumeExclusionOptions": { + "description": "Guest disk signature based disk exclusion option when doing enable protection of virtual machine in InMage provider.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/UpdatePolicyInputProperties", - "description": "The ReplicationProviderSettings." + "volumeLabel": { + "description": "The volume label. The disk having any volume with this label will be excluded from replication.", + "type": "string" + }, + "onlyExcludeIfSingleVolume": { + "description": "The value indicating whether to exclude multi volume disk or not. If a disk has multiple volumes and one of the volume has label matching with VolumeLabel this disk will be excluded from replication if OnlyExcludeIfSingleVolume is false.", + "type": "string" } } }, - "UpdatePolicyInputProperties": { - "description": "Policy update properties.", + "InnerHealthError": { + "description": "Implements InnerHealthError class. HealthError object has a list of InnerHealthErrors as child errors. InnerHealthError is used because this will prevent an infinite loop of structures when Hydra tries to auto-generate the contract. We are exposing the related health errors as inner health errors and all API consumers can utilize this in the same fashion as Exception -> InnerException.", "type": "object", "properties": { - "replicationProviderSettings": { - "$ref": "#/definitions/PolicyProviderSpecificInput", - "description": "The ReplicationProviderSettings." + "errorSource": { + "description": "Source of error.", + "type": "string" + }, + "errorType": { + "description": "Type of error.", + "type": "string" + }, + "errorLevel": { + "description": "Level of error.", + "type": "string" + }, + "errorCategory": { + "description": "Category of error.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" + }, + "summaryMessage": { + "description": "Summary message of the entity.", + "type": "string" + }, + "errorMessage": { + "description": "Error message.", + "type": "string" + }, + "possibleCauses": { + "description": "Possible causes of error.", + "type": "string" + }, + "recommendedAction": { + "description": "Recommended action to resolve error.", + "type": "string" + }, + "creationTimeUtc": { + "format": "date-time", + "description": "Error creation time (UTC).", + "type": "string" + }, + "recoveryProviderErrorMessage": { + "description": "DRA error message.", + "type": "string" + }, + "entityId": { + "description": "ID of the entity.", + "type": "string" + }, + "errorId": { + "description": "The health error unique id.", + "type": "string" + }, + "customerResolvability": { + "description": "Value indicating whether the health error is customer resolvable.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthErrorCustomerResolvability", + "modelAsString": true + } } } }, - "ProtectableItemCollection": { - "description": "Protectable item collection.", + "InputEndpoint": { "type": "object", "properties": { - "value": { - "description": "The Protectable item details.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectableItem" - } + "endpointName": { + "type": "string" }, - "nextLink": { - "description": "The value of next link.", + "privatePort": { + "format": "int32", + "type": "integer" + }, + "publicPort": { + "format": "int32", + "type": "integer" + }, + "protocol": { "type": "string" } } }, - "ProtectableItem": { - "description": "Replication protected item", + "Job": { + "description": "Job details.", "type": "object", "allOf": [ { @@ -7145,236 +16852,313 @@ ], "properties": { "properties": { - "$ref": "#/definitions/ProtectableItemProperties", + "$ref": "#/definitions/JobProperties", "description": "The custom data." } } }, - "ProtectableItemProperties": { - "description": "Replication protected item custom data details.", + "JobCollection": { + "description": "Collection of jobs.", "type": "object", "properties": { - "friendlyName": { - "description": "The name.", - "type": "string" - }, - "protectionStatus": { - "description": "The protection status.", - "type": "string" - }, - "replicationProtectedItemId": { - "description": "The ARM resource of protected items.", - "type": "string" - }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", - "type": "string" - }, - "protectionReadinessErrors": { - "description": "The Current protection readiness errors.", - "type": "array", - "items": { - "type": "string" - } - }, - "supportedReplicationProviders": { - "description": "The list of replication providers supported for the protectable item.", + "value": { + "description": "The list of jobs.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Job" } }, - "customDetails": { - "$ref": "#/definitions/ConfigurationSettings", - "description": "The Replication provider custom settings." + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "ConfigurationSettings": { - "description": "Replication provider specific settings.", + "JobDetails": { + "description": "Job details based on specific job type.", + "required": [ + "instanceType" + ], "type": "object", "properties": { "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true + "description": "Gets the type of job details (see JobDetailsTypes enum for possible values).", + "type": "string" + }, + "affectedObjectDetails": { + "description": "The affected object properties like source server, source cloud, target server, target cloud etc. based on the workflow object details.", + "type": "object", + "additionalProperties": { + "type": "string" + } } }, "discriminator": "instanceType" }, - "ProtectionContainerMappingCollection": { - "description": "Protection container mapping collection class.", + "JobEntity": { + "description": "This class contains the minimal job details required to navigate to the desired drill down.", "type": "object", "properties": { - "value": { - "description": "List of container mappings.", - "type": "array", - "items": { - "$ref": "#/definitions/ProtectionContainerMapping" - } + "jobId": { + "description": "The job id.", + "type": "string" }, - "nextLink": { - "description": "Link to fetch rest of the data.", + "jobFriendlyName": { + "description": "The job display name.", + "type": "string" + }, + "targetObjectId": { + "description": "The object id.", + "type": "string" + }, + "targetObjectName": { + "description": "The object name.", + "type": "string" + }, + "targetInstanceType": { + "description": "The workflow affected object type.", + "type": "string" + }, + "jobScenarioName": { + "description": "The job name. Enum type ScenarioName.", "type": "string" } } }, - "ProtectionContainerMapping": { - "description": "Protection container mapping object.", + "JobErrorDetails": { + "description": "This class contains the error details per object.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainerMappingProperties", - "description": "The custom data." + "serviceErrorDetails": { + "$ref": "#/definitions/ServiceError", + "description": "The Service error details." + }, + "providerErrorDetails": { + "$ref": "#/definitions/ProviderError", + "description": "The Provider error details." + }, + "errorLevel": { + "description": "Error level of error.", + "type": "string" + }, + "creationTime": { + "format": "date-time", + "description": "The creation time of job error.", + "type": "string" + }, + "taskId": { + "description": "The Id of the task.", + "type": "string" } } }, - "ProtectionContainerMappingProperties": { - "description": "Protection container mapping properties.", + "JobProperties": { + "description": "Job custom data details.", "type": "object", "properties": { - "targetProtectionContainerId": { - "description": "Paired protection container ARM ID.", + "activityId": { + "description": "The activity id.", "type": "string" }, - "targetProtectionContainerFriendlyName": { - "description": "Friendly name of paired container.", + "scenarioName": { + "description": "The ScenarioName.", + "type": "string" + }, + "friendlyName": { + "description": "The DisplayName.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", - "description": "Provider specific provider details." + "state": { + "description": "The status of the Job. It is one of these values - NotStarted, InProgress, Succeeded, Failed, Cancelled, Suspended or Other.", + "type": "string" }, - "health": { - "description": "Health of pairing.", + "stateDescription": { + "description": "The description of the state of the Job. For e.g. - For Succeeded state, description can be Completed, PartiallySucceeded, CompletedWithInformation or Skipped.", "type": "string" }, - "healthErrorDetails": { - "description": "Health error.", + "tasks": { + "description": "The tasks.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/ASRTask" } }, - "policyId": { - "description": "Policy ARM Id.", - "type": "string" + "errors": { + "description": "The errors.", + "type": "array", + "items": { + "$ref": "#/definitions/JobErrorDetails" + } }, - "state": { - "description": "Association Status", + "startTime": { + "format": "date-time", + "description": "The start time.", "type": "string" }, - "sourceProtectionContainerFriendlyName": { - "description": "Friendly name of source protection container.", + "endTime": { + "format": "date-time", + "description": "The end time.", "type": "string" }, - "sourceFabricFriendlyName": { - "description": "Friendly name of source fabric.", + "allowedActions": { + "description": "The Allowed action the job.", + "type": "array", + "items": { + "type": "string" + } + }, + "targetObjectId": { + "description": "The affected Object Id.", "type": "string" }, - "targetFabricFriendlyName": { - "description": "Friendly name of target fabric.", + "targetObjectName": { + "description": "The name of the affected object.", "type": "string" }, - "policyFriendlyName": { - "description": "Friendly name of replication policy.", + "targetInstanceType": { + "description": "The type of the affected object which is of Microsoft.Azure.SiteRecovery.V2015_11_10.AffectedObjectType class.", "type": "string" + }, + "customDetails": { + "$ref": "#/definitions/JobDetails", + "description": "The custom job details like test failover job details." } } }, - "ProtectionContainerMappingProviderSpecificDetails": { - "description": "Container mapping provider specific details.", + "JobQueryParameter": { + "description": "Query parameter to enumerate jobs.", "type": "object", "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", + "startTime": { + "description": "Date time to get jobs from.", + "type": "string" + }, + "endTime": { + "description": "Date time to get jobs upto.", + "type": "string" + }, + "fabricId": { + "description": "The Id of the fabric to search jobs under.", + "type": "string" + }, + "affectedObjectTypes": { + "description": "The type of objects.", + "type": "string" + }, + "jobStatus": { + "description": "The states of the job to be filtered can be in.", + "type": "string" + }, + "jobOutputType": { + "description": "The output type of the jobs.", + "enum": [ + "Json", + "Xml", + "Excel" + ], "type": "string", - "readOnly": true + "x-ms-enum": { + "name": "ExportJobOutputSerializationType", + "modelAsString": true + } + }, + "jobName": { + "description": "The job Name.", + "type": "string" + }, + "timezoneOffset": { + "format": "double", + "description": "The timezone offset for the location of the request (in minutes).", + "type": "number" } } }, - "CreateProtectionContainerMappingInput": { - "description": "Configure pairing input.", + "JobStatusEventDetails": { + "description": "Model class for event details of a job status event.", "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/CreateProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." + "allOf": [ + { + "$ref": "#/definitions/EventSpecificDetails" } - } - }, - "CreateProtectionContainerMappingInputProperties": { - "description": "Configure pairing input properties.", - "type": "object", + ], "properties": { - "targetProtectionContainerId": { - "description": "The target unique protection container name.", + "jobId": { + "description": "Job arm id for the event.", "type": "string" }, - "PolicyId": { - "description": "Applicable policy.", + "jobFriendlyName": { + "description": "JobName for the Event.", "type": "string" }, - "providerSpecificInput": { - "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput", - "description": "Provider specific input for pairing." - } - } - }, - "ReplicationProviderSpecificContainerMappingInput": { - "description": "Provider specific input for pairing operations.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", + "jobStatus": { + "description": "JobStatus for the Event.", + "type": "string" + }, + "affectedObjectType": { + "description": "AffectedObjectType for the event.", "type": "string" } - } + }, + "x-ms-discriminator-value": "JobStatus" }, - "RemoveProtectionContainerMappingInput": { - "description": "Container unpairing input.", + "JobTaskDetails": { + "description": "This class represents a task which is actually a workflow so that one can navigate to its individual drill down.", + "required": [ + "instanceType" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TaskTypeDetails" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", - "description": "Configure protection input properties." + "jobTask": { + "$ref": "#/definitions/JobEntity", + "description": "The job entity." } - } + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "JobTaskDetails" }, - "RemoveProtectionContainerMappingInputProperties": { - "description": "Unpairing input properties.", + "KeyEncryptionKeyInfo": { + "description": "Key Encryption Key (KEK) information.", "type": "object", "properties": { - "providerSpecificInput": { - "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", - "description": "Provider specific input for unpairing." + "keyIdentifier": { + "description": "The key URL / identifier.", + "type": "string" + }, + "keyVaultResourceArmId": { + "description": "The KeyVault resource ARM Id for key.", + "type": "string" } } }, - "ReplicationProviderContainerUnmappingInput": { - "description": "Provider specific input for unpairing operations.", + "LogicalNetwork": { + "description": "Logical network data model.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" + "properties": { + "$ref": "#/definitions/LogicalNetworkProperties", + "description": "The Logical Network Properties." } } }, - "ProtectionContainerCollection": { - "description": "Protection Container collection.", + "LogicalNetworkCollection": { + "description": "List of logical networks.", "type": "object", "properties": { "value": { - "description": "The Protection Container details.", + "description": "The Logical Networks list details.", "type": "array", "items": { - "$ref": "#/definitions/ProtectionContainer" + "$ref": "#/definitions/LogicalNetwork" } }, "nextLink": { @@ -7383,92 +17167,242 @@ } } }, - "ProtectionContainer": { - "description": "Protection container details.", + "LogicalNetworkProperties": { + "description": "Logical Network Properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkVirtualizationStatus": { + "description": "A value indicating whether Network Virtualization is enabled for the logical network.", + "type": "string" + }, + "logicalNetworkUsage": { + "description": "A value indicating whether logical network is used as private test network by test failover.", + "type": "string" + }, + "logicalNetworkDefinitionsStatus": { + "description": "A value indicating whether logical network definitions are isolated.", + "type": "string" + } + } + }, + "ManualActionTaskDetails": { + "description": "This class represents the manual action task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "properties": { - "$ref": "#/definitions/ProtectionContainerProperties", - "description": "The custom data." + "name": { + "description": "The name.", + "type": "string" + }, + "instructions": { + "description": "The instructions.", + "type": "string" + }, + "observation": { + "description": "The observation.", + "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionTaskDetails" + }, + "MarsAgentDetails": { + "description": "Mars agent details.", + "type": "object", + "properties": { + "id": { + "description": "The Mars agent Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The Mars agent name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The Mars agent Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The Mars agent Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the Mars agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the Mars agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true } } }, - "ProtectionContainerProperties": { - "description": "Protection profile custom data details.", + "MasterTargetServer": { + "description": "Details of a Master Target Server.", "type": "object", "properties": { - "fabricFriendlyName": { - "description": "Fabric friendly name.", + "id": { + "description": "The server Id.", "type": "string" }, - "friendlyName": { - "description": "The name.", + "ipAddress": { + "description": "The IP address of the server.", "type": "string" }, - "fabricType": { - "description": "The fabric type.", + "name": { + "description": "The server name.", "type": "string" }, - "protectedItemCount": { + "osType": { + "description": "The OS type of the server.", + "type": "string" + }, + "agentVersion": { + "description": "The version of the scout component on the server.", + "type": "string" + }, + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from the server.", + "type": "string" + }, + "versionStatus": { + "description": "Version status.", + "type": "string" + }, + "retentionVolumes": { + "description": "The retention volumes of Master target Server.", + "type": "array", + "items": { + "$ref": "#/definitions/RetentionVolume" + } + }, + "dataStores": { + "description": "The list of data stores in the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/DataStore" + } + }, + "validationErrors": { + "description": "Validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "healthErrors": { + "description": "Health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } + }, + "diskCount": { "format": "int32", - "description": "Number of protected PEs", + "description": "Disk count of the master target.", "type": "integer" }, - "pairingStatus": { - "description": "The pairing status of this cloud.", + "osVersion": { + "description": "OS Version of the master target.", "type": "string" }, - "role": { - "description": "The role of this cloud.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" }, - "fabricSpecificDetails": { - "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", - "description": "Fabric specific details." - } - } - }, - "ProtectionContainerFabricSpecificDetails": { - "description": "Base class for fabric specific details of container.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the class type. Overriden in derived classes.", - "type": "string", - "readOnly": true + "marsAgentVersion": { + "description": "MARS agent version.", + "type": "string" + }, + "marsAgentExpiryDate": { + "format": "date-time", + "description": "MARS agent expiry date.", + "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Agent version details." + }, + "marsAgentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "Mars agent version details." } } }, - "CreateProtectionContainerInput": { - "description": "Create protection container input.", + "MigrateInput": { + "description": "Input for migrate.", + "required": [ + "properties" + ], "type": "object", "properties": { "properties": { - "$ref": "#/definitions/CreateProtectionContainerInputProperties", - "description": "Create protection container input properties." + "$ref": "#/definitions/MigrateInputProperties", + "description": "Migrate input properties." } } }, - "CreateProtectionContainerInputProperties": { - "description": "Create protection container input properties.", + "MigrateInputProperties": { + "description": "Migrate input properties.", + "required": [ + "providerSpecificDetails" + ], "type": "object", "properties": { - "providerSpecificInput": { - "description": "Provider specific inputs for container creation.", - "type": "array", - "items": { - "$ref": "#/definitions/ReplicationProviderSpecificContainerCreationInput" - } + "providerSpecificDetails": { + "$ref": "#/definitions/MigrateProviderSpecificInput", + "description": "The provider specific details." } } }, - "ReplicationProviderSpecificContainerCreationInput": { - "description": "Provider specific input for container creation operation.", + "MigrateProviderSpecificInput": { + "description": "Migrate provider specific input.", + "required": [ + "instanceType" + ], "type": "object", "properties": { "instanceType": { @@ -7478,89 +17412,208 @@ }, "discriminator": "instanceType" }, - "DiscoverProtectableItemRequest": { - "description": "Request to add a physical machine as a protectable item in a container.", + "MigrationItem": { + "description": "Migration item.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { "properties": { - "$ref": "#/definitions/DiscoverProtectableItemRequestProperties", - "description": "The properties of a discover protectable item request." + "$ref": "#/definitions/MigrationItemProperties", + "description": "The migration item properties." } } }, - "DiscoverProtectableItemRequestProperties": { - "description": "Discover protectable item properties.", + "MigrationItemCollection": { + "description": "Migration item collection.", "type": "object", "properties": { - "friendlyName": { - "description": "The friendly name of the physical machine.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address of the physical machine to be discovered.", - "type": "string" + "value": { + "description": "The list of migration items.", + "type": "array", + "items": { + "$ref": "#/definitions/MigrationItem" + } }, - "osType": { - "description": "The OS type on the physical machine.", + "nextLink": { + "description": "The value of next link.", "type": "string" } } }, - "SwitchProtectionInput": { - "description": "Switch protection input.", + "MigrationItemProperties": { + "description": "Migration item properties.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/SwitchProtectionInputProperties", - "description": "Switch protection properties" + "machineName": { + "description": "The on-premise virtual machine name.", + "type": "string", + "readOnly": true + }, + "policyId": { + "description": "The ARM Id of policy governing this item.", + "type": "string", + "readOnly": true + }, + "policyFriendlyName": { + "description": "The name of policy governing this item.", + "type": "string", + "readOnly": true + }, + "migrationState": { + "description": "The migration status.", + "enum": [ + "None", + "EnableMigrationInProgress", + "EnableMigrationFailed", + "DisableMigrationInProgress", + "DisableMigrationFailed", + "InitialSeedingInProgress", + "InitialSeedingFailed", + "Replicating", + "MigrationInProgress", + "MigrationSucceeded", + "MigrationFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MigrationState", + "modelAsString": true + } + }, + "migrationStateDescription": { + "description": "The migration state description.", + "type": "string", + "readOnly": true + }, + "lastTestMigrationTime": { + "format": "date-time", + "description": "The last test migration time.", + "type": "string", + "readOnly": true + }, + "lastTestMigrationStatus": { + "description": "The status of the last test migration.", + "type": "string", + "readOnly": true + }, + "testMigrateState": { + "description": "The test migrate state.", + "enum": [ + "None", + "TestMigrationInProgress", + "TestMigrationSucceeded", + "TestMigrationFailed", + "TestMigrationCleanupInProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "TestMigrationState", + "modelAsString": true + } + }, + "testMigrateStateDescription": { + "description": "The test migrate state description.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The consolidated health.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The list of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + }, + "allowedOperations": { + "description": "The allowed operations on the migration item based on the current migration state of the item.", + "type": "array", + "items": { + "enum": [ + "DisableMigration", + "TestMigrate", + "TestMigrateCleanup", + "Migrate", + "StartResync" + ], + "type": "string", + "x-ms-enum": { + "name": "MigrationItemOperation", + "modelAsString": true + } + }, + "readOnly": true + }, + "currentJob": { + "$ref": "#/definitions/CurrentJobDetails", + "description": "The current job details.", + "readOnly": true + }, + "eventCorrelationId": { + "description": "The correlation Id for events associated with this migration item.", + "type": "string", + "readOnly": true + }, + "providerSpecificDetails": { + "$ref": "#/definitions/MigrationProviderSpecificSettings", + "description": "The migration provider custom settings." } } }, - "SwitchProtectionInputProperties": { - "description": "Switch protection input properties.", + "MigrationItemsQueryParameter": { + "description": "Query parameter to enumerate migration items.", "type": "object", "properties": { - "replicationProtectedItemName": { - "description": "The unique replication protected item name.", + "sourceFabricName": { + "description": "The source fabric name filter.", "type": "string" }, - "providerSpecificDetails": { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", - "description": "Provider specific switch protection input." + "sourceContainerName": { + "description": "The source container name filter.", + "type": "string" + }, + "instanceType": { + "description": "The replication provider type.", + "type": "string" } } }, - "SwitchProtectionProviderSpecificInput": { - "description": "Provider specific switch protection input.", + "MigrationProviderSpecificSettings": { + "description": "Migration provider specific settings.", + "required": [ + "instanceType" + ], "type": "object", "properties": { "instanceType": { - "description": "Gets the Instance type.", - "type": "string", - "readOnly": true + "description": "Gets the instance type.", + "type": "string" } }, "discriminator": "instanceType" }, - "RecoveryPlanCollection": { - "description": "Recovery plan collection details.", - "type": "object", - "properties": { - "value": { - "description": "The list of recovery plans.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlan" - } - }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "RecoveryPlan": { - "description": "Recovery plan details.", + "MigrationRecoveryPoint": { + "description": "Recovery point for a migration item.", "type": "object", "allOf": [ { @@ -7569,491 +17622,430 @@ ], "properties": { "properties": { - "$ref": "#/definitions/RecoveryPlanProperties", - "description": "The custom details." + "$ref": "#/definitions/MigrationRecoveryPointProperties", + "description": "Recovery point properties." } } }, - "RecoveryPlanProperties": { - "description": "Recovery plan custom details.", + "MigrationRecoveryPointCollection": { + "description": "Collection of migration recovery points.", "type": "object", "properties": { - "friendlyName": { - "description": "The friendly name.", - "type": "string" - }, - "primaryFabricId": { - "description": "The primary fabric Id.", - "type": "string" - }, - "primaryFabricFriendlyName": { - "description": "The primary fabric friendly name.", - "type": "string" - }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", - "type": "string" - }, - "recoveryFabricFriendlyName": { - "description": "The recovery fabric friendly name.", - "type": "string" - }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", - "type": "string" - }, - "replicationProviders": { - "description": "The list of replication providers.", - "type": "array", - "items": { - "type": "string" - } - }, - "allowedOperations": { - "description": "The list of allowed operations.", + "value": { + "description": "The migration recovery point details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/MigrationRecoveryPoint" } }, - "lastPlannedFailoverTime": { - "format": "date-time", - "description": "The start time of the last planned failover.", - "type": "string" - }, - "lastTestFailoverTime": { - "format": "date-time", - "description": "The start time of the last test failover.", - "type": "string" - }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario details." - }, - "currentScenarioStatus": { - "description": "The recovery plan status.", - "type": "string" - }, - "currentScenarioStatusDescription": { - "description": "The recovery plan status description.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "groups": { - "description": "The recovery plan groups.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanGroup" - } } } }, - "RecoveryPlanGroup": { - "description": "Recovery plan group details.", - "required": [ - "groupType" - ], + "MigrationRecoveryPointProperties": { + "description": "Migration item recovery point properties.", "type": "object", "properties": { - "groupType": { - "description": "The group type.", + "recoveryPointTime": { + "format": "date-time", + "description": "The recovery point time.", + "type": "string", + "readOnly": true + }, + "recoveryPointType": { + "description": "The recovery point type.", "enum": [ - "Shutdown", - "Boot", - "Failover" + "NotSpecified", + "ApplicationConsistent", + "CrashConsistent" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "RecoveryPlanGroupType", - "modelAsString": false - } - }, - "replicationProtectedItems": { - "description": "The list of protected items.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProtectedItem" - } - }, - "startGroupActions": { - "description": "The start group actions.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanAction" - } - }, - "endGroupActions": { - "description": "The end group actions.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanAction" + "name": "MigrationRecoveryPointType", + "modelAsString": true } } } }, - "RecoveryPlanProtectedItem": { - "description": "Recovery plan protected item.", + "MobilityServiceUpdate": { + "description": "The Mobility Service update details.", "type": "object", "properties": { - "id": { - "description": "The ARM Id of the recovery plan protected item.", + "version": { + "description": "The version of the latest update.", "type": "string" }, - "virtualMachineId": { - "description": "The virtual machine Id.", + "rebootStatus": { + "description": "The reboot status of the update - whether it is required or not.", + "type": "string" + }, + "osType": { + "description": "The OS type.", "type": "string" } } }, - "RecoveryPlanAction": { - "description": "Recovery plan action details.", - "required": [ - "actionName", - "failoverTypes", - "failoverDirections", - "customDetails" + "Network": { + "description": "Network model.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } ], + "properties": { + "properties": { + "$ref": "#/definitions/NetworkProperties", + "description": "The Network Properties." + } + } + }, + "NetworkCollection": { + "description": "List of networks.", "type": "object", "properties": { - "actionName": { - "description": "The action name.", - "type": "string" - }, - "failoverTypes": { - "description": "The list of failover types.", - "type": "array", - "items": { - "enum": [ - "ReverseReplicate", - "Commit", - "PlannedFailover", - "UnplannedFailover", - "DisableProtection", - "TestFailover", - "TestFailoverCleanup", - "Failback", - "FinalizeFailback", - "ChangePit", - "RepairReplication", - "SwitchProtection", - "CompleteMigration" - ], - "type": "string", - "x-ms-enum": { - "name": "ReplicationProtectedItemOperation", - "modelAsString": false - } - } - }, - "failoverDirections": { - "description": "The list of failover directions.", + "value": { + "description": "The Networks list details.", "type": "array", "items": { - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } + "$ref": "#/definitions/Network" } }, - "customDetails": { - "$ref": "#/definitions/RecoveryPlanActionDetails", - "description": "The custom details." + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "RecoveryPlanActionDetails": { - "description": "Recovery plan action custom details.", + "NetworkMapping": { + "description": "Network Mapping model. Ideally it should have been possible to inherit this class from prev version in InheritedModels as long as there is no difference in structure or method signature. Since there were no base Models for certain fields and methods viz NetworkMappingProperties and Load with required return type, the class has been introduced in its entirety with references to base models to facilitate extensions in subsequent versions.", "type": "object", - "properties": { - "instanceType": { - "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for\r\n possible values).", - "type": "string", - "readOnly": true + "allOf": [ + { + "$ref": "#/definitions/Resource" } - }, - "discriminator": "instanceType" - }, - "CreateRecoveryPlanInput": { - "description": "Create recovery plan input class.", - "required": [ - "properties" ], - "type": "object", "properties": { "properties": { - "$ref": "#/definitions/CreateRecoveryPlanInputProperties", - "description": "Recovery plan creation properties." + "$ref": "#/definitions/NetworkMappingProperties", + "description": "The Network Mapping Properties." } } }, - "CreateRecoveryPlanInputProperties": { - "description": "Recovery plan creation properties.", - "required": [ - "primaryFabricId", - "recoveryFabricId", - "groups" - ], + "NetworkMappingCollection": { + "description": "List of network mappings. As with NetworkMapping, it should be possible to reuse a prev version of this class. It doesn't seem likely this class could be anything more than a slightly bespoke collection of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead of existing CurrentVersion.NetworkMapping.", "type": "object", "properties": { - "primaryFabricId": { - "description": "The primary fabric Id.", - "type": "string" - }, - "recoveryFabricId": { - "description": "The recovery fabric Id.", - "type": "string" - }, - "failoverDeploymentModel": { - "description": "The failover deployment model.", - "enum": [ - "NotApplicable", - "Classic", - "ResourceManager" - ], - "type": "string", - "x-ms-enum": { - "name": "FailoverDeploymentModel", - "modelAsString": false - } - }, - "groups": { - "description": "The recovery plan groups.", + "value": { + "description": "The Network Mappings list.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "$ref": "#/definitions/NetworkMapping" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "UpdateRecoveryPlanInput": { - "description": "Update recovery plan input class.", + "NetworkMappingFabricSpecificSettings": { + "description": "Network Mapping fabric specific settings.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", - "description": "Recovery plan update properties." + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "NetworkMappingProperties": { + "description": "Network Mapping Properties.", + "type": "object", + "properties": { + "state": { + "description": "The pairing state for network mapping.", + "type": "string" + }, + "primaryNetworkFriendlyName": { + "description": "The primary network friendly name.", + "type": "string" + }, + "primaryNetworkId": { + "description": "The primary network id for network mapping.", + "type": "string" + }, + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", + "type": "string" + }, + "recoveryNetworkFriendlyName": { + "description": "The recovery network friendly name.", + "type": "string" + }, + "recoveryNetworkId": { + "description": "The recovery network id for network mapping.", + "type": "string" + }, + "recoveryFabricArmId": { + "description": "The recovery fabric ARM id.", + "type": "string" + }, + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", + "type": "string" + }, + "fabricSpecificSettings": { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings", + "description": "The fabric specific settings." } } }, - "UpdateRecoveryPlanInputProperties": { - "description": "Recovery plan updation properties.", + "NetworkProperties": { + "description": "Network Properties.", "type": "object", "properties": { - "groups": { - "description": "The recovery plan groups.", + "fabricType": { + "description": "The Fabric Type.", + "type": "string" + }, + "subnets": { + "description": "The List of subnets.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanGroup" + "$ref": "#/definitions/Subnet" } + }, + "friendlyName": { + "description": "The Friendly Name.", + "type": "string" + }, + "networkType": { + "description": "The Network Type.", + "type": "string" } } }, - "RecoveryPlanPlannedFailoverInput": { - "description": "Recovery plan planned failover input.", + "NewProtectionProfile": { + "description": "New Protection profile input.", "required": [ - "properties" + "policyName", + "multiVmSyncStatus" ], "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", - "description": "The recovery plan planned failover input properties." + "allOf": [ + { + "$ref": "#/definitions/ProtectionProfileCustomDetails" } - } - }, - "RecoveryPlanPlannedFailoverInputProperties": { - "description": "Recovery plan planned failover input properties.", - "required": [ - "failoverDirection" ], - "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", + "policyName": { + "description": "The protection profile input.", + "type": "string" + }, + "recoveryPointHistory": { + "format": "int32", + "description": "The duration in minutes until which the recovery points need to be stored.", + "type": "integer" + }, + "crashConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The crash consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "appConsistentFrequencyInMinutes": { + "format": "int32", + "description": "The app consistent snapshot frequency (in minutes).", + "type": "integer" + }, + "multiVmSyncStatus": { + "description": "A value indicating whether multi-VM sync has to be enabled. Value should be 'Enabled' or 'Disabled'.", "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" + "Enable", + "Disable" ], "type": "string", "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "name": "SetMultiVmSyncStatus", + "modelAsString": true } } - } + }, + "x-ms-discriminator-value": "New" }, - "RecoveryPlanProviderSpecificFailoverInput": { - "description": "Recovery plan provider specific failover input base class.", + "NewRecoveryVirtualNetwork": { + "description": "Recovery virtual network input to create new virtual network from given source network.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryVirtualNetworkCustomDetails" + } + ], "properties": { - "instanceType": { - "description": "The class type.", + "recoveryVirtualNetworkResourceGroupName": { + "description": "The name of the resource group to be used to create the recovery virtual network. If absent, target network would be created in the same resource group as target VM.", + "type": "string" + }, + "recoveryVirtualNetworkName": { + "description": "The recovery virtual network name.", "type": "string" } }, - "discriminator": "instanceType" + "x-ms-discriminator-value": "New" }, - "RecoveryPlanUnplannedFailoverInput": { - "description": "Recovery plan unplanned failover input.", - "required": [ - "properties" - ], + "OperationsDiscovery": { + "description": "Operations discovery class.", "type": "object", "properties": { + "name": { + "description": "Name of the API. The name of the operation being performed on this particular object. It should match the action name that appears in RBAC / the event service. Examples of operations include: * Microsoft.Compute/virtualMachine/capture/action * Microsoft.Compute/virtualMachine/restart/action * Microsoft.Compute/virtualMachine/write * Microsoft.Compute/virtualMachine/read * Microsoft.Compute/virtualMachine/delete Each action should include, in order: (1) Resource Provider Namespace (2) Type hierarchy for which the action applies (e.g. server/databases for a SQL Azure database) (3) Read, Write, Action or Delete indicating which type applies. If it is a PUT/PATCH on a collection or named value, Write should be used. If it is a GET, Read should be used. If it is a DELETE, Delete should be used. If it is a POST, Action should be used. As a note: all resource providers would need to include the \"{Resource Provider Namespace}/register/action\" operation in their response. This API is used to register for their service, and should include details about the operation (e.g. a localized name for the resource provider + any special considerations like PII release).", + "type": "string" + }, + "display": { + "$ref": "#/definitions/Display", + "description": "Object type." + }, + "origin": { + "description": "Origin. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is \"user,system\".", + "type": "string" + }, "properties": { - "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", - "description": "The recovery plan unplanned failover input properties." + "$ref": "#/definitions/OperationsDiscoveryProperties", + "description": "Properties. Reserved for future use." } } }, - "RecoveryPlanUnplannedFailoverInputProperties": { - "description": "Recovery plan unplanned failover input properties.", - "required": [ - "failoverDirection", - "sourceSiteOperations" - ], + "OperationsDiscoveryCollection": { + "description": "Collection of ClientDiscovery details.", "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "sourceSiteOperations": { - "description": "A value indicating whether source site operations are required.", - "enum": [ - "Required", - "NotRequired" - ], - "type": "string", - "x-ms-enum": { - "name": "SourceSiteOperations", - "modelAsString": false - } - }, - "providerSpecificDetails": { - "description": "The provider specific properties.", + "value": { + "description": "The ClientDiscovery details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/OperationsDiscovery" } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "RecoveryPlanTestFailoverInput": { - "description": "Recovery plan test failover input.", - "required": [ - "properties" - ], + "OperationsDiscoveryProperties": { + "description": "ClientDiscovery properties.", + "type": "object", + "properties": {} + }, + "OSDetails": { + "description": "Disk Details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", - "description": "The recovery plan test failover input properties." + "osType": { + "description": "VM Disk details.", + "type": "string" + }, + "productType": { + "description": "Product type.", + "type": "string" + }, + "osEdition": { + "description": "The OSEdition.", + "type": "string" + }, + "oSVersion": { + "description": "The OS Version.", + "type": "string" + }, + "oSMajorVersion": { + "description": "The OS Major Version.", + "type": "string" + }, + "oSMinorVersion": { + "description": "The OS Minor Version.", + "type": "string" } } }, - "RecoveryPlanTestFailoverInputProperties": { - "description": "Recovery plan test failover input properties.", - "required": [ - "failoverDirection", - "networkType" - ], + "OSDiskDetails": { + "description": "Details of the OS Disk.", "type": "object", "properties": { - "failoverDirection": { - "description": "The failover direction.", - "enum": [ - "PrimaryToRecovery", - "RecoveryToPrimary" - ], - "type": "string", - "x-ms-enum": { - "name": "PossibleOperationsDirections", - "modelAsString": false - } - }, - "networkType": { - "description": "The network type to be used for test failover.", + "osVhdId": { + "description": "The id of the disk containing the OS.", "type": "string" }, - "networkId": { - "description": "The Id of the network to be used for test failover.", + "osType": { + "description": "The type of the OS on the VM.", "type": "string" }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", + "vhdName": { + "description": "The OS disk VHD name.", + "type": "string" + } + } + }, + "OSVersionWrapper": { + "description": "Wrapper model for OSVersion to include version and service pack info.", + "type": "object", + "properties": { + "version": { + "description": "The version.", "type": "string" }, - "providerSpecificDetails": { - "description": "The provider specific properties.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } + "servicePack": { + "description": "The service pack.", + "type": "string" } } }, - "RecoveryPlanTestFailoverCleanupInput": { - "description": "Recovery plan test failover cleanup input.", - "required": [ - "properties" - ], + "PlannedFailoverInput": { + "description": "Input definition for planned failover.", "type": "object", "properties": { "properties": { - "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", - "description": "The recovery plan test failover cleanup input properties." + "$ref": "#/definitions/PlannedFailoverInputProperties", + "description": "Planned failover input properties." } } }, - "RecoveryPlanTestFailoverCleanupInputProperties": { - "description": "Recovery plan test failover cleanup input properties.", + "PlannedFailoverInputProperties": { + "description": "Input definition for planned failover input properties.", "type": "object", "properties": { - "comments": { - "description": "The test failover cleanup comments.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/PlannedFailoverProviderSpecificFailoverInput", + "description": "Provider specific settings." } } }, - "RecoveryPointCollection": { - "description": "Collection of recovery point details.", + "PlannedFailoverProviderSpecificFailoverInput": { + "description": "Provider specific failover input.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "value": { - "description": "The recovery point details.", - "type": "array", - "items": { - "$ref": "#/definitions/RecoveryPoint" - } - }, - "nextLink": { - "description": "The value of next link.", + "instanceType": { + "description": "The class type.", "type": "string" } - } + }, + "discriminator": "instanceType" }, - "RecoveryPoint": { - "description": "Base class representing a recovery point.", + "Policy": { + "description": "Protection profile details.", "type": "object", "allOf": [ { @@ -8062,35 +18054,20 @@ ], "properties": { "properties": { - "$ref": "#/definitions/RecoveryPointProperties", - "description": "Recovery point related data." - } - } - }, - "RecoveryPointProperties": { - "description": "Recovery point properties.", - "type": "object", - "properties": { - "recoveryPointTime": { - "format": "date-time", - "description": "The recovery point time.", - "type": "string" - }, - "recoveryPointType": { - "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", - "type": "string" + "$ref": "#/definitions/PolicyProperties", + "description": "The custom data." } } }, - "RecoveryServicesProviderCollection": { - "description": "Collection of providers.", + "PolicyCollection": { + "description": "Protection Profile Collection details.", "type": "object", "properties": { "value": { - "description": "The Servers details.", + "description": "The policy details.", "type": "array", "items": { - "$ref": "#/definitions/RecoveryServicesProvider" + "$ref": "#/definitions/Policy" } }, "nextLink": { @@ -8099,689 +18076,605 @@ } } }, - "RecoveryServicesProvider": { - "description": "Provider details.", + "PolicyProperties": { + "description": "Protection profile custom data details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" + "properties": { + "friendlyName": { + "description": "The FriendlyName.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/PolicyProviderSpecificDetails", + "description": "The ReplicationChannelSetting." } + } + }, + "PolicyProviderSpecificDetails": { + "description": "Base class for Provider specific details for policies.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/RecoveryServicesProviderProperties", - "description": "Provider properties." + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" } - } + }, + "discriminator": "instanceType" }, - "RecoveryServicesProviderProperties": { - "description": "Recovery services provider properties.", + "PolicyProviderSpecificInput": { + "description": "Base class for provider specific input.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "fabricType": { - "description": "Type of the site.", + "instanceType": { + "description": "The class type.", "type": "string" - }, + } + }, + "discriminator": "instanceType" + }, + "ProcessServer": { + "description": "Details of the Process Server.", + "type": "object", + "properties": { "friendlyName": { - "description": "Friendly name of the DRA.", - "type": "string" - }, - "providerVersion": { - "description": "The provider version.", + "description": "The Process Server's friendly name.", "type": "string" }, - "serverVersion": { - "description": "The fabric provider.", + "id": { + "description": "The Process Server Id.", "type": "string" }, - "providerVersionState": { - "description": "DRA version status.", + "ipAddress": { + "description": "The IP address of the server.", "type": "string" }, - "providerVersionExpiryDate": { - "format": "date-time", - "description": "Expiry date if the version is deprecated.", + "osType": { + "description": "The OS type of the server.", "type": "string" }, - "fabricFriendlyName": { - "description": "The fabric friendly name.", + "agentVersion": { + "description": "The version of the scout component on the server.", "type": "string" }, - "lastHeartBeat": { + "lastHeartbeat": { "format": "date-time", - "description": "Time when last heartbeat was sent by the DRA.", + "description": "The last heartbeat received from the server.", "type": "string" }, - "connectionStatus": { - "description": "A value indicating whether DRA is responsive.", + "versionStatus": { + "description": "Version status.", "type": "string" }, - "protectedItemCount": { - "format": "int32", - "description": "Number of protected VMs currently managed by the DRA.", - "type": "integer" - }, - "allowedScenarios": { - "description": "The scenarions allowed on this provider.", + "mobilityServiceUpdates": { + "description": "The list of the mobility service updates available on the Process Server.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/MobilityServiceUpdate" } }, - "healthErrorDetails": { - "description": "The recovery services provider health error details.", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } - } - } - }, - "ReplicationProtectedItem": { - "description": "Replication protected item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "properties": { - "properties": { - "$ref": "#/definitions/ReplicationProtectedItemProperties", - "description": "The custom data." - } - } - }, - "ReplicationProtectedItemProperties": { - "description": "Replication protected item custom data details.", - "type": "object", - "properties": { - "friendlyName": { - "description": "The name.", + "hostId": { + "description": "The agent generated Id.", "type": "string" }, - "protectedItemType": { - "description": "The type of protected item type.", + "machineCount": { + "description": "The servers configured with this PS.", "type": "string" }, - "protectableItemId": { - "description": "The protected item ARM Id.", + "replicationPairCount": { + "description": "The number of replication pairs configured in this PS.", "type": "string" }, - "recoveryServicesProviderId": { - "description": "The recovery provider ARM Id.", + "systemLoad": { + "description": "The percentage of the system load.", "type": "string" }, - "primaryFabricFriendlyName": { - "description": "The friendly name of the primary fabric.", + "systemLoadStatus": { + "description": "The system load status.", "type": "string" }, - "recoveryFabricFriendlyName": { - "description": "The friendly name of recovery fabric.", + "cpuLoad": { + "description": "The percentage of the CPU load.", "type": "string" }, - "recoveryFabricId": { - "description": "The Arm Id of recovery fabric.", + "cpuLoadStatus": { + "description": "The CPU load status.", "type": "string" }, - "primaryProtectionContainerFriendlyName": { - "description": "The name of primary protection container friendly name.", - "type": "string" + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" }, - "recoveryProtectionContainerFriendlyName": { - "description": "The name of recovery container friendly name.", - "type": "string" + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" }, - "protectionState": { - "description": "The protection status.", + "memoryUsageStatus": { + "description": "The memory usage status.", "type": "string" }, - "protectionStateDescription": { - "description": "The protection state description.", - "type": "string" + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" }, - "activeLocation": { - "description": "The Current active location of the PE.", + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", "type": "string" }, - "testFailoverState": { - "description": "The Test failover state.", + "psServiceStatus": { + "description": "The PS service status.", "type": "string" }, - "testFailoverStateDescription": { - "description": "The Test failover state description.", + "sslCertExpiryDate": { + "format": "date-time", + "description": "The PS SSL cert expiry date.", "type": "string" }, - "allowedOperations": { - "description": "The allowed operations on the Replication protected item.", - "type": "array", - "items": { - "type": "string" - } + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" }, - "replicationHealth": { - "description": "The consolidated protection health for the VM taking any issues with SRS\r\n as well as all the replication units associated with the VM's replication group into\r\n account. This is a string representation of the ProtectionHealth enumeration.", + "osVersion": { + "description": "OS Version of the process server. Note: This will get populated if user has CS version greater than 9.12.0.0.", "type": "string" }, - "replicationHealthErrors": { - "description": "List of replication health errors.", + "healthErrors": { + "description": "Health errors.", "type": "array", "items": { "$ref": "#/definitions/HealthError" } }, - "policyId": { - "description": "The ID of Policy governing this PE.", + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" }, - "policyFriendlyName": { - "description": "The name of Policy governing this PE.", - "type": "string" + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." }, - "lastSuccessfulFailoverTime": { - "format": "date-time", - "description": "The Last successful failover time.", - "type": "string" + "health": { + "description": "The health of Process Server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } }, - "lastSuccessfulTestFailoverTime": { + "psStatsRefreshTime": { "format": "date-time", - "description": "The Last successful test failover time.", - "type": "string" + "description": "The process server stats refresh time.", + "type": "string", + "readOnly": true }, - "currentScenario": { - "$ref": "#/definitions/CurrentScenarioDetails", - "description": "The current scenario." + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true }, - "failoverRecoveryPointId": { - "description": "The recovery point ARM Id to which the Vm was failed over.", - "type": "string" + "throughputInMBps": { + "format": "int64", + "description": "The throughput in MBps.", + "type": "integer", + "readOnly": true }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReplicationProviderSpecificSettings", - "description": "The Replication provider custom settings." + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true }, - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" + "throughputStatus": { + "description": "The throughput status.", + "type": "string", + "readOnly": true + }, + "marsCommunicationStatus": { + "description": "The MARS communication status.", + "type": "string", + "readOnly": true + }, + "marsRegistrationStatus": { + "description": "The MARS registration status.", + "type": "string", + "readOnly": true } } }, - "HealthError": { - "description": "The health error class.", + "ProcessServerDetails": { + "description": "Process server details.", "type": "object", "properties": { - "errorLevel": { - "description": "Level of error.", - "type": "string" + "id": { + "description": "The process server Id.", + "type": "string", + "readOnly": true }, - "errorCode": { - "description": "Error code.", - "type": "string" + "name": { + "description": "The process server name.", + "type": "string", + "readOnly": true }, - "errorMessage": { - "description": "Error message.", - "type": "string" + "biosId": { + "description": "The process server Bios Id.", + "type": "string", + "readOnly": true }, - "possibleCauses": { - "description": "Possible causes of error.", - "type": "string" + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true }, - "recommendedAction": { - "description": "Recommended action to resolve error.", - "type": "string" + "fqdn": { + "description": "The process server Fqdn.", + "type": "string", + "readOnly": true }, - "creationTimeUtc": { + "ipAddresses": { + "description": "The list of IP addresses for communicating with the RCM component.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { "format": "date-time", - "description": "Error creation time (UTC)", - "type": "string" + "description": "The last heartbeat received from the process server.", + "type": "string", + "readOnly": true }, - "recoveryProviderErrorMessage": { - "description": "DRA error message.", - "type": "string" + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer", + "readOnly": true }, - "entityId": { - "description": "ID of the entity.", - "type": "string" - } - } - }, - "CurrentScenarioDetails": { - "description": "Current scenario details of the protected entity.", - "type": "object", - "properties": { - "scenarioName": { - "description": "Scenario name.", - "type": "string" + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer", + "readOnly": true }, - "jobId": { - "description": "ARM Id of the job being executed.", - "type": "string" + "usedMemoryInBytes": { + "format": "int64", + "description": "The used memory.", + "type": "integer", + "readOnly": true }, - "startTime": { - "format": "date-time", - "description": "Start time of the workflow.", - "type": "string" - } - } - }, - "ReplicationProviderSpecificSettings": { - "description": "Replication provider specific settings.", - "type": "object", - "properties": { - "instanceType": { - "description": "Gets the Instance type.", - "type": "string", + "memoryUsagePercentage": { + "format": "double", + "description": "The memory usage percentage.", + "type": "number", "readOnly": true - } - }, - "discriminator": "instanceType" - }, - "EnableProtectionInput": { - "description": "Enable protection input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/EnableProtectionInputProperties", - "description": "Enable protection input properties." - } - } - }, - "EnableProtectionInputProperties": { - "description": "Enable protection input properties.", - "type": "object", - "properties": { - "policyId": { - "description": "The Policy Id.", - "type": "string" }, - "protectableItemId": { - "description": "The protectable item Id.", - "type": "string" + "totalSpaceInBytes": { + "format": "int64", + "description": "The total disk space.", + "type": "integer", + "readOnly": true }, - "providerSpecificDetails": { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput", - "description": "The ReplicationProviderInput.\r\n For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object.\r\n For San provider, it will be SanEnableProtectionInput object.\r\n For HyperVReplicaAzure provider, it can be null." - } - } - }, - "EnableProtectionProviderSpecificInput": { - "description": "Enable protection provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UpdateReplicationProtectedItemInput": { - "description": "Update replication protected item input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", - "description": "Update replication protected item properties." - } - } - }, - "UpdateReplicationProtectedItemInputProperties": { - "description": "Update protected item input properties.", - "type": "object", - "properties": { - "recoveryAzureVMName": { - "description": "Target azure VM name given by the user.", - "type": "string" + "availableSpaceInBytes": { + "format": "int64", + "description": "The available disk space.", + "type": "integer", + "readOnly": true }, - "recoveryAzureVMSize": { - "description": "Target Azure Vm size.", - "type": "string" + "usedSpaceInBytes": { + "format": "int64", + "description": "The used disk space.", + "type": "integer", + "readOnly": true }, - "selectedRecoveryAzureNetworkId": { - "description": "Target Azure Network Id.", - "type": "string" + "freeSpacePercentage": { + "format": "double", + "description": "The free disk space percentage.", + "type": "number", + "readOnly": true }, - "enableRDPOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover.\r\n String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" + "throughputUploadPendingDataInBytes": { + "format": "int64", + "description": "The uploading pending data in bytes.", + "type": "integer", + "readOnly": true }, - "vmNics": { - "description": "The list of vm nic details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicInputDetails" + "throughputInBytes": { + "format": "int64", + "description": "The throughput in bytes.", + "type": "integer", + "readOnly": true + }, + "processorUsagePercentage": { + "format": "double", + "description": "The processor usage percentage.", + "type": "number", + "readOnly": true + }, + "throughputStatus": { + "description": "The throughput status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true } }, - "licenseType": { - "description": "LicenseType.", + "systemLoad": { + "format": "int64", + "description": "The system load.", + "type": "integer", + "readOnly": true + }, + "systemLoadStatus": { + "description": "The system load status.", "enum": [ - "NotSpecified", - "NoLicenseType", - "WindowsServer" + "Healthy", + "Warning", + "Critical", + "Unknown" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "LicenseType", - "modelAsString": false + "name": "RcmComponentStatus", + "modelAsString": true } }, - "recoveryAvailabilitySetId": { - "description": "The target availability set id.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", - "description": "The provider specific input to update replication protected item." - } - } - }, - "VMNicInputDetails": { - "description": "Hyper V VM network input details.", - "type": "object", - "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", - "type": "string" + "diskUsageStatus": { + "description": "The disk usage status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", - "type": "string" + "memoryUsageStatus": { + "description": "The memory usage status.", + "enum": [ + "Healthy", + "Warning", + "Critical", + "Unknown" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RcmComponentStatus", + "modelAsString": true + } }, - "selectionType": { - "description": "Selection type for failover.", - "type": "string" - } - } - }, - "UpdateReplicationProtectedItemProviderInput": { - "description": "Update replication protected item provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "DisableProtectionInput": { - "description": "Disable protection input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/DisableProtectionInputProperties", - "description": "Disable protection input properties." - } - } - }, - "DisableProtectionInputProperties": { - "description": "Disable protection input properties.", - "type": "object", - "properties": { - "disableProtectionReason": { - "description": "Disable protection reason. It can have values NotSpecified/MigrationComplete.", + "processorUsageStatus": { + "description": "The processor usage status.", "enum": [ - "NotSpecified", - "MigrationComplete" + "Healthy", + "Warning", + "Critical", + "Unknown" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "DisableProtectionReason", - "modelAsString": false + "name": "RcmComponentStatus", + "modelAsString": true } }, - "replicationProviderInput": { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput", - "description": "Replication provider specific input." - } - } - }, - "DisableProtectionProviderSpecificInput": { - "description": "Disable protection provider specific input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "PlannedFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/PlannedFailoverInputProperties", - "description": "Planned failover input properties" - } - } - }, - "PlannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" + "health": { + "description": "The health of the process server.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" - } - } - }, - "ProviderSpecificFailoverInput": { - "description": "Provider specific failover input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UnplannedFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/UnplannedFailoverInputProperties", - "description": "Planned failover input properties" - } - } - }, - "UnplannedFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true }, - "sourceSiteOperations": { - "description": "Source site operations status", - "type": "string" + "protectedItemCount": { + "format": "int32", + "description": "The protected item count.", + "type": "integer", + "readOnly": true }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" - } - } - }, - "TestFailoverInput": { - "description": "Input definition for planned failover.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverInputProperties", - "description": "Planned failover input properties" + "historicHealth": { + "description": "The historic health of the process server based on the health in last 24 hours.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } } } }, - "TestFailoverInputProperties": { - "description": "Input definition for planned failover input properties.", + "ProtectableItem": { + "description": "Replication protected item.", "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" - }, - "networkType": { - "description": "Network type to be used for test failover.", - "type": "string" - }, - "networkId": { - "description": "The id of the network to be used for test failover", - "type": "string" - }, - "skipTestFailoverCleanup": { - "description": "A value indicating whether the test failover cleanup is to be skipped.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ProviderSpecificFailoverInput", - "description": "Provider specific settings" + "allOf": [ + { + "$ref": "#/definitions/Resource" } - } - }, - "TestFailoverCleanupInput": { - "description": "Input definition for test failover cleanup.", - "required": [ - "properties" ], - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/TestFailoverCleanupInputProperties", - "description": "Test failover cleanup input properties." - } - } - }, - "TestFailoverCleanupInputProperties": { - "description": "Input definition for test failover cleanup input properties.", - "type": "object", - "properties": { - "comments": { - "description": "Test failover cleanup comments.", - "type": "string" - } - } - }, - "ReverseReplicationInput": { - "description": "Reverse replication input.", - "type": "object", - "properties": { - "properties": { - "$ref": "#/definitions/ReverseReplicationInputProperties", - "description": "Reverse replication properties" - } - } - }, - "ReverseReplicationInputProperties": { - "description": "Reverse replication input properties.", - "type": "object", - "properties": { - "failoverDirection": { - "description": "Failover direction.", - "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", - "description": "Provider specific reverse replication input." - } - } - }, - "ReverseReplicationProviderSpecificInput": { - "description": "Provider specific reverse replication input.", - "type": "object", - "properties": { - "instanceType": { - "description": "The class type.", - "type": "string" - } - }, - "discriminator": "instanceType" - }, - "UpdateMobilityServiceRequest": { - "description": "Request to update the mobility service on a protected item.", - "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", - "description": "The properties of the update mobility service request." + "properties": { + "$ref": "#/definitions/ProtectableItemProperties", + "description": "The custom data." } } }, - "UpdateMobilityServiceRequestProperties": { - "description": "The properties of an update mobility service request.", + "ProtectableItemCollection": { + "description": "Protectable item collection.", "type": "object", "properties": { - "runAsAccountId": { - "description": "The CS run as account Id.", + "value": { + "description": "The Protectable item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectableItem" + } + }, + "nextLink": { + "description": "The value of next link.", "type": "string" } } }, - "ApplyRecoveryPointInput": { - "description": "Input to apply recovery point.", + "ProtectableItemProperties": { + "description": "Replication protected item custom data details.", "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/ApplyRecoveryPointInputProperties", - "description": "The input properties to apply recovery point." + "friendlyName": { + "description": "The name.", + "type": "string" + }, + "protectionStatus": { + "description": "The protection status.", + "type": "string" + }, + "replicationProtectedItemId": { + "description": "The ARM resource of protected items.", + "type": "string" + }, + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", + "type": "string" + }, + "protectionReadinessErrors": { + "description": "The Current protection readiness errors.", + "type": "array", + "items": { + "type": "string" + } + }, + "supportedReplicationProviders": { + "description": "The list of replication providers supported for the protectable item.", + "type": "array", + "items": { + "type": "string" + } + }, + "customDetails": { + "$ref": "#/definitions/ConfigurationSettings", + "description": "The Replication provider custom settings." } } }, - "ApplyRecoveryPointInputProperties": { - "description": "Input properties to apply recovery point.", + "ProtectableItemQueryParameter": { + "description": "Query parameter to enumerate Protectable items.", "type": "object", "properties": { - "recoveryPointId": { - "description": "The recovery point Id.", + "state": { + "description": "State of the Protectable item query filter.", "type": "string" - }, - "providerSpecificDetails": { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput", - "description": "Provider specific input for applying recovery point." } } }, - "ApplyRecoveryPointProviderSpecificInput": { - "description": "Provider specific input for apply recovery point.", + "ProtectedItemsQueryParameter": { + "description": "Query parameter to enumerate protected items.", "type": "object", "properties": { + "sourceFabricName": { + "description": "The source fabric name filter.", + "type": "string" + }, + "recoveryPlanName": { + "description": "The recovery plan filter.", + "type": "string" + }, + "sourceFabricLocation": { + "description": "The source fabric location filter.", + "type": "string" + }, + "fabricObjectId": { + "description": "The fabric object Id filter.", + "type": "string" + }, + "vCenterName": { + "description": "The vCenter name filter.", + "type": "string" + }, "instanceType": { - "description": "The class type.", + "description": "The replication provider type.", "type": "string" - } - }, - "discriminator": "instanceType" - }, - "StorageClassificationCollection": { - "description": "Collection of storage details.", - "type": "object", - "properties": { - "value": { - "description": "The storage details.", - "type": "array", - "items": { - "$ref": "#/definitions/StorageClassification" + }, + "multiVmGroupCreateOption": { + "description": "Whether Multi VM group is auto created or specified by user.", + "enum": [ + "AutoCreated", + "UserSpecified" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmGroupCreateOption", + "modelAsString": true } }, - "nextLink": { - "description": "The value of next link.", + "processServerId": { + "description": "The process server Id filter.", "type": "string" } } }, - "StorageClassification": { - "description": "Storage object definition.", + "ProtectionContainer": { + "description": "Protection container details.", "type": "object", "allOf": [ { @@ -8790,30 +18683,20 @@ ], "properties": { "properties": { - "$ref": "#/definitions/StorageClassificationProperties", - "description": "Proprties of the storage object." - } - } - }, - "StorageClassificationProperties": { - "description": "Storage object properties.", - "type": "object", - "properties": { - "friendlyName": { - "description": "Friendly name of the Storage classification.", - "type": "string" + "$ref": "#/definitions/ProtectionContainerProperties", + "description": "The custom data." } } }, - "StorageClassificationMappingCollection": { - "description": "Collection of storage mapping details.", + "ProtectionContainerCollection": { + "description": "Protection Container collection.", "type": "object", "properties": { "value": { - "description": "The storage details.", + "description": "The Protection Container details.", "type": "array", "items": { - "$ref": "#/definitions/StorageClassificationMapping" + "$ref": "#/definitions/ProtectionContainer" } }, "nextLink": { @@ -8822,1935 +18705,2285 @@ } } }, - "StorageClassificationMapping": { - "description": "Storage mapping object.", + "ProtectionContainerFabricSpecificDetails": { + "description": "Base class for fabric specific details of container.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], "properties": { - "properties": { - "$ref": "#/definitions/StorageClassificationMappingProperties", - "description": "Proprties of the storage mappping object." + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string", + "readOnly": true } } }, - "StorageClassificationMappingProperties": { - "description": "Storage mapping properties.", + "ProtectionContainerMapping": { + "description": "Protection container mapping object.", "type": "object", - "properties": { - "targetStorageClassificationId": { - "description": "Target storage object Id.", - "type": "string" + "allOf": [ + { + "$ref": "#/definitions/Resource" } - } - }, - "StorageClassificationMappingInput": { - "description": "Storage mapping input.", - "type": "object", + ], "properties": { "properties": { - "$ref": "#/definitions/StorageMappingInputProperties", - "description": "Storage mapping input properties." + "$ref": "#/definitions/ProtectionContainerMappingProperties", + "description": "The custom data." } } }, - "StorageMappingInputProperties": { - "description": "Storage mapping input properties.", + "ProtectionContainerMappingCollection": { + "description": "Protection container mapping collection class.", "type": "object", "properties": { - "targetStorageClassificationId": { - "description": "The ID of the storage object.", + "value": { + "description": "List of container mappings.", + "type": "array", + "items": { + "$ref": "#/definitions/ProtectionContainerMapping" + } + }, + "nextLink": { + "description": "Link to fetch rest of the data.", "type": "string" } } }, - "VCenterCollection": { - "description": "Collection of vCenter details.", + "ProtectionContainerMappingProperties": { + "description": "Protection container mapping properties.", "type": "object", "properties": { - "value": { - "description": "The vCenter details.", + "targetProtectionContainerId": { + "description": "Paired protection container ARM ID.", + "type": "string" + }, + "targetProtectionContainerFriendlyName": { + "description": "Friendly name of paired container.", + "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails", + "description": "Provider specific provider details." + }, + "health": { + "description": "Health of pairing.", + "type": "string" + }, + "healthErrorDetails": { + "description": "Health error.", "type": "array", "items": { - "$ref": "#/definitions/VCenter" + "$ref": "#/definitions/HealthError" } }, - "nextLink": { - "description": "The value of next link.", + "policyId": { + "description": "Policy ARM Id.", + "type": "string" + }, + "state": { + "description": "Association Status.", + "type": "string" + }, + "sourceProtectionContainerFriendlyName": { + "description": "Friendly name of source protection container.", + "type": "string" + }, + "sourceFabricFriendlyName": { + "description": "Friendly name of source fabric.", + "type": "string" + }, + "targetFabricFriendlyName": { + "description": "Friendly name of target fabric.", + "type": "string" + }, + "policyFriendlyName": { + "description": "Friendly name of replication policy.", "type": "string" } } }, - "VCenter": { - "description": "vCenter definition.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/Resource" - } + "ProtectionContainerMappingProviderSpecificDetails": { + "description": "Container mapping provider specific details.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/VCenterProperties", - "description": "VCenter related data." + "instanceType": { + "description": "Gets the class type. Overridden in derived classes.", + "type": "string" } - } + }, + "discriminator": "instanceType" }, - "VCenterProperties": { - "description": "vCenter properties.", + "ProtectionContainerProperties": { + "description": "Protection profile custom data details.", "type": "object", "properties": { - "friendlyName": { - "description": "Friendly name of the vCenter.", + "fabricFriendlyName": { + "description": "Fabric friendly name.", "type": "string" }, - "internalId": { - "description": "VCenter internal ID.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The time when the last heartbeat was reveived by vCenter.", + "fabricType": { + "description": "The fabric type.", "type": "string" }, - "discoveryStatus": { - "description": "The VCenter discovery status.", + "protectedItemCount": { + "format": "int32", + "description": "Number of protected PEs.", + "type": "integer" + }, + "pairingStatus": { + "description": "The pairing status of this cloud.", "type": "string" }, - "processServerId": { - "description": "The process server Id.", + "role": { + "description": "The role of this cloud.", "type": "string" }, - "ipAddress": { - "description": "The IP address of the vCenter.", + "fabricSpecificDetails": { + "$ref": "#/definitions/ProtectionContainerFabricSpecificDetails", + "description": "Fabric specific details." + } + } + }, + "ProtectionProfileCustomDetails": { + "description": "Protection Profile custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", "type": "string" + } + }, + "discriminator": "resourceType" + }, + "ProviderError": { + "description": "This class contains the error details per object.", + "type": "object", + "properties": { + "errorCode": { + "format": "int32", + "description": "The Error code.", + "type": "integer" }, - "infrastructureId": { - "description": "The infrastructure Id of vCenter.", + "errorMessage": { + "description": "The Error message.", "type": "string" }, - "port": { - "description": "The port number for discovery.", + "errorId": { + "description": "The Provider error Id.", "type": "string" }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", + "possibleCauses": { + "description": "The possible causes for the error.", "type": "string" }, - "fabricArmResourceName": { - "description": "The ARM resource name of the fabric containing this VCenter.", + "recommendedAction": { + "description": "The recommended action to resolve the error.", "type": "string" } } }, - "AddVCenterRequest": { - "description": "Input required to add vCenter.", + "ProviderSpecificRecoveryPointDetails": { + "description": "Replication provider specific recovery point details.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "properties": { - "$ref": "#/definitions/AddVCenterRequestProperties", - "description": "The properties of an add vCenter request." + "instanceType": { + "description": "Gets the provider type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "PushInstallerDetails": { + "description": "Push installer details.", + "type": "object", + "properties": { + "id": { + "description": "The push installer Id.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The push installer name.", + "type": "string", + "readOnly": true + }, + "biosId": { + "description": "The push installer Bios Id.", + "type": "string", + "readOnly": true + }, + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The push installer Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the push installer.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the push installer.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true } } }, - "AddVCenterRequestProperties": { - "description": "The properties of an add vCenter request.", + "RcmProxyDetails": { + "description": "RCM proxy details.", "type": "object", "properties": { - "friendlyName": { - "description": "The friendly name of the vCenter.", - "type": "string" + "id": { + "description": "The RCM proxy Id.", + "type": "string", + "readOnly": true }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", - "type": "string" + "name": { + "description": "The RCM proxy name.", + "type": "string", + "readOnly": true }, - "processServerId": { - "description": "The process server Id from where the discovery is orchestrated.", - "type": "string" + "biosId": { + "description": "The RCM proxy Bios Id.", + "type": "string", + "readOnly": true }, - "port": { - "description": "The port number for discovery.", - "type": "string" + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true }, - "runAsAccountId": { - "description": "The account Id which has privileges to discover the vCenter.", - "type": "string" + "fqdn": { + "description": "The RCM proxy Fqdn.", + "type": "string", + "readOnly": true + }, + "clientAuthenticationType": { + "description": "The client authentication type.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the RCM proxy.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the RCM proxy.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true } } }, - "UpdateVCenterRequest": { - "description": "Input required to update vCenter.", + "RecoveryAvailabilitySetCustomDetails": { + "description": "Recovery Availability Set custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "resourceType" + }, + "RecoveryPlan": { + "description": "Recovery plan details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "properties": { "properties": { - "$ref": "#/definitions/UpdateVCenterRequestProperties", - "description": "The update VCenter Request Properties." + "$ref": "#/definitions/RecoveryPlanProperties", + "description": "The custom details." } } }, - "UpdateVCenterRequestProperties": { - "description": "The properties of an update vCenter request.", + "RecoveryPlanA2ADetails": { + "description": "Recovery plan A2A specific details.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails" + } + ], "properties": { - "friendlyName": { - "description": "The friendly name of the vCenter.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address of the vCenter to be discovered.", + "primaryZone": { + "description": "The primary zone.", "type": "string" }, - "processServerId": { - "description": "The process server Id from where the update can be orchestrated.", - "type": "string" - }, - "port": { - "description": "The port number for discovery.", - "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id which has priviliges to update the vCenter.", + "recoveryZone": { + "description": "The recovery zone.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "RenewCertificateInput": { - "description": "Certificate renewal input.", + "RecoveryPlanA2AFailoverInput": { + "description": "Recovery plan A2A failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], "properties": { - "properties": { - "$ref": "#/definitions/RenewCertificateInputProperties", - "description": "Renew certificate input properties." + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "A2ARpRecoveryPointType", + "modelAsString": true + } + }, + "cloudServiceCreationOption": { + "description": "A value indicating whether to use recovery cloud service for TFO or not.", + "type": "string" + }, + "multiVmSyncPointOption": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "enum": [ + "UseMultiVmSyncRecoveryPoint", + "UsePerVmRecoveryPoint" + ], + "type": "string", + "x-ms-enum": { + "name": "MultiVmSyncPointOption", + "modelAsString": true + } } - } + }, + "x-ms-discriminator-value": "A2A" }, - "RenewCertificateInputProperties": { - "description": "Renew Certificate input properties.", + "RecoveryPlanA2AInput": { + "description": "Recovery plan A2A input.", "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificInput" + } + ], "properties": { - "renewCertificateType": { - "description": "Renew certificate type.", + "primaryZone": { + "description": "The primary zone.", + "type": "string" + }, + "recoveryZone": { + "description": "The recovery zone.", "type": "string" } - } + }, + "x-ms-discriminator-value": "A2A" }, - "NetworkMappingCollection": { - "description": "List of network mappings.\r\n As with NetworkMapping, it should be possible to reuse a prev version of this class.\r\n It doesn't seem likely this class could be anything more than a slightly bespoke collection\r\n of NetworkMapping. Hence it makes sense to override Load with Base.NetworkMapping instead \r\n of existing CurrentVersion.NetworkMapping.", + "RecoveryPlanAction": { + "description": "Recovery plan action details.", + "required": [ + "actionName", + "failoverTypes", + "failoverDirections", + "customDetails" + ], "type": "object", "properties": { - "value": { - "description": "The Network Mappings list.", + "actionName": { + "description": "The action name.", + "type": "string" + }, + "failoverTypes": { + "description": "The list of failover types.", "type": "array", "items": { - "$ref": "#/definitions/NetworkMapping" + "enum": [ + "ReverseReplicate", + "Commit", + "PlannedFailover", + "UnplannedFailover", + "DisableProtection", + "TestFailover", + "TestFailoverCleanup", + "Failback", + "FinalizeFailback", + "CancelFailover", + "ChangePit", + "RepairReplication", + "SwitchProtection", + "CompleteMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ReplicationProtectedItemOperation", + "modelAsString": true + } } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" - } - } - }, - "ReplicationProtectedItemCollection": { - "description": "Replication protected item collection.", - "type": "object", - "properties": { - "value": { - "description": "The Replication protected item details.", + "failoverDirections": { + "description": "The list of failover directions.", "type": "array", "items": { - "$ref": "#/definitions/ReplicationProtectedItem" + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } } }, - "nextLink": { - "description": "The value of next link.", - "type": "string" + "customDetails": { + "$ref": "#/definitions/RecoveryPlanActionDetails", + "description": "The custom details." } } }, - "ProtectedItemsQueryParameter": { - "description": "Query parameter to enumerate protected items.", + "RecoveryPlanActionDetails": { + "description": "Recovery plan action custom details.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "sourceFabricName": { - "description": "The source fabric name filter.", - "type": "string" - }, - "recoveryPlanName": { - "description": "The recovery plan filter.", + "instanceType": { + "description": "Gets the type of action details (see RecoveryPlanActionDetailsTypes enum for possible values).", "type": "string" } - } + }, + "discriminator": "instanceType" }, - "AzureToAzureNetworkMappingSettings": { - "description": "A2A Network Mapping fabric specific settings.", + "RecoveryPlanAutomationRunbookActionDetails": { + "description": "Recovery plan Automation runbook action details.", + "required": [ + "fabricLocation" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + "$ref": "#/definitions/RecoveryPlanActionDetails" } ], "properties": { - "primaryFabricLocation": { - "description": "The primary fabric location.", + "runbookId": { + "description": "The runbook ARM Id.", "type": "string" }, - "recoveryFabricLocation": { - "description": "The recovery fabric location.", + "timeout": { + "description": "The runbook timeout.", "type": "string" + }, + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": true + } } }, - "x-ms-discriminator-value": "AzureToAzure" - }, - "VmmToAzureNetworkMappingSettings": { - "description": "E2A Network Mapping fabric specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" - }, - "VmmToVmmNetworkMappingSettings": { - "description": "E2E Network Mapping fabric specific settings.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" - } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + "x-ms-discriminator-value": "AutomationRunbookActionDetails" }, - "AzureToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Azure to Azure Network \r\n mapping.", + "RecoveryPlanCollection": { + "description": "Recovery plan collection details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" - } - ], "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", + "value": { + "description": "The list of recovery plans.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlan" + } + }, + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "AzureToAzure" + } }, - "VmmToAzureCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to Vmm to Azure Network \r\n mapping.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" - } + "RecoveryPlanGroup": { + "description": "Recovery plan group details.", + "required": [ + "groupType" ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" - }, - "VmmToVmmCreateNetworkMappingInput": { - "description": "Create network mappings input properties/behaviour specific to vmm to vmm Network mapping.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + "properties": { + "groupType": { + "description": "The group type.", + "enum": [ + "Shutdown", + "Boot", + "Failover" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanGroupType", + "modelAsString": true + } + }, + "replicationProtectedItems": { + "description": "The list of protected items.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanProtectedItem" + } + }, + "startGroupActions": { + "description": "The start group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } + }, + "endGroupActions": { + "description": "The end group actions.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryPlanAction" + } } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + } }, - "AzureToAzureUpdateNetworkMappingInput": { - "description": "Updates network mappings input.", + "RecoveryPlanGroupTaskDetails": { + "description": "This class represents the recovery plan group task.", + "required": [ + "instanceType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/GroupTaskDetails" } ], "properties": { - "primaryNetworkId": { - "description": "The primary azure vnet Id.", + "name": { + "description": "The name.", + "type": "string" + }, + "groupId": { + "description": "The group identifier.", + "type": "string" + }, + "rpGroupType": { + "description": "The group type.", "type": "string" } - }, - "x-ms-discriminator-value": "AzureToAzure" - }, - "VmmToAzureUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to azure.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" - } - ], - "properties": {}, - "x-ms-discriminator-value": "VmmToAzure" + }, + "discriminator": "instanceType", + "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" }, - "VmmToVmmUpdateNetworkMappingInput": { - "description": "Update network mappings input properties/behaviour specific to vmm to vmm.", + "RecoveryPlanHyperVReplicaAzureFailbackInput": { + "description": "Recovery plan HVR Azure failback input.", + "required": [ + "dataSyncOption", + "recoveryVmCreationOption" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], - "properties": {}, - "x-ms-discriminator-value": "VmmToVmm" + "properties": { + "dataSyncOption": { + "description": "The data sync option.", + "enum": [ + "ForDownTime", + "ForSynchronization" + ], + "type": "string", + "x-ms-enum": { + "name": "DataSyncStatus", + "modelAsString": true + } + }, + "recoveryVmCreationOption": { + "description": "The ALR option.", + "enum": [ + "CreateVmIfNotFound", + "NoAction" + ], + "type": "string", + "x-ms-enum": { + "name": "AlternateLocationRecoveryOption", + "modelAsString": true + } + } + }, + "x-ms-discriminator-value": "HyperVReplicaAzureFailback" }, - "AzureFabricSpecificDetails": { - "description": "Azure Fabric Specific Details.", + "RecoveryPlanHyperVReplicaAzureFailoverInput": { + "description": "Recovery plan HVR Azure failover input.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "location": { - "description": "The Location for the Azure fabric.", + "primaryKekCertificatePfx": { + "description": "The primary KEK certificate PFX.", "type": "string" }, - "containerIds": { - "description": "The container Ids for the Azure fabric.", - "type": "array", - "items": { - "type": "string" + "secondaryKekCertificatePfx": { + "description": "The secondary KEK certificate PFX.", + "type": "string" + }, + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "HyperVReplicaAzureRpRecoveryPointType", + "modelAsString": true } } }, - "x-ms-discriminator-value": "Azure" + "x-ms-discriminator-value": "HyperVReplicaAzure" }, - "VmmDetails": { - "description": "VMM fabric specific details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/FabricSpecificDetails" - } + "RecoveryPlanInMageAzureV2FailoverInput": { + "description": "Recovery plan InMageAzureV2 failover input.", + "required": [ + "recoveryPointType" ], - "properties": {}, - "x-ms-discriminator-value": "VMM" - }, - "HyperVSiteDetails": { - "description": "HyperVSite fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], - "properties": {}, - "x-ms-discriminator-value": "HyperVSite" + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageV2RpRecoveryPointType", + "modelAsString": true + } + }, + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", + "type": "string" + } + }, + "x-ms-discriminator-value": "InMageAzureV2" }, - "VMwareDetails": { - "description": "Store the fabric details specific to the VMware fabric.", + "RecoveryPlanInMageFailoverInput": { + "description": "Recovery plan InMage failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } ], "properties": { - "processServers": { - "description": "The list of Process Servers associated with the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/ProcessServer" - } - }, - "masterTargetServers": { - "description": "The list of Master Target servers associated with\r\n the fabric.", - "type": "array", - "items": { - "$ref": "#/definitions/MasterTargetServer" - } - }, - "runAsAccounts": { - "description": "The list of run as accounts created on the server.", - "type": "array", - "items": { - "$ref": "#/definitions/RunAsAccount" - } - }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this CS.", - "type": "string" - }, - "processServerCount": { - "description": "The number of process servers.", - "type": "string" - }, - "agentCount": { - "description": "The number of source and target servers configured to talk to this CS.", - "type": "string" - }, - "protectedServers": { - "description": "The number of protected servers.", - "type": "string" - }, - "systemLoad": { - "description": "The percentage of the system load.", - "type": "string" - }, - "systemLoadStatus": { - "description": "The system load status.", - "type": "string" - }, - "cpuLoad": { - "description": "The percentage of the CPU load.", - "type": "string" - }, - "cpuLoadStatus": { - "description": "The CPU load status.", - "type": "string" - }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" - }, - "availableMemoryInBytes": { - "format": "int64", - "description": "The available memory.", - "type": "integer" - }, - "memoryUsageStatus": { - "description": "The memory usage status.", - "type": "string" - }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" - }, - "availableSpaceInBytes": { - "format": "int64", - "description": "The available space.", - "type": "integer" - }, - "spaceUsageStatus": { - "description": "The space usage status.", - "type": "string" - }, - "webLoad": { - "description": "The web load.", - "type": "string" - }, - "webLoadStatus": { - "description": "The web load status.", - "type": "string" - }, - "databaseServerLoad": { - "description": "The database server load.", - "type": "string" - }, - "databaseServerLoadStatus": { - "description": "The database server load status.", - "type": "string" - }, - "csServiceStatus": { - "description": "The CS service status.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address.", - "type": "string" - }, - "agentVersion": { - "description": "The agent Version.", - "type": "string" - }, - "hostName": { - "description": "The host name.", - "type": "string" - }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from CS server.", - "type": "string" - }, - "versionStatus": { - "description": "Version status", - "type": "string" - }, - "sslCertExpiryDate": { - "format": "date-time", - "description": "CS SSL cert expiry date.", - "type": "string" - }, - "sslCertExpiryRemainingDays": { - "format": "int32", - "description": "CS SSL cert expiry date.", - "type": "integer" - }, - "psTemplateVersion": { - "description": "PS template version.", - "type": "string" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "LatestTime", + "LatestTag", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "RpInMageRecoveryPointType", + "modelAsString": true + } } }, - "x-ms-discriminator-value": "VMware" + "x-ms-discriminator-value": "InMage" }, - "ProcessServer": { - "description": "Details of the Process Server.", + "RecoveryPlanInMageRcmFailbackFailoverInput": { + "description": "Recovery plan InMageRcmFailback failover input.", + "required": [ + "recoveryPointType" + ], "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], "properties": { - "friendlyName": { - "description": "The Process Server's friendly name.", - "type": "string" - }, - "id": { - "description": "The Process Server Id.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address of the server.", - "type": "string" - }, - "osType": { - "description": "The OS type of the server.", - "type": "string" + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "ApplicationConsistent", + "CrashConsistent" + ], + "type": "string", + "x-ms-enum": { + "name": "InMageRcmFailbackRecoveryPointType", + "modelAsString": true + } }, - "agentVersion": { - "description": "The version of the scout component on the server.", + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", "type": "string" + } + }, + "x-ms-discriminator-value": "InMageRcmFailback" + }, + "RecoveryPlanInMageRcmFailoverInput": { + "description": "Recovery plan InMageRcm failover input.", + "required": [ + "recoveryPointType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + } + ], + "properties": { + "recoveryPointType": { + "description": "The recovery point type.", + "enum": [ + "Latest", + "LatestApplicationConsistent", + "LatestCrashConsistent", + "LatestProcessed" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanPointType", + "modelAsString": true + } }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the server.", + "useMultiVmSyncPoint": { + "description": "A value indicating whether multi VM sync enabled VMs should use multi VM sync points for failover.", "type": "string" - }, - "versionStatus": { - "description": "Version status", + } + }, + "x-ms-discriminator-value": "InMageRcm" + }, + "RecoveryPlanManualActionDetails": { + "description": "Recovery plan manual action details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanActionDetails" + } + ], + "properties": { + "description": { + "description": "The manual action description.", "type": "string" + } + }, + "x-ms-discriminator-value": "ManualActionDetails" + }, + "RecoveryPlanPlannedFailoverInput": { + "description": "Recovery plan planned failover input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanPlannedFailoverInputProperties", + "description": "The recovery plan planned failover input properties." + } + } + }, + "RecoveryPlanPlannedFailoverInputProperties": { + "description": "Recovery plan planned failover input properties.", + "required": [ + "failoverDirection" + ], + "type": "object", + "properties": { + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } }, - "mobilityServiceUpdates": { - "description": "The list of the mobility service updates available on the\r\n Process Server.", + "providerSpecificDetails": { + "description": "The provider specific properties.", "type": "array", "items": { - "$ref": "#/definitions/MobilityServiceUpdate" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } - }, - "hostId": { - "description": "The agent generated Id.", - "type": "string" - }, - "machineCount": { - "description": "The servers configured with this PS.", - "type": "string" - }, - "replicationPairCount": { - "description": "The number of replication pairs configured in this PS.", + } + } + }, + "RecoveryPlanProperties": { + "description": "Recovery plan properties.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The friendly name.", "type": "string" }, - "systemLoad": { - "description": "The percentage of the system load.", + "primaryFabricId": { + "description": "The primary fabric Id.", "type": "string" }, - "systemLoadStatus": { - "description": "The system load status.", + "primaryFabricFriendlyName": { + "description": "The primary fabric friendly name.", "type": "string" }, - "cpuLoad": { - "description": "The percentage of the CPU load.", + "recoveryFabricId": { + "description": "The recovery fabric Id.", "type": "string" }, - "cpuLoadStatus": { - "description": "The CPU load status.", + "recoveryFabricFriendlyName": { + "description": "The recovery fabric friendly name.", "type": "string" }, - "totalMemoryInBytes": { - "format": "int64", - "description": "The total memory.", - "type": "integer" - }, - "availableMemoryInBytes": { - "format": "int64", - "description": "The available memory.", - "type": "integer" - }, - "memoryUsageStatus": { - "description": "The memory usage status.", + "failoverDeploymentModel": { + "description": "The failover deployment model.", "type": "string" }, - "totalSpaceInBytes": { - "format": "int64", - "description": "The total space.", - "type": "integer" - }, - "availableSpaceInBytes": { - "format": "int64", - "description": "The available space.", - "type": "integer" - }, - "spaceUsageStatus": { - "description": "The space usage status.", - "type": "string" + "replicationProviders": { + "description": "The list of replication providers.", + "type": "array", + "items": { + "type": "string" + } }, - "psServiceStatus": { - "description": "The PS service status.", - "type": "string" + "allowedOperations": { + "description": "The list of allowed operations.", + "type": "array", + "items": { + "type": "string" + } }, - "sslCertExpiryDate": { + "lastPlannedFailoverTime": { "format": "date-time", - "description": "The PS SSL cert expiry date.", - "type": "string" - }, - "sslCertExpiryRemainingDays": { - "format": "int32", - "description": "CS SSL cert expiry date.", - "type": "integer" - } - } - }, - "MasterTargetServer": { - "description": "Details of a Master Target Server.", - "type": "object", - "properties": { - "id": { - "description": "The server Id.", - "type": "string" - }, - "ipAddress": { - "description": "The IP address of the server.", + "description": "The start time of the last planned failover.", "type": "string" }, - "name": { - "description": "The server name.", + "lastUnplannedFailoverTime": { + "format": "date-time", + "description": "The start time of the last unplanned failover.", "type": "string" }, - "osType": { - "description": "The OS type of the server.", + "lastTestFailoverTime": { + "format": "date-time", + "description": "The start time of the last test failover.", "type": "string" }, - "agentVersion": { - "description": "The version of the scout component on the server.", - "type": "string" + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario details." }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the server.", + "currentScenarioStatus": { + "description": "The recovery plan status.", "type": "string" }, - "versionStatus": { - "description": "Version status", + "currentScenarioStatusDescription": { + "description": "The recovery plan status description.", "type": "string" }, - "retentionVolumes": { - "description": "The retention volumes of Master target Server.", - "type": "array", - "items": { - "$ref": "#/definitions/RetentionVolume" - } - }, - "dataStores": { - "description": "The list of data stores in the fabric.", + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/DataStore" + "$ref": "#/definitions/RecoveryPlanGroup" } }, - "validationErrors": { - "description": "Validation errors.", + "providerSpecificDetails": { + "description": "The provider id and provider specific details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/RecoveryPlanProviderSpecificDetails" } } } }, - "RunAsAccount": { - "description": "CS Accounts Details.", + "RecoveryPlanProtectedItem": { + "description": "Recovery plan protected item.", "type": "object", "properties": { - "accountId": { - "description": "The CS RunAs account Id.", + "id": { + "description": "The ARM Id of the recovery plan protected item.", "type": "string" }, - "accountName": { - "description": "The CS RunAs account name.", + "virtualMachineId": { + "description": "The virtual machine Id.", "type": "string" } } }, - "MobilityServiceUpdate": { - "description": "The Mobility Service update details.", + "RecoveryPlanProviderSpecificDetails": { + "description": "Recovery plan provider specific details.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "version": { - "description": "The version of the latest update.", - "type": "string" - }, - "rebootStatus": { - "description": "The reboot status of the update - whether it is required or not.", - "type": "string" - }, - "osType": { - "description": "The OS type.", + "instanceType": { + "description": "Gets the Instance type.", "type": "string" } - } + }, + "discriminator": "instanceType" }, - "RetentionVolume": { - "description": "The retention details of the MT.", + "RecoveryPlanProviderSpecificFailoverInput": { + "description": "Recovery plan provider specific failover input.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "volumeName": { - "description": "The volume name.", + "instanceType": { + "description": "The class type.", "type": "string" - }, - "capacityInBytes": { - "format": "int64", - "description": "The volume capacity.", - "type": "integer" - }, - "freeSpaceInBytes": { - "format": "int64", - "description": "The free space available in this volume.", - "type": "integer" - }, - "thresholdPercentage": { - "format": "int32", - "description": "The threshold percentage.", - "type": "integer" } - } + }, + "discriminator": "instanceType" }, - "DataStore": { - "description": "The datastore details of the MT.", + "RecoveryPlanProviderSpecificInput": { + "description": "Recovery plan provider specific input base class.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "symbolicName": { - "description": "The symbolic name of data store.", - "type": "string" - }, - "uuid": { - "description": "The uuid of data store.", - "type": "string" - }, - "capacity": { - "description": "The capacity of data store in GBs.", - "type": "string" - }, - "freeSpace": { - "description": "The free space of data store in GBs.", - "type": "string" - }, - "type": { - "description": "The type of data store.", + "instanceType": { + "description": "Gets the Instance type.", "type": "string" } - } + }, + "discriminator": "instanceType" }, - "HyperVReplicaBaseReplicationDetails": { - "description": "Hyper V replica provider specific settings base class.", + "RecoveryPlanScriptActionDetails": { + "description": "Recovery plan script action details.", + "required": [ + "path", + "fabricLocation" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/RecoveryPlanActionDetails" } ], "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "path": { + "description": "The script path.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "timeout": { + "description": "The script timeout.", "type": "string" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vMDiskDetails": { - "description": "VM disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" + "fabricLocation": { + "description": "The fabric location.", + "enum": [ + "Primary", + "Recovery" + ], + "type": "string", + "x-ms-enum": { + "name": "RecoveryPlanActionLocation", + "modelAsString": true } } }, - "x-ms-discriminator-value": "HyperVReplicaBaseReplicationDetails" + "x-ms-discriminator-value": "ScriptActionDetails" }, - "VMNicDetails": { - "description": "Hyper V VM network details.", + "RecoveryPlanShutdownGroupTaskDetails": { + "description": "This class represents the recovery plan shutdown group task details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/RecoveryPlanGroupTaskDetails" + } + ], + "properties": {}, + "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + }, + "RecoveryPlanTestFailoverCleanupInput": { + "description": "Recovery plan test failover cleanup input.", + "required": [ + "properties" + ], "type": "object", "properties": { - "nicId": { - "description": "The nic Id.", - "type": "string" - }, - "replicaNicId": { - "description": "The replica nic Id.", - "type": "string" - }, - "sourceNicArmId": { - "description": "The source nic ARM Id.", - "type": "string" - }, - "vMSubnetName": { - "description": "VM subnet name.", - "type": "string" - }, - "vMNetworkName": { - "description": "VM network name.", - "type": "string" - }, - "recoveryVMNetworkId": { - "description": "Recovery VM network Id.", - "type": "string" - }, - "recoveryVMSubnetName": { - "description": "Recovery VM subnet name.", - "type": "string" - }, - "ipAddressType": { - "description": "Ip address type.", - "type": "string" - }, - "primaryNicStaticIPAddress": { - "description": "Primary nic static IP address.", - "type": "string" - }, - "replicaNicStaticIPAddress": { - "description": "Replica nic static IP address.", - "type": "string" - }, - "selectionType": { - "description": "Selection type for failover.", - "type": "string" + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverCleanupInputProperties", + "description": "The recovery plan test failover cleanup input properties." } } }, - "InitialReplicationDetails": { - "description": "Initial replication details.", + "RecoveryPlanTestFailoverCleanupInputProperties": { + "description": "Recovery plan test failover cleanup input properties.", "type": "object", "properties": { - "initialReplicationType": { - "description": "Initial replication type.", - "type": "string" - }, - "initialReplicationProgressPercentage": { - "description": "The initial replication progress percentage.", + "comments": { + "description": "The test failover cleanup comments.", + "maxLength": 1024, "type": "string" } } }, - "HyperVReplicaReplicationDetails": { - "description": "HyperV replica 2012 replication details.", + "RecoveryPlanTestFailoverInput": { + "description": "Recovery plan test failover input.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanTestFailoverInputProperties", + "description": "The recovery plan test failover input properties." } + } + }, + "RecoveryPlanTestFailoverInputProperties": { + "description": "Recovery plan test failover input properties.", + "required": [ + "failoverDirection", + "networkType" ], + "type": "object", "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true + } }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "networkType": { + "description": "The network type to be used for test failover.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "networkId": { + "description": "The Id of the network to be used for test failover.", "type": "string" }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vMDiskDetails": { - "description": "VM disk details.", + "providerSpecificDetails": { + "description": "The provider specific properties.", + "maxLength": 1, "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVReplicaBlueReplicationDetails": { - "description": "HyperV replica 2012 R2 (Blue) replication details.", + "RecoveryPlanUnplannedFailoverInput": { + "description": "Recovery plan unplanned failover input.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryPlanUnplannedFailoverInputProperties", + "description": "The recovery plan unplanned failover input properties." } + } + }, + "RecoveryPlanUnplannedFailoverInputProperties": { + "description": "Recovery plan unplanned failover input properties.", + "required": [ + "failoverDirection", + "sourceSiteOperations" ], + "type": "object", "properties": { - "lastReplicatedTime": { - "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" + "failoverDirection": { + "description": "The failover direction.", + "enum": [ + "PrimaryToRecovery", + "RecoveryToPrimary" + ], + "type": "string", + "x-ms-enum": { + "name": "PossibleOperationsDirections", + "modelAsString": true } }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" - }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" - }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." + "sourceSiteOperations": { + "description": "A value indicating whether source site operations are required.", + "enum": [ + "Required", + "NotRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "SourceSiteOperations", + "modelAsString": true + } }, - "vMDiskDetails": { - "description": "VM disk details.", + "providerSpecificDetails": { + "description": "The provider specific properties.", + "maxLength": 1, "type": "array", "items": { - "$ref": "#/definitions/DiskDetails" + "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" } } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "HyperVReplicaAzureReplicationDetails": { - "description": "Hyper V Replica Azure provider specific settings.", + "RecoveryPoint": { + "description": "Recovery point.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/Resource" } ], "properties": { - "azureVMDiskDetails": { - "description": "Azure VM Disk details.", + "properties": { + "$ref": "#/definitions/RecoveryPointProperties", + "description": "The recovery point properties." + } + } + }, + "RecoveryPointCollection": { + "description": "Collection of recovery point details.", + "type": "object", + "properties": { + "value": { + "description": "The recovery point details.", "type": "array", "items": { - "$ref": "#/definitions/AzureVmDiskDetails" + "$ref": "#/definitions/RecoveryPoint" } }, - "recoveryAzureVMName": { - "description": "Recovery Azure given name.", - "type": "string" - }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", - "type": "string" - }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", - "type": "string" - }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage acount used for replication.\r\n This will be set to null if no log storage account was provided during enable\r\n protection.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "lastReplicatedTime": { + } + } + }, + "RecoveryPointProperties": { + "description": "Recovery point properties.", + "type": "object", + "properties": { + "recoveryPointTime": { "format": "date-time", - "description": "The Last replication time.", - "type": "string" - }, - "vmId": { - "description": "The virtual machine Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" - }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" - }, - "initialReplicationDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "Initial replication details." - }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } - }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", - "type": "string" - }, - "encryption": { - "description": "The encryption info.", - "type": "string" - }, - "oSDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The operating system info." - }, - "sourceVmRAMSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "sourceVmCPUCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "enableRDPOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover.\r\n String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" - }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", + "description": "The recovery point time.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "recoveryPointType": { + "description": "The recovery point type: ApplicationConsistent, CrashConsistent.", "type": "string" }, - "licenseType": { - "description": "License Type of the VM to be used.", + "providerSpecificDetails": { + "$ref": "#/definitions/ProviderSpecificRecoveryPointDetails", + "description": "The provider specific details for the recovery point." + } + } + }, + "RecoveryProximityPlacementGroupCustomDetails": { + "description": "Recovery Proximity placement group custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "resourceType" }, - "AzureVmDiskDetails": { - "description": "Disk details for E2A provider.", + "RecoveryResourceGroupCustomDetails": { + "description": "Recovery Resource Group custom input.", + "required": [ + "resourceType" + ], "type": "object", "properties": { - "vhdType": { - "description": "VHD type.", - "type": "string" - }, - "vhdId": { - "description": "The VHD id.", - "type": "string" - }, - "vhdName": { - "description": "VHD name.", - "type": "string" - }, - "maxSizeMB": { - "description": "Max side in MB.", - "type": "string" - }, - "targetDiskLocation": { - "description": "Blob uri of the Azure disk.", - "type": "string" - }, - "targetDiskName": { - "description": "The target Azure disk name.", - "type": "string" - }, - "lunId": { - "description": "Ordinal\\LunId of the disk for the Azure VM.", + "resourceType": { + "description": "The class type.", "type": "string" } + }, + "discriminator": "resourceType" + }, + "RecoveryServicesProvider": { + "description": "Provider details.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/RecoveryServicesProviderProperties", + "description": "Provider properties." + } } }, - "InMageAzureV2ReplicationDetails": { - "description": "InMageAzureV2 provider specific settings", + "RecoveryServicesProviderCollection": { + "description": "Collection of providers.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" - } - ], "properties": { - "infrastructureVmId": { - "description": "The infrastructure VM Id.", - "type": "string" - }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", - "type": "string" + "value": { + "description": "The Servers details.", + "type": "array", + "items": { + "$ref": "#/definitions/RecoveryServicesProvider" + } }, - "protectionStage": { - "description": "The protection stage.", + "nextLink": { + "description": "The value of next link.", "type": "string" - }, - "vmId": { - "description": "The virtual machine Id.", + } + } + }, + "RecoveryServicesProviderProperties": { + "description": "Recovery services provider properties.", + "type": "object", + "properties": { + "fabricType": { + "description": "Type of the site.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "friendlyName": { + "description": "Friendly name of the DRA.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "providerVersion": { + "description": "The provider version.", "type": "string" }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" - }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" - }, - "ipAddress": { - "description": "The source IP address.", + "serverVersion": { + "description": "The fabric provider.", "type": "string" }, - "agentVersion": { - "description": "The agent version.", + "providerVersionState": { + "description": "DRA version status.", "type": "string" }, - "isAgentUpdateRequired": { - "description": "A value indicating whether installed agent needs to be updated.", + "providerVersionExpiryDate": { + "format": "date-time", + "description": "Expiry date of the version.", "type": "string" }, - "isRebootAfterUpdateRequired": { - "description": "A value indicating whether the source server requires a restart after\r\n update.", + "fabricFriendlyName": { + "description": "The fabric friendly name.", "type": "string" }, - "lastHeartbeat": { + "lastHeartBeat": { "format": "date-time", - "description": "The last heartbeat received from the source server.", - "type": "string" - }, - "processServerId": { - "description": "The process server Id.", + "description": "Time when last heartbeat was sent by the DRA.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "connectionStatus": { + "description": "A value indicating whether DRA is responsive.", "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", - "type": "string" + "protectedItemCount": { + "format": "int32", + "description": "Number of protected VMs currently managed by the DRA.", + "type": "integer" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi vm sync is enabled or disabled.", - "type": "string" + "allowedScenarios": { + "description": "The scenarios allowed on this provider.", + "type": "array", + "items": { + "type": "string" + } }, - "protectedDisks": { - "description": "The list of protected disks.", + "healthErrorDetails": { + "description": "The recovery services provider health error details.", "type": "array", "items": { - "$ref": "#/definitions/InMageAzureV2ProtectedDiskDetails" + "$ref": "#/definitions/HealthError" } }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "draIdentifier": { + "description": "The DRA Id.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", + "machineId": { + "description": "The machine Id.", "type": "string" }, - "sourceVmCPUCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "sourceVmRAMSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "osType": { - "description": "The type of the OS on the VM.", + "machineName": { + "description": "The machine name.", "type": "string" }, - "vhdName": { - "description": "The OS disk VHD name.", + "biosId": { + "description": "The Bios Id.", "type": "string" }, - "osDiskId": { - "description": "The id of the disk containing the OS.", - "type": "string" + "authenticationIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The authentication identity details." }, - "azureVMDiskDetails": { - "description": "Azure VM Disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/AzureVmDiskDetails" - } + "resourceAccessIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The resource access identity details." }, - "recoveryAzureVMName": { - "description": "Recovery Azure given name.", - "type": "string" + "dataPlaneAuthenticationIdentityDetails": { + "$ref": "#/definitions/IdentityProviderDetails", + "description": "The data plane authentication identity details." }, - "recoveryAzureVMSize": { - "description": "The Recovery Azure VM size.", + "providerVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The provider version details." + } + } + }, + "RecoveryVirtualNetworkCustomDetails": { + "description": "Recovery Virtual network custom input.", + "required": [ + "resourceType" + ], + "type": "object", + "properties": { + "resourceType": { + "description": "The class type.", "type": "string" - }, - "recoveryAzureStorageAccount": { - "description": "The recovery Azure storage account.", + } + }, + "discriminator": "resourceType" + }, + "RemoveDisksInput": { + "description": "Input for remove disk(s) operation.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RemoveDisksInputProperties", + "description": "Remove disk input properties." + } + } + }, + "RemoveDisksInputProperties": { + "description": "Remove Disk input properties.", + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/RemoveDisksProviderSpecificInput", + "description": "The ReplicationProviderInput. For HyperVReplicaAzure provider, it will be AzureEnableProtectionInput object. For San provider, it will be SanEnableProtectionInput object. For HyperVReplicaAzure provider, it can be null." + } + } + }, + "RemoveDisksProviderSpecificInput": { + "description": "Remove Disk provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "recoveryAzureLogStorageAccountId": { - "description": "The ARM id of the log storage acount used for replication.\r\n This will be set to null if no log storage account was provided during enable\r\n protection.", + } + }, + "discriminator": "instanceType" + }, + "RemoveProtectionContainerMappingInput": { + "description": "Container unpairing input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RemoveProtectionContainerMappingInputProperties", + "description": "Configure protection input properties." + } + } + }, + "RemoveProtectionContainerMappingInputProperties": { + "description": "Unpairing input properties.", + "type": "object", + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderContainerUnmappingInput", + "description": "Provider specific input for unpairing." + } + } + }, + "RenewCertificateInput": { + "description": "Certificate renewal input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/RenewCertificateInputProperties", + "description": "Renew certificate input properties." + } + } + }, + "RenewCertificateInputProperties": { + "description": "Renew Certificate input properties.", + "type": "object", + "properties": { + "renewCertificateType": { + "description": "Renew certificate type.", "type": "string" + } + } + }, + "ReplicationAgentDetails": { + "description": "Replication agent details.", + "type": "object", + "properties": { + "id": { + "description": "The replication agent Id.", + "type": "string", + "readOnly": true }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } + "name": { + "description": "The replication agent name.", + "type": "string", + "readOnly": true }, - "selectedRecoveryAzureNetworkId": { - "description": "The selected recovery azure network Id.", - "type": "string" + "biosId": { + "description": "The replication agent Bios Id.", + "type": "string", + "readOnly": true }, - "discoveryType": { - "description": "A value inidicating the discovery type of the machine.\r\n Value can be vCenter or physical.", - "type": "string" + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "The replication agent Fqdn.", + "type": "string", + "readOnly": true + }, + "version": { + "description": "The version.", + "type": "string", + "readOnly": true + }, + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the replication agent.", + "type": "string", + "readOnly": true }, - "enableRDPOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover.\r\n String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" + "health": { + "description": "The health of the replication agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } }, - "datastores": { - "description": "The datastores of the on-premise machine.\r\n Value can be list of strings that contain datastore names.", + "healthErrors": { + "description": "The health errors.", "type": "array", "items": { - "type": "string" - } - }, - "targetVmId": { - "description": "The ARM Id of the target Azure VM.\r\n This value will be null until the VM is failed over.\r\n Only after failure it will be populated with the ARM Id of the Azure VM.", - "type": "string" - }, - "recoveryAzureResourceGroupId": { - "description": "The target resource group Id.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", - "type": "string" + "$ref": "#/definitions/HealthError" + }, + "readOnly": true + } + } + }, + "ReplicationEligibilityResults": { + "description": "Replication eligibility results response model.", + "type": "object", + "properties": { + "name": { + "description": "Gets the name of this object.", + "type": "string", + "readOnly": true }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "type": { + "description": "Gets the object type.", + "type": "string", + "readOnly": true }, - "licenseType": { - "description": "License Type of the VM to be used.", - "type": "string" + "id": { + "description": "Gets Unique ARM identifier for this object.", + "type": "string", + "readOnly": true }, - "validationErrors": { - "description": "The validation errors of the on-premise machine\r\n Value can be list of validation errors.", + "properties": { + "$ref": "#/definitions/ReplicationEligibilityResultsProperties", + "description": "Gets properties model for replication eligibility results API.", + "readOnly": true + } + } + }, + "ReplicationEligibilityResultsCollection": { + "description": "Replication eligibility results collection response model.", + "type": "object", + "properties": { + "value": { + "description": "The replication eligibility results details.", + "uniqueItems": false, "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/ReplicationEligibilityResults" } } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageAzureV2ProtectedDiskDetails": { - "description": "InMageAzureV2 protected disk details.", + "ReplicationEligibilityResultsErrorInfo": { + "description": "Error model that can be exposed to the user.", "type": "object", "properties": { - "diskId": { - "description": "The disk id.", + "code": { + "description": "The error code.", "type": "string" }, - "diskName": { - "description": "The disk name.", + "message": { + "description": "The error message.", "type": "string" }, - "protectionStage": { - "description": "The protection stage.", + "possibleCauses": { + "description": "The possible causes.", "type": "string" }, - "healthErrorCode": { - "description": "The health error code for the disk.", + "recommendedAction": { + "description": "The recommended action.", "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" - }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", + "status": { + "description": "The error status.", + "readOnly": true, "type": "string" - }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" - }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", - "type": "integer" - }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The disk file system capacity in bytes.", - "type": "integer" - }, - "sourceDataInMegaBytes": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" - }, - "psDataInMegaBytes": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" - }, - "targetDataInMegaBytes": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" - }, - "diskResized": { - "description": "A value indicating whether disk is resized.", + } + } + }, + "ReplicationEligibilityResultsProperties": { + "description": "Properties model for replication eligibility results API.", + "type": "object", + "properties": { + "clientRequestId": { + "description": "The client request Id.", + "readOnly": true, "type": "string" + }, + "errors": { + "description": "The error details.", + "type": "array", + "uniqueItems": false, + "items": { + "$ref": "#/definitions/ReplicationEligibilityResultsErrorInfo" + } } } }, - "InMageReplicationDetails": { - "description": "InMage provider specific settings", + "ReplicationGroupDetails": { + "description": "Replication group details. This will be used in case of San.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "$ref": "#/definitions/ConfigurationSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "ReplicationGroupDetails" + }, + "ReplicationProtectedItem": { + "description": "Replication protected item.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" } ], "properties": { - "activeSiteType": { - "description": "The active location of the VM. If the VM is being protected\r\n from Azure, this field will take values from { Azure, OnPrem }. If the VM\r\n is being protected between two data-centers, this field will be OnPrem always.", - "type": "string" - }, - "sourceVmCPUCount": { - "format": "int32", - "description": "The CPU count of the VM on the primary side.", - "type": "integer" - }, - "sourceVmRAMSizeInMB": { - "format": "int32", - "description": "The RAM size of the VM on the primary side.", - "type": "integer" - }, - "osDetails": { - "$ref": "#/definitions/OSDiskDetails", - "description": "The OS details." + "properties": { + "$ref": "#/definitions/ReplicationProtectedItemProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectedItemCollection": { + "description": "Replication protected item collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protected item details.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicationProtectedItem" + } }, - "protectionStage": { - "description": "The protection stage.", + "nextLink": { + "description": "The value of next link.", + "type": "string" + } + } + }, + "ReplicationProtectedItemProperties": { + "description": "Replication protected item custom data details.", + "type": "object", + "properties": { + "friendlyName": { + "description": "The name.", "type": "string" }, - "vmId": { - "description": "The virtual machine Id.", + "protectedItemType": { + "description": "The type of protected item type.", "type": "string" }, - "vmProtectionState": { - "description": "The protection state for the vm.", + "protectableItemId": { + "description": "The protected item ARM Id.", "type": "string" }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", + "recoveryServicesProviderId": { + "description": "The recovery provider ARM Id.", "type": "string" }, - "resyncDetails": { - "$ref": "#/definitions/InitialReplicationDetails", - "description": "The resync details of the machine" + "primaryFabricFriendlyName": { + "description": "The friendly name of the primary fabric.", + "type": "string" }, - "retentionWindowStart": { - "format": "date-time", - "description": "The retention window start time.", + "primaryFabricProvider": { + "description": "The fabric provider of the primary fabric.", "type": "string" }, - "retentionWindowEnd": { - "format": "date-time", - "description": "The retention window end time.", + "recoveryFabricFriendlyName": { + "description": "The friendly name of recovery fabric.", "type": "string" }, - "compressedDataRateInMB": { - "format": "double", - "description": "The compressed data change rate in MB.", - "type": "number" + "recoveryFabricId": { + "description": "The Arm Id of recovery fabric.", + "type": "string" }, - "uncompressedDataRateInMB": { - "format": "double", - "description": "The uncompressed data change rate in MB.", - "type": "number" + "primaryProtectionContainerFriendlyName": { + "description": "The name of primary protection container friendly name.", + "type": "string" }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" + "recoveryProtectionContainerFriendlyName": { + "description": "The name of recovery container friendly name.", + "type": "string" }, - "protectedDisks": { - "description": "The list of protected disks.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageProtectedDiskDetails" - } + "protectionState": { + "description": "The protection status.", + "type": "string" }, - "ipAddress": { - "description": "The source IP address.", + "protectionStateDescription": { + "description": "The protection state description.", "type": "string" }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", + "activeLocation": { + "description": "The Current active location of the PE.", "type": "string" }, - "processServerId": { - "description": "The process server Id.", + "testFailoverState": { + "description": "The Test failover state.", "type": "string" }, - "masterTargetId": { - "description": "The master target Id.", + "testFailoverStateDescription": { + "description": "The Test failover state description.", "type": "string" }, - "consistencyPoints": { - "description": "The collection of Consistency points.", - "type": "object", - "additionalProperties": { - "format": "date-time", + "allowedOperations": { + "description": "The allowed operations on the Replication protected item.", + "type": "array", + "items": { "type": "string" } }, - "diskResized": { - "description": "A value indicating whether any disk is resized for this VM.", + "replicationHealth": { + "description": "The consolidated protection health for the VM taking any issues with SRS as well as all the replication units associated with the VM's replication group into account. This is a string representation of the ProtectionHealth enumeration.", "type": "string" }, - "rebootAfterUpdateStatus": { - "description": "A value indicating whether the source server requires a restart after\r\n update.", + "failoverHealth": { + "description": "The consolidated failover health for the VM.", "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id, if any.", - "type": "string" + "healthErrors": { + "description": "List of health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "multiVmGroupName": { - "description": "The multi vm group name, if any.", + "policyId": { + "description": "The ID of Policy governing this PE.", "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether the multi vm sync is enabled or disabled.", + "policyFriendlyName": { + "description": "The name of Policy governing this PE.", "type": "string" }, - "agentDetails": { - "$ref": "#/definitions/InMageAgentDetails", - "description": "The agent details." - }, - "vCenterInfrastructureId": { - "description": "The vCenter infrastructure Id.", + "lastSuccessfulFailoverTime": { + "format": "date-time", + "description": "The Last successful failover time.", "type": "string" }, - "infrastructureVmId": { - "description": "The infrastructure VM Id.", + "lastSuccessfulTestFailoverTime": { + "format": "date-time", + "description": "The Last successful test failover time.", "type": "string" }, - "vmNics": { - "description": "The PE Network details.", - "type": "array", - "items": { - "$ref": "#/definitions/VMNicDetails" - } + "currentScenario": { + "$ref": "#/definitions/CurrentScenarioDetails", + "description": "The current scenario." }, - "discoveryType": { - "description": "A value inidicating the discovery type of the machine.", + "failoverRecoveryPointId": { + "description": "The recovery point ARM Id to which the Vm was failed over.", "type": "string" }, - "azureStorageAccountId": { - "description": "A value indicating the underlying Azure storage account. If\r\n the VM is not running in Azure, this value shall be set to null.", + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProviderSpecificSettings", + "description": "The Replication provider custom settings." + }, + "recoveryContainerId": { + "description": "The recovery container Id.", "type": "string" }, - "datastores": { - "description": "The datastores of the on-premise machine\r\n Value can be list of strings that contain datastore names", + "eventCorrelationId": { + "description": "The correlation Id for events associated with this protected item.", + "type": "string" + } + } + }, + "ReplicationProtectionIntent": { + "description": "Replication protection intent.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ReplicationProtectionIntentProperties", + "description": "The custom data." + } + } + }, + "ReplicationProtectionIntentCollection": { + "description": "Replication protection intent objects collection.", + "type": "object", + "properties": { + "value": { + "description": "The Replication protection intent details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ReplicationProtectionIntent" } }, - "validationErrors": { - "description": "The validation errors of the on-premise machine\r\n Value can be list of validation errors", - "type": "array", - "items": { - "$ref": "#/definitions/HealthError" - } + "nextLink": { + "description": "The value of next link.", + "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, - "OSDiskDetails": { - "description": "Details of the OS Disk.", + "ReplicationProtectionIntentProperties": { + "description": "Replication protection intent custom data details.", "type": "object", "properties": { - "osVhdId": { - "description": "The id of the disk containing the OS.", + "friendlyName": { + "description": "The name.", "type": "string" }, - "osType": { - "description": "The type of the OS on the VM.", - "type": "string" + "jobId": { + "description": "The job Id.", + "type": "string", + "readOnly": true }, - "vhdName": { - "description": "The OS disk VHD name.", + "jobState": { + "description": "The job state.", + "type": "string", + "readOnly": true + }, + "isActive": { + "description": "A value indicating whether the intent object is active.", + "type": "boolean", + "readOnly": true + }, + "creationTimeUTC": { + "description": "The creation time in UTC.", + "type": "string", + "readOnly": true + }, + "providerSpecificDetails": { + "$ref": "#/definitions/ReplicationProtectionIntentProviderSpecificSettings", + "description": "The Replication provider custom settings." + } + } + }, + "ReplicationProtectionIntentProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderContainerUnmappingInput": { + "description": "Provider specific input for unpairing operations.", + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } } }, - "InMageProtectedDiskDetails": { - "description": "InMage protected disk details.", + "ReplicationProviderSpecificContainerCreationInput": { + "description": "Provider specific input for container creation operation.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "diskId": { - "description": "The disk id.", + "instanceType": { + "description": "The class type.", "type": "string" - }, - "diskName": { - "description": "The disk name.", + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificContainerMappingInput": { + "description": "Provider specific input for pairing operations.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "protectionStage": { - "description": "The protection stage.", + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificSettings": { + "description": "Replication provider specific settings.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", "type": "string" - }, - "healthErrorCode": { - "description": "The health error code for the disk.", + } + }, + "discriminator": "instanceType" + }, + "ReplicationProviderSpecificUpdateContainerMappingInput": { + "description": "Provider specific input for update pairing operations.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" + } + }, + "discriminator": "instanceType" + }, + "ReprotectAgentDetails": { + "description": "Reprotect agent details.", + "type": "object", + "properties": { + "id": { + "description": "The reprotect agent Id.", + "type": "string", + "readOnly": true }, - "rpoInSeconds": { - "format": "int64", - "description": "The RPO in seconds.", - "type": "integer" + "name": { + "description": "The reprotect agent name.", + "type": "string", + "readOnly": true }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "string" + "biosId": { + "description": "The reprotect agent Bios Id.", + "type": "string", + "readOnly": true }, - "resyncProgressPercentage": { - "format": "int32", - "description": "The resync progress percentage.", - "type": "integer" + "fabricObjectId": { + "description": "The fabric object Id.", + "type": "string", + "readOnly": true }, - "resyncDurationInSeconds": { - "format": "int64", - "description": "The resync duration in seconds.", - "type": "integer" + "fqdn": { + "description": "The reprotect agent Fqdn.", + "type": "string", + "readOnly": true }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" + "version": { + "description": "The version.", + "type": "string", + "readOnly": true }, - "fileSystemCapacityInBytes": { - "format": "int64", - "description": "The file system capacity in bytes.", - "type": "integer" + "lastHeartbeatUtc": { + "format": "date-time", + "description": "The last heartbeat received from the reprotect agent.", + "type": "string", + "readOnly": true + }, + "health": { + "description": "The health of the reprotect agent.", + "enum": [ + "None", + "Normal", + "Warning", + "Critical" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProtectionHealth", + "modelAsString": true + } + }, + "healthErrors": { + "description": "The health errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + }, + "readOnly": true }, - "sourceDataInMB": { - "format": "double", - "description": "The source data transit in MB.", - "type": "number" + "protectedItemCount": { + "format": "int32", + "description": "The protected item count.", + "type": "integer", + "readOnly": true }, - "psDataInMB": { - "format": "double", - "description": "The PS data transit in MB.", - "type": "number" + "accessibleDatastores": { + "description": "The list of accessible datastores fetched from discovery.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true }, - "targetDataInMB": { - "format": "double", - "description": "The target data transit in MB.", - "type": "number" + "vcenterId": { + "description": "The Vcenter Id.", + "type": "string", + "readOnly": true }, - "diskResized": { - "description": "A value indicating whether disk is resized.", - "type": "string" + "lastDiscoveryInUtc": { + "format": "date-time", + "description": "The last time when SDS information discovered in SRS.", + "type": "string", + "readOnly": true } } }, - "InMageAgentDetails": { - "description": "The details of the InMage agent.", + "ResolveHealthError": { + "description": "Resolve health errors input properties.", "type": "object", "properties": { - "agentVersion": { - "description": "The agent version.", - "type": "string" - }, - "agentUpdateStatus": { - "description": "A value indicating whether installed agent needs to be updated.", - "type": "string" - }, - "postUpdateRebootStatus": { - "description": "A value indicating whether reboot is required after update is applied.", + "healthErrorId": { + "description": "Health error id.", "type": "string" } } }, - "A2AReplicationDetails": { - "description": "A2A provider specific settings.", + "ResolveHealthInput": { + "description": "Resolve health input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReplicationProviderSpecificSettings" + "properties": { + "properties": { + "$ref": "#/definitions/ResolveHealthInputProperties", + "description": "Disable resolve health input properties." } - ], + } + }, + "ResolveHealthInputProperties": { + "description": "Resolve health input properties.", + "type": "object", "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", - "type": "string" - }, - "multiVmGroupId": { - "description": "The multi vm group Id.", - "type": "string" - }, - "multiVmGroupName": { - "description": "The multi vm group name.", - "type": "string" - }, - "managementId": { - "description": "The management Id.", - "type": "string" - }, - "protectedDisks": { - "description": "The list of protected disks.", + "healthErrors": { + "description": "Health errors.", "type": "array", "items": { - "$ref": "#/definitions/A2AProtectedDiskDetails" + "$ref": "#/definitions/ResolveHealthError" } + } + } + }, + "Resource": { + "description": "Azure resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource Id", + "type": "string", + "readOnly": true }, - "primaryFabricLocation": { - "description": "Primary fabric location.", - "type": "string" - }, - "recoveryFabricLocation": { - "description": "The recovery fabric location.", - "type": "string" - }, - "osType": { - "description": "The type of operating system.", - "type": "string" - }, - "recoveryAzureVMSize": { - "description": "The size of recovery virtual machine.", - "type": "string" - }, - "recoveryAzureVMName": { - "description": "The name of recovery virtual machine.", - "type": "string" - }, - "recoveryAzureResourceGroupId": { - "description": "The recovery resource group.", - "type": "string" - }, - "recoveryCloudService": { - "description": "The recovery cloud service.", - "type": "string" + "name": { + "description": "Resource Name", + "type": "string", + "readOnly": true }, - "recoveryAvailabilitySet": { - "description": "The recovery availability set.", - "type": "string" + "type": { + "description": "Resource Type", + "type": "string", + "readOnly": true }, - "selectedRecoveryAzureNetworkId": { - "description": "The recovery virtual network.", + "location": { + "description": "Resource Location", "type": "string" + } + }, + "x-ms-azure-resource": true + }, + "ResourceHealthSummary": { + "description": "Base class to define the health summary of the resources contained under an Arm resource.", + "type": "object", + "properties": { + "resourceCount": { + "format": "int32", + "description": "The count of total resources under the container.", + "type": "integer" }, - "vmNics": { - "description": "The virtual machine nic details.", + "issues": { + "description": "The list of summary of health errors across the resources under the container.", "type": "array", "items": { - "$ref": "#/definitions/VMNicDetails" + "$ref": "#/definitions/HealthErrorSummary" } }, - "vmSyncedConfigDetails": { - "$ref": "#/definitions/AzureToAzureVmSyncedConfigDetails", - "description": "The synced configuration details." - }, - "monitoringPercentageCompletion": { - "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job\r\n is defined by MonitoringJobType property.", - "type": "integer" - }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in\r\n MonitoringPercentageCompletion property.", - "type": "string" - }, - "lastHeartbeat": { - "format": "date-time", - "description": "The last heartbeat received from the source server.", - "type": "string" - }, - "agentVersion": { - "description": "The agent version.", - "type": "string" - }, - "isReplicationAgentUpdateRequired": { - "description": "A value indicating whether replication agent update is required.", - "type": "boolean" - }, - "recoveryFabricObjectId": { - "description": "The recovery fabric object Id.", - "type": "string" - }, - "vmProtectionState": { - "description": "The protection state for the vm.", - "type": "string" - }, - "vmProtectionStateDescription": { - "description": "The protection state description for the vm.", - "type": "string" - }, - "lifecycleId": { - "description": "An id associated with the PE that survives actions like switch protection\r\n which change the backing PE/CPE objects internally.The lifecycle id gets carried\r\n forward to have a link/continuity in being able to have an Id that denotes the \"same\"\r\n protected item even though other internal Ids/ARM Id might be changing.", - "type": "string" + "categorizedResourceCounts": { + "description": "The categorized resource counts.", + "type": "object", + "additionalProperties": { + "format": "int32", + "type": "integer" + } } - }, - "x-ms-discriminator-value": "A2A" + } }, - "A2AProtectedDiskDetails": { - "description": "A2A protected disk details.", + "ResumeJobParams": { + "description": "Resume job params.", "type": "object", "properties": { - "diskUri": { - "description": "The disk uri.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "diskCapacityInBytes": { - "format": "int64", - "description": "The disk capacity in bytes.", - "type": "integer" - }, - "recoveryAzureStorageAccountId": { - "description": "The recovery disk storage account.", - "type": "string" - }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account.", + "properties": { + "$ref": "#/definitions/ResumeJobParamsProperties", + "description": "Resume job properties." + } + } + }, + "ResumeJobParamsProperties": { + "description": "Resume job properties.", + "type": "object", + "properties": { + "comments": { + "description": "Resume job comments.", "type": "string" - }, - "primaryDiskAzureStorageAccountId": { - "description": "The primary disk storage account.", + } + } + }, + "ResyncInput": { + "description": "Resync input.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ResyncInputProperties", + "description": "Resync input properties." + } + } + }, + "ResyncInputProperties": { + "description": "Resync input properties.", + "required": [ + "providerSpecificDetails" + ], + "type": "object", + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/ResyncProviderSpecificInput", + "description": "The provider specific details." + } + } + }, + "ResyncProviderSpecificInput": { + "description": "Resync provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" - }, - "recoveryDiskUri": { - "description": "Recovery disk uri.", + } + }, + "discriminator": "instanceType" + }, + "RetentionVolume": { + "description": "The retention details of the MT.", + "type": "object", + "properties": { + "volumeName": { + "description": "The volume name.", "type": "string" }, - "diskType": { - "description": "The type of disk.", - "type": "string" + "capacityInBytes": { + "format": "int64", + "description": "The volume capacity.", + "type": "integer" }, - "resyncRequired": { - "description": "A value indicating whether resync is required for this disk.", - "type": "boolean" + "freeSpaceInBytes": { + "format": "int64", + "description": "The free space available in this volume.", + "type": "integer" }, - "monitoringPercentageCompletion": { + "thresholdPercentage": { "format": "int32", - "description": "The percentage of the monitoring job. The type of the monitoring job\r\n is defined by MonitoringJobType property.", + "description": "The threshold percentage.", "type": "integer" - }, - "monitoringJobType": { - "description": "The type of the monitoring job. The progress is contained in\r\n MonitoringPercentageCompletion property.", - "type": "string" - }, - "dataPendingInStagingStorageAccountInMB": { - "format": "double", - "description": "The data pending for replication in MB at staging account.", - "type": "number" - }, - "dataPendingAtSourceAgentInMB": { - "format": "double", - "description": "The data pending at source virtual machine in MB.", - "type": "number" } } }, - "AzureToAzureVmSyncedConfigDetails": { - "description": "Azure to Azure VM synced configuration details.", + "ReverseReplicationInput": { + "description": "Reverse replication input.", "type": "object", "properties": { - "tags": { - "description": "The Azure VM tags.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "roleAssignments": { - "description": "The Azure role assignments.", - "type": "array", - "items": { - "$ref": "#/definitions/RoleAssignment" - } + "properties": { + "$ref": "#/definitions/ReverseReplicationInputProperties", + "description": "Reverse replication properties." + } + } + }, + "ReverseReplicationInputProperties": { + "description": "Reverse replication input properties.", + "type": "object", + "properties": { + "failoverDirection": { + "description": "Failover direction.", + "type": "string" }, - "inputEndpoints": { - "description": "The Azure VM input endpoints.", - "type": "array", - "items": { - "$ref": "#/definitions/InputEndpoint" - } + "providerSpecificDetails": { + "$ref": "#/definitions/ReverseReplicationProviderSpecificInput", + "description": "Provider specific reverse replication input." } } }, + "ReverseReplicationProviderSpecificInput": { + "description": "Provider specific reverse replication input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", + "type": "string" + } + }, + "discriminator": "instanceType" + }, "RoleAssignment": { "description": "Azure role assignment details.", "type": "object", @@ -10777,1649 +21010,1608 @@ } } }, - "InputEndpoint": { - "description": "Azure VM input endpoint details.", + "RunAsAccount": { + "description": "CS Accounts Details.", "type": "object", "properties": { - "endpointName": { - "description": "The input endpoint name.", + "accountId": { + "description": "The CS RunAs account Id.", "type": "string" }, - "privatePort": { - "format": "int32", - "description": "The input endpoint private port.", - "type": "integer" - }, - "publicPort": { - "format": "int32", - "description": "The input endpoint public port.", - "type": "integer" - }, - "protocol": { - "description": "The input endpoint protocol.", + "accountName": { + "description": "The CS RunAs account name.", "type": "string" } } }, - "HyperVReplicaAzureEnableProtectionInput": { - "description": "Azure specific enable protection input.", + "ScriptActionTaskDetails": { + "description": "This class represents the script action task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", - "type": "string" - }, - "vmName": { - "description": "The Vm Name.", - "type": "string" - }, - "osType": { - "description": "The OS type associated with vm.", - "type": "string" - }, - "vhdId": { - "description": "The OS disk VHD id associated with vm.", - "type": "string" - }, - "targetStorageAccountId": { - "description": "The storage account name.", - "type": "string" - }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", - "type": "string" - }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", - "type": "string" - }, - "enableRDPOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover.\r\n String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", - "type": "string" - }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", - "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "name": { + "description": "The name.", "type": "string" }, - "disksToInclude": { - "description": "The list of VHD IDs of disks to be protected.", - "type": "array", - "items": { - "type": "string" - } - }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the\r\n failover VM is to be created.", + "path": { + "description": "The path.", "type": "string" }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in\r\n which the failover VM is to be created.", + "output": { + "description": "The output.", "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" + "isPrimarySideScript": { + "description": "A value indicating whether it is a primary side script or not.", + "type": "boolean" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" - }, - "SanEnableProtectionInput": { - "description": "San enable protection provider specific input.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], - "properties": {}, - "x-ms-discriminator-value": "San" + "x-ms-discriminator-value": "ScriptActionTaskDetails" }, - "InMageAzureV2EnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "required": [ - "storageAccountId" - ], + "ServiceError": { + "description": "ASR error model.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], "properties": { - "masterTargetId": { - "description": "The Master target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account name.", - "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id.", - "type": "string" - }, - "multiVmGroupId": { - "description": "The multi vm group Id.", - "type": "string" - }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "code": { + "description": "Error code.", "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" - } - }, - "targetAzureNetworkId": { - "description": "The selected target Azure network Id.", + "message": { + "description": "Error message.", "type": "string" }, - "targetAzureSubnetId": { - "description": "The selected target Azure subnet Id.", + "possibleCauses": { + "description": "Possible causes of error.", "type": "string" }, - "enableRDPOnTargetOption": { - "description": "The selected option to enable RDP\\SSH on target vm after failover.\r\n String value of {SrsDataContract.EnableRDPOnTargetOption} enum.", + "recommendedAction": { + "description": "Recommended action to resolve error.", "type": "string" }, - "targetAzureVmName": { - "description": "The target azure Vm Name.", + "activityId": { + "description": "Activity Id.", "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging\r\n during replication.", + } + } + }, + "IPConfigDetails": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "targetAzureV1ResourceGroupId": { - "description": "The Id of the target resource group (for classic deployment) in which the\r\n failover VM is to be created.", - "type": "string" + "isPrimary": { + "type": "boolean" }, - "targetAzureV2ResourceGroupId": { - "description": "The Id of the target resource group (for resource manager deployment) in\r\n which the failover VM is to be created.", + "subnetName": { "type": "string" }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", - "type": "string" - } - }, - "x-ms-discriminator-value": "InMageAzureV2" - }, - "InMageEnableProtectionInput": { - "description": "VMware Azure specific enable protection input.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], - "properties": { - "vmFriendlyName": { - "description": "The Vm Name.", + "staticIPAddress": { "type": "string" }, - "masterTargetId": { - "description": "The Master Target Id.", + "ipAddressType": { "type": "string" }, - "processServerId": { - "description": "The Process Server Id.", + "isSeletedForFailover": { + "type": "boolean" + }, + "recoverySubnetName": { "type": "string" }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", + "recoveryStaticIPAddress": { "type": "string" }, - "runAsAccountId": { - "description": "The CS account Id.", + "recoveryIPAddressType": { "type": "string" }, - "multiVmGroupId": { - "description": "The multi vm group Id.", + "recoveryPublicIPAddressId": { "type": "string" }, - "multiVmGroupName": { - "description": "The multi vm group name.", + "recoveryLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "tfoSubnetName": { "type": "string" }, - "datastoreName": { - "description": "The target datastore name.", + "tfoStaticIPAddress": { "type": "string" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." + "tfoPublicIPAddressId": { + "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", + "tfoLBBackendAddressPoolIds": { "type": "array", "items": { "type": "string" } } - }, - "x-ms-discriminator-value": "InMage" + } }, - "A2AEnableProtectionInput": { - "description": "A2A enable protection input.", + "IPConfigInputDetails": { "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EnableProtectionProviderSpecificInput" - } - ], "properties": { - "fabricObjectId": { - "description": "The fabric specific object Id of the virtual machine.", + "ipConfigName": { "type": "string" }, - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" + "isPrimary": { + "type": "boolean" }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", + "isSeletedForFailover": { + "type": "boolean" + }, + "recoverySubnetName": { "type": "string" }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "recoveryStaticIPAddress": { "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set Id.", + "recoveryPublicIPAddressId": { "type": "string" }, - "vmDisks": { - "description": "The list of vm disk details.", + "recoveryLBBackendAddressPoolIds": { "type": "array", "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" + "type": "string" } - } - }, - "x-ms-discriminator-value": "A2A" - }, - "Resource": { - "description": "Azure resource.", - "properties": { - "id": { - "description": "Resource Id", - "type": "string", - "readOnly": true }, - "name": { - "description": "Resource Name", - "type": "string", - "readOnly": true + "tfoSubnetName": { + "type": "string" }, - "type": { - "description": "Resource Type", - "type": "string", - "readOnly": true + "tfoStaticIPAddress": { + "type": "string" }, - "location": { - "description": "Resource Location", + "tfoPublicIPAddressId": { "type": "string" + }, + "tfoLBBackendAddressPoolIds": { + "type": "array", + "items": { + "type": "string" + } } - }, - "x-ms-azure-resource": true + } }, - "HyperVReplicaAzureUpdateReplicationProtectedItemInput": { - "description": "HyperV replica Azure input to update replication protected item.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" - } + "StorageAccountCustomDetails": { + "description": "Storage account custom input.", + "required": [ + "resourceType" ], + "type": "object", "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", - "type": "string" - }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", - "type": "string" - }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "resourceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "resourceType" }, - "InMageAzureV2UpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "StorageClassification": { + "description": "Storage object definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "recoveryAzureV1ResourceGroupId": { - "description": "The recovery Azure resource group Id for classic deployment.", - "type": "string" - }, - "recoveryAzureV2ResourceGroupId": { - "description": "The recovery Azure resource group Id for resource manager deployment.", - "type": "string" + "properties": { + "$ref": "#/definitions/StorageClassificationProperties", + "description": "Properties of the storage object." + } + } + }, + "StorageClassificationCollection": { + "description": "Collection of storage details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassification" + } }, - "useManagedDisks": { - "description": "A value indicating whether managed disks should be used during failover.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "A2AUpdateReplicationProtectedItemInput": { - "description": "InMage Azure V2 input to update replication protected item.", + "StorageClassificationMapping": { + "description": "Storage mapping object.", "type": "object", "allOf": [ { - "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput" + "$ref": "#/definitions/Resource" } ], "properties": { - "recoveryCloudServiceId": { - "description": "The target cloud service ARM Id (for V1).", - "type": "string" + "properties": { + "$ref": "#/definitions/StorageClassificationMappingProperties", + "description": "Properties of the storage mapping object." + } + } + }, + "StorageClassificationMappingCollection": { + "description": "Collection of storage mapping details.", + "type": "object", + "properties": { + "value": { + "description": "The storage details.", + "type": "array", + "items": { + "$ref": "#/definitions/StorageClassificationMapping" + } }, - "recoveryResourceGroupId": { - "description": "The target resource group ARM Id (for V2).", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "HyperVReplicaBaseEventDetails": { - "description": "Abstract model class for event details of a HyperVReplica E2E event.", + "StorageClassificationMappingInput": { + "description": "Storage mapping input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" + "properties": { + "properties": { + "$ref": "#/definitions/StorageMappingInputProperties", + "description": "Storage mapping input properties." } - ], + } + }, + "StorageClassificationMappingProperties": { + "description": "Storage mapping properties.", + "type": "object", "properties": { - "containerName": { - "description": "The container friendly name.", - "type": "string" - }, - "fabricName": { - "description": "The fabric friendly name.", - "type": "string" - }, - "remoteContainerName": { - "description": "The remote container name.", - "type": "string" - }, - "remoteFabricName": { - "description": "The remote fabric name.", + "targetStorageClassificationId": { + "description": "Target storage object Id.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaBaseEventDetails" + } }, - "HyperVReplica2012EventDetails": { - "description": "Model class for event details of a HyperVReplica E2E event.", + "StorageClassificationProperties": { + "description": "Storage object properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" + "properties": { + "friendlyName": { + "description": "Friendly name of the Storage classification.", + "type": "string" } - ], + } + }, + "StorageMappingInputProperties": { + "description": "Storage mapping input properties.", + "type": "object", "properties": { - "containerName": { - "description": "The container friendly name.", + "targetStorageClassificationId": { + "description": "The ID of the storage object.", "type": "string" - }, - "fabricName": { - "description": "The fabric friendly name.", + } + } + }, + "Subnet": { + "description": "Subnets of the network.", + "type": "object", + "properties": { + "name": { + "description": "The subnet name.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "friendlyName": { + "description": "The subnet friendly name.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", - "type": "string" + "addressList": { + "description": "The list of addresses for the subnet.", + "type": "array", + "items": { + "type": "string" + } } - }, - "x-ms-discriminator-value": "HyperVReplica2012" + } }, - "HyperVReplica2012R2EventDetails": { - "description": "Model class for event details of a HyperVReplica blue E2E event.", + "SupportedOperatingSystems": { + "description": "Supported operating systems.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "containerName": { - "description": "The container friendly name.", - "type": "string" - }, - "fabricName": { - "description": "The fabric friendly name.", + "properties": { + "$ref": "#/definitions/SupportedOSProperties", + "description": "The supported operating systems properties." + } + } + }, + "SupportedOSDetails": { + "description": "Supported operating system details.", + "type": "object", + "properties": { + "osName": { + "description": "The name.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", + "osType": { + "description": "The type.", "type": "string" }, - "remoteFabricName": { - "description": "The remote fabric name.", - "type": "string" + "osVersions": { + "description": "The list of version for operating system.", + "type": "array", + "items": { + "$ref": "#/definitions/OSVersionWrapper" + } } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "HyperVReplicaAzureEventDetails": { - "description": "Model class for event details of a HyperVReplica E2A event.", + "SupportedOSProperties": { + "description": "Supported operating systems properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" + "properties": { + "supportedOsList": { + "description": "The supported operating systems property list.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedOSProperty" + } } - ], + } + }, + "SupportedOSProperty": { + "description": "Supported operating systems property.", + "type": "object", "properties": { - "containerName": { - "description": "The container friendly name.", + "instanceType": { + "description": "The replication provider type.", "type": "string" }, - "fabricName": { - "description": "The fabric friendly name.", + "supportedOs": { + "description": "The list of supported operating systems.", + "type": "array", + "items": { + "$ref": "#/definitions/SupportedOSDetails" + } + } + } + }, + "SwitchProtectionInput": { + "description": "Switch protection input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/SwitchProtectionInputProperties", + "description": "Switch protection properties." + } + } + }, + "SwitchProtectionInputProperties": { + "description": "Switch protection input properties.", + "type": "object", + "properties": { + "replicationProtectedItemName": { + "description": "The unique replication protected item name.", "type": "string" }, - "remoteContainerName": { - "description": "The remote container name.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/SwitchProtectionProviderSpecificInput", + "description": "Provider specific switch protection input." } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "A2AEventDetails": { - "description": "Model class for event details of a A2A event.", + "SwitchProtectionJobDetails": { + "description": "This class represents details for switch protection job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/EventProviderSpecificDetails" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "protectedItemName": { - "description": "The protected item arm name.", + "newReplicationProtectedItemId": { + "description": "ARM Id of the new replication protected item.", "type": "string" - }, - "fabricObjectId": { - "description": "The azure vm arm id.", + } + }, + "x-ms-discriminator-value": "SwitchProtectionJobDetails" + }, + "SwitchProtectionProviderSpecificInput": { + "description": "Provider specific switch protection input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "Gets the Instance type.", "type": "string" - }, - "fabricName": { - "description": "Fabric arm name.", + } + }, + "discriminator": "instanceType" + }, + "TargetComputeSize": { + "description": "Represents applicable recovery vm sizes.", + "type": "object", + "properties": { + "id": { + "description": "The Id.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", + "name": { + "description": "The name.", "type": "string" }, - "remoteFabricName": { - "description": "Remote fabric arm name.", + "type": { + "description": "The Type of the object.", "type": "string" }, - "remoteFabricLocation": { - "description": "Remote fabric location.", - "type": "string" + "properties": { + "$ref": "#/definitions/TargetComputeSizeProperties", + "description": "The custom data." } - }, - "x-ms-discriminator-value": "A2A" + } }, - "InMageAzureV2EventDetails": { - "description": "Model class for event details of a VMwareAzureV2 event.", + "TargetComputeSizeCollection": { + "description": "Target compute size collection.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventProviderSpecificDetails" + "properties": { + "value": { + "description": "The list of target compute sizes.", + "type": "array", + "items": { + "$ref": "#/definitions/TargetComputeSize" + } + }, + "nextLink": { + "description": "The value of next link.", + "type": "string" } - ], + } + }, + "TargetComputeSizeProperties": { + "description": "Represents applicable recovery vm sizes properties.", + "type": "object", "properties": { - "eventType": { - "description": "InMage Event type.\r\n Takes one of the values of {InMageDataContract.InMageMonitoringEventType}.", + "name": { + "description": "Target compute size name.", "type": "string" }, - "category": { - "description": "InMage Event Category.", + "friendlyName": { + "description": "Target compute size display name.", "type": "string" }, - "component": { - "description": "InMage Event Component.", - "type": "string" + "cpuCoresCount": { + "format": "int32", + "description": "The maximum cpu cores count supported by target compute size.", + "type": "integer" }, - "correctiveAction": { - "description": "Corrective Action string for the event.", - "type": "string" + "vCPUsAvailable": { + "format": "int32", + "description": "The Available vCPUs supported by target compute size.", + "type": "integer", + "readOnly": true }, - "details": { - "description": "InMage Event Details.", - "type": "string" + "memoryInGB": { + "format": "double", + "description": "The maximum memory in GB supported by target compute size.", + "type": "number" }, - "summary": { - "description": "InMage Event Summary.", - "type": "string" + "maxDataDiskCount": { + "format": "int32", + "description": "The maximum data disks count supported by target compute size.", + "type": "integer" }, - "siteName": { - "description": "VMware Site name.", + "maxNicsCount": { + "format": "int32", + "description": "The maximum Nics count supported by target compute size.", + "type": "integer" + }, + "errors": { + "description": "The reasons why the target compute size is not applicable for the protected item.", + "type": "array", + "items": { + "$ref": "#/definitions/ComputeSizeErrorDetails" + } + }, + "highIopsSupported": { + "description": "The value indicating whether the target compute size supports high Iops.", "type": "string" + }, + "hyperVGenerations": { + "description": "The supported HyperV Generations.", + "type": "array", + "items": { + "type": "string" + } } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "JobStatusEventDetails": { - "description": "Model class for event details of a job status event.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/EventSpecificDetails" - } + "TaskTypeDetails": { + "description": "Task details based on specific task type.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "jobId": { - "description": "Job arm id for the event.", - "type": "string" - }, - "jobFriendlyName": { - "description": "JobName for the Event.", - "type": "string" - }, - "jobStatus": { - "description": "JobStatus for the Event.", - "type": "string" - }, - "affectedObjectType": { - "description": "AffectedObjectType for the event.", + "instanceType": { + "description": "The type of task details.", "type": "string" } }, - "x-ms-discriminator-value": "JobStatus" + "discriminator": "instanceType" }, - "HyperVVirtualMachineDetails": { - "description": "Hyper V replica provider specific settings", + "TestFailoverCleanupInput": { + "description": "Input definition for test failover cleanup.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" + "properties": { + "properties": { + "$ref": "#/definitions/TestFailoverCleanupInputProperties", + "description": "Test failover cleanup input properties." } - ], + } + }, + "TestFailoverCleanupInputProperties": { + "description": "Input definition for test failover cleanup input properties.", + "type": "object", "properties": { - "sourceItemId": { - "description": "The source id of the object.", - "type": "string" - }, - "generation": { - "description": "The id of the object in fabric.", - "type": "string" - }, - "osDetails": { - "$ref": "#/definitions/OSDetails", - "description": "The Last replication time." - }, - "diskDetails": { - "description": "The Last successful failover time.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskDetails" - } + "comments": { + "description": "Test failover cleanup comments.", + "maxLength": 1024, + "type": "string" } - }, - "x-ms-discriminator-value": "HyperVVirtualMachine" + } }, - "OSDetails": { - "description": "Disk Details.", + "TestFailoverInput": { + "description": "Input definition for test failover.", + "required": [ + "properties" + ], "type": "object", "properties": { - "osType": { - "description": "VM Disk details.", - "type": "string" - }, - "productType": { - "description": "ProductType.", - "type": "string" - }, - "osEdition": { - "description": "The OSEdition.", - "type": "string" - }, - "oSVersion": { - "description": "The OS Version.", - "type": "string" - }, - "oSMajorVersion": { - "description": "The OS Major Version.", - "type": "string" - }, - "oSMinorVersion": { - "description": "The OS Minor Version.", - "type": "string" + "properties": { + "$ref": "#/definitions/TestFailoverInputProperties", + "description": "Test failover input properties." } } }, - "DiskDetails": { - "description": "Onprem disk details data.", + "TestFailoverInputProperties": { + "description": "Input definition for test failover input properties.", "type": "object", "properties": { - "maxSizeMB": { - "format": "int64", - "description": "The hard disk max size in MB.", - "type": "integer" - }, - "vhdType": { - "description": "The type of the volume.", + "failoverDirection": { + "description": "Test failover direction.", "type": "string" }, - "vhdId": { - "description": "The VHD Id.", + "networkType": { + "description": "Network type to be used for test failover.", "type": "string" }, - "vhdName": { - "description": "The VHD name.", + "networkId": { + "description": "The id of the network to be used for test failover.", "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/TestFailoverProviderSpecificInput", + "description": "Provider specific settings." } } }, - "VMwareVirtualMachineDetails": { - "description": "VMware provider specific settings", + "TestFailoverJobDetails": { + "description": "This class represents the details for a test failover job.", "type": "object", "allOf": [ { - "$ref": "#/definitions/ConfigurationSettings" + "$ref": "#/definitions/JobDetails" } ], "properties": { - "agentGeneratedId": { - "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID\r\n to be used during InMage CreateProtection.", - "type": "string" - }, - "agentInstalled": { - "description": "The value indicating if InMage scout agent is installed on guest.", - "type": "string" - }, - "osType": { - "description": "The OsType installed on VM.", - "type": "string" - }, - "agentVersion": { - "description": "The agent version.", + "testFailoverStatus": { + "description": "The test failover status.", "type": "string" }, - "ipAddress": { - "description": "The IP address.", + "comments": { + "description": "The test failover comments.", "type": "string" }, - "poweredOn": { - "description": "The value indicating whether VM is powered on.", + "networkName": { + "description": "The test network name.", "type": "string" }, - "vCenterInfrastructureId": { - "description": "The VCenter infrastructure Id.", + "networkFriendlyName": { + "description": "The test network friendly name.", "type": "string" }, - "discoveryType": { - "description": "A value inidicating the discovery type of the machine.\r\n Value can be vCenter or physical.", + "networkType": { + "description": "The test network type (see TestFailoverInput enum for possible values).", "type": "string" }, - "diskDetails": { - "description": "The disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageDiskDetails" - } - }, - "validationErrors": { - "description": "The validation errors.", + "protectedItemDetails": { + "description": "The test VM details.", "type": "array", "items": { - "$ref": "#/definitions/HealthError" + "$ref": "#/definitions/FailoverReplicationProtectedItemDetails" } } }, - "x-ms-discriminator-value": "VMwareVirtualMachine" + "x-ms-discriminator-value": "TestFailoverJobDetails" }, - "InMageDiskDetails": { - "description": "VMware/Physical specific Disk Details", + "TestFailoverProviderSpecificInput": { + "description": "Provider specific test failover input.", + "required": [ + "instanceType" + ], "type": "object", "properties": { - "diskId": { - "description": "The disk Id.", - "type": "string" - }, - "diskName": { - "description": "The disk name.", - "type": "string" - }, - "diskSizeInMB": { - "description": "The disk size in MB.", - "type": "string" - }, - "diskType": { - "description": "Whether disk is system disk or data disk.", - "type": "string" - }, - "diskConfiguration": { - "description": "Whether disk is dynamic disk or basic disk.", + "instanceType": { + "description": "The class type.", "type": "string" - }, - "volumeList": { - "description": "Volumes of the disk.", - "type": "array", - "items": { - "$ref": "#/definitions/DiskVolumeDetails" - } + } + }, + "discriminator": "instanceType" + }, + "TestMigrateCleanupInput": { + "description": "Input for test migrate cleanup.", + "required": [ + "properties" + ], + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/TestMigrateCleanupInputProperties", + "description": "Test migrate cleanup input properties." } } }, - "DiskVolumeDetails": { - "description": "Volume details.", + "TestMigrateCleanupInputProperties": { + "description": "Test migrate cleanup input properties.", "type": "object", "properties": { - "label": { - "description": "The volume label.", - "type": "string" - }, - "name": { - "description": "The volume name.", + "comments": { + "description": "Test migrate cleanup comments.", + "maxLength": 1024, "type": "string" } } }, - "ReplicationGroupDetails": { - "description": "Replication group details. This will be used in case of San and Wvr.", + "TestMigrateInput": { + "description": "Input for test migrate.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ConfigurationSettings" + "properties": { + "properties": { + "$ref": "#/definitions/TestMigrateInputProperties", + "description": "Test migrate input properties." } - ], - "properties": {}, - "x-ms-discriminator-value": "ReplicationGroupDetails" + } }, - "InMageDisableProtectionProviderSpecificInput": { - "description": "InMage disable protection provider specific input.", + "TestMigrateInputProperties": { + "description": "Test migrate input properties.", + "required": [ + "providerSpecificDetails" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/DisableProtectionProviderSpecificInput" + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/TestMigrateProviderSpecificInput", + "description": "The provider specific details." } + } + }, + "TestMigrateProviderSpecificInput": { + "description": "Test migrate provider specific input.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "replicaVmDeletionStatus": { - "description": "A value indicating whether the replica VM should be destroyed or retained.\r\n Values from Delete and Retain.", + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "discriminator": "instanceType" }, - "HyperVReplicaAzureFailoverProviderInput": { - "description": "HvrA provider specific input for failover.", + "UnplannedFailoverInput": { + "description": "Input definition for unplanned failover.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "properties": { + "properties": { + "$ref": "#/definitions/UnplannedFailoverInputProperties", + "description": "Unplanned failover input properties." } - ], + } + }, + "UnplannedFailoverInputProperties": { + "description": "Input definition for unplanned failover input properties.", + "type": "object", "properties": { - "vaultLocation": { - "description": "Location of the vault.", - "type": "string" - }, - "primaryKekCertificatePfx": { - "description": "Primary kek certificate pfx.", + "failoverDirection": { + "description": "Failover direction.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "Secondary kek certificate pfx.", + "sourceSiteOperations": { + "description": "Source site operations status.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery \r\n point. In case of latest recovery point, null should be passed.", - "type": "string" + "providerSpecificDetails": { + "$ref": "#/definitions/UnplannedFailoverProviderSpecificInput", + "description": "Provider specific settings." } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "HyperVReplicaAzureFailbackProviderInput": { - "description": "HvrA provider specific input for failback.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } + "UnplannedFailoverProviderSpecificInput": { + "description": "Provider specific unplanned failover input.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "dataSyncOption": { - "description": "Data sync option.", - "type": "string" - }, - "recoveryVmCreationOption": { - "description": "ALR options to create alternate recovery.", - "type": "string" - }, - "providerIdForAlternateRecovery": { - "description": "Provider ID for alternate location", + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" + "discriminator": "instanceType" }, - "InMageAzureV2FailoverProviderInput": { - "description": "InMageAzureV2 provider specific input for failover.", + "UpdateApplianceForReplicationProtectedItemInput": { + "description": "Update appliance for replication protected item input.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemInputProperties", + "description": "Update appliance replication protected item properties." } + } + }, + "UpdateApplianceForReplicationProtectedItemInputProperties": { + "description": "Update appliance for protected item input properties.", + "required": [ + "targetApplianceId", + "providerSpecificDetails" ], + "type": "object", "properties": { - "vaultLocation": { - "description": "Location of the vault.", + "targetApplianceId": { + "description": "The target appliance Id.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery \r\n point. In case of latest recovery point, null should be passed.", + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateApplianceForReplicationProtectedItemProviderSpecificInput", + "description": "The provider specific input to update replication protected item." + } + } + }, + "UpdateApplianceForReplicationProtectedItemProviderSpecificInput": { + "description": "Update replication protected item provider specific input.", + "required": [ + "instanceType" + ], + "type": "object", + "properties": { + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" + "discriminator": "instanceType" }, - "InMageFailoverProviderInput": { - "description": "Provider specific input for InMage failover.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } + "UpdateDiskInput": { + "description": "Disk input for update.", + "required": [ + "diskId" ], + "type": "object", "properties": { - "recoveryPointType": { - "description": "The recovery point type. Values from LatestTime,\r\n LatestTag or Custom. In the case of custom, the recovery point provided by\r\n RecoveryPointId will be used. In the other two cases, recovery point id\r\n will be ignored.", + "diskId": { + "description": "The disk Id.", "type": "string" }, - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery \r\n point. In case of latest recovery point, null should be passed.", + "targetDiskName": { + "description": "The target disk name.", "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, - "A2AFailoverProviderInput": { - "description": "A2A provider specific input for failover.", + "UpdateMigrationItemInput": { + "description": "Update migration item input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ProviderSpecificFailoverInput" - } - ], "properties": { - "recoveryPointId": { - "description": "The recovery point id to be passed to failover to a particular recovery \r\n point. In case of latest recovery point, null should be passed.", - "type": "string" - }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", - "type": "string" + "properties": { + "$ref": "#/definitions/UpdateMigrationItemInputProperties", + "description": "Update migration item input properties." } - }, - "x-ms-discriminator-value": "A2A" + } }, - "HyperVReplicaAzureReprotectInput": { - "description": "Azure specific reprotect input.", + "UpdateMigrationItemInputProperties": { + "description": "Update migration item input properties.", + "required": [ + "providerSpecificDetails" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "properties": { + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput", + "description": "The provider specific input to update migration item." } + } + }, + "UpdateMigrationItemProviderSpecificInput": { + "description": "Update migration item provider specific input.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "hvHostVmId": { - "description": "The Hyper-V host Vm Id.", - "type": "string" - }, - "vmName": { - "description": "The Vm Name.", - "type": "string" - }, - "osType": { - "description": "The OS type associated with vm.", - "type": "string" - }, - "vHDId": { - "description": "The OS disk VHD id associated with vm.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account name.", - "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging during replication.", + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "discriminator": "instanceType" }, - "InMageAzureV2ReprotectInput": { - "description": "InMageAzureV2 specific provider input.", + "UpdateMobilityServiceRequest": { + "description": "Request to update the mobility service on a protected item.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateMobilityServiceRequestProperties", + "description": "The properties of the update mobility service request." } - ], + } + }, + "UpdateMobilityServiceRequestProperties": { + "description": "The properties of an update mobility service request.", + "type": "object", "properties": { - "masterTargetId": { - "description": "The Master target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" - }, - "storageAccountId": { - "description": "The storage account id.", - "type": "string" - }, "runAsAccountId": { - "description": "The CS account Id.", - "type": "string" - }, - "policyId": { - "description": "The Policy Id.", - "type": "string" - }, - "logStorageAccountId": { - "description": "The storage account to be used for logging\r\n during replication.", + "description": "The CS run as account Id.", "type": "string" - }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" - } } - }, - "x-ms-discriminator-value": "InMageAzureV2" + } }, - "InMageReprotectInput": { - "description": "InMageAzureV2 specific provider input.", + "UpdateNetworkMappingInput": { + "description": "Update network mapping input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "properties": { + "properties": { + "$ref": "#/definitions/UpdateNetworkMappingInputProperties", + "description": "The input properties needed to update network mapping." } - ], + } + }, + "UpdateNetworkMappingInputProperties": { + "description": "Common input details for network mapping operation.", + "type": "object", "properties": { - "masterTargetId": { - "description": "The Master Target Id.", - "type": "string" - }, - "processServerId": { - "description": "The Process Server Id.", - "type": "string" - }, - "retentionDrive": { - "description": "The retention drive to use on the MT.", - "type": "string" - }, - "runAsAccountId": { - "description": "The CS account Id.", - "type": "string" - }, - "datastoreName": { - "description": "The target datastore name.", + "recoveryFabricName": { + "description": "Recovery fabric name.", "type": "string" }, - "diskExclusionInput": { - "$ref": "#/definitions/InMageDiskExclusionInput", - "description": "The enable disk exclusion input." - }, - "profileId": { - "description": "The Policy Id.", + "recoveryNetworkId": { + "description": "Recovery network Id.", "type": "string" }, - "disksToInclude": { - "description": "The disks to include list.", - "type": "array", - "items": { - "type": "string" - } + "fabricSpecificDetails": { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput", + "description": "Fabrics specific input network Id." } - }, - "x-ms-discriminator-value": "InMage" + } }, - "InMageDiskExclusionInput": { - "description": "DiskExclusionInput when doing enable protection of virtual machine in InMage provider.", + "UpdatePolicyInput": { + "description": "Update policy input.", "type": "object", "properties": { - "volumeOptions": { - "description": "The volume label based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageVolumeExclusionOptions" - } - }, - "diskSignatureOptions": { - "description": "The guest disk signature based option for disk exclusion.", - "type": "array", - "items": { - "$ref": "#/definitions/InMageDiskSignatureExclusionOptions" - } + "properties": { + "$ref": "#/definitions/UpdatePolicyInputProperties", + "description": "The ReplicationProviderSettings." } } }, - "InMageVolumeExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of \r\n virtual machine in InMage provider.", + "UpdatePolicyInputProperties": { + "description": "Policy update properties.", "type": "object", "properties": { - "volumeLabel": { - "description": "The volume label. The disk having any volume with this label will be\r\n excluded from replication.", - "type": "string" - }, - "OnlyExcludeIfSingleVolume": { - "description": "The value indicating whether to exclude multi volume disk or not. \r\n If a disk has multiple volumes and one of the volume has label matching with \r\n VolumeLabel this disk will be excluded from replication if \r\n OnlyExcludeIfSingleVolume is false.", - "type": "string" + "replicationProviderSettings": { + "$ref": "#/definitions/PolicyProviderSpecificInput", + "description": "The ReplicationProviderSettings." } } }, - "InMageDiskSignatureExclusionOptions": { - "description": "Guest disk signature based disk exclusion option when doing enable protection of \r\n virtual machine in InMage provider.", + "UpdateProtectionContainerMappingInput": { + "description": "Container pairing update input.", "type": "object", "properties": { - "diskSignature": { - "description": "The guest signature of disk to be excluded from replication.", - "type": "string" + "properties": { + "$ref": "#/definitions/UpdateProtectionContainerMappingInputProperties", + "description": "Update protection container mapping input properties." } } }, - "A2AReprotectInput": { - "description": "Azure specific reprotect input.", + "UpdateProtectionContainerMappingInputProperties": { + "description": "Container pairing update input.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ReverseReplicationProviderSpecificInput" + "properties": { + "providerSpecificInput": { + "$ref": "#/definitions/ReplicationProviderSpecificUpdateContainerMappingInput", + "description": "Provider specific input for updating protection container mapping." } - ], + } + }, + "UpdateRecoveryPlanInput": { + "description": "Update recovery plan input class.", + "type": "object", "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", - "type": "string" - }, - "vmDisks": { - "description": "The list of vm disk details.", + "properties": { + "$ref": "#/definitions/UpdateRecoveryPlanInputProperties", + "description": "Recovery plan update properties." + } + } + }, + "UpdateRecoveryPlanInputProperties": { + "description": "Recovery plan update properties.", + "type": "object", + "properties": { + "groups": { + "description": "The recovery plan groups.", "type": "array", "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" + "$ref": "#/definitions/RecoveryPlanGroup" } - }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", - "type": "string" - }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", - "type": "string" - }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", - "type": "string" - }, - "policyId": { - "description": "The Policy Id.", - "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } + }, + "UpdateReplicationProtectedItemInput": { + "description": "Update replication protected item input.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/UpdateReplicationProtectedItemInputProperties", + "description": "Update replication protected item properties." + } + } }, - "A2AVmDiskInputDetails": { - "description": "Azure VM disk input details.", + "UpdateReplicationProtectedItemInputProperties": { + "description": "Update protected item input properties.", "type": "object", "properties": { - "diskUri": { - "description": "The disk Uri.", + "recoveryAzureVMName": { + "description": "Target Azure VM name given by the user.", "type": "string" }, - "recoveryAzureStorageAccountId": { - "description": "The recovery VHD storage account Id.", + "recoveryAzureVMSize": { + "description": "Target Azure VM size.", "type": "string" }, - "primaryStagingAzureStorageAccountId": { - "description": "The primary staging storage account Id.", + "selectedRecoveryAzureNetworkId": { + "description": "Target Azure Network Id.", "type": "string" - } - } - }, - "HyperVReplicaAzureApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to HyperVReplicaAzure provider.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" - } - ], - "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", + }, + "selectedTfoAzureNetworkId": { + "description": "The Azure Network Id for test failover.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "The primary kek certificate pfx.", + "selectedSourceNicId": { + "description": "The selected source nic Id which will be used as the primary nic during failover.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "The secondary kek certificate pfx.", + "enableRdpOnTargetOption": { + "description": "The selected option to enable RDP\\SSH on target vm after failover. String value of SrsDataContract.EnableRDPOnTargetOption enum.", + "type": "string" + }, + "vmNics": { + "description": "The list of VM nic details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMNicInputDetails" + } + }, + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "recoveryAvailabilitySetId": { + "description": "The target availability set Id.", "type": "string" + }, + "providerSpecificDetails": { + "$ref": "#/definitions/UpdateReplicationProtectedItemProviderInput", + "description": "The provider specific input to update replication protected item." } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "InMageAzureV2ApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to InMageAzureV2 provider.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" - } + "UpdateReplicationProtectedItemProviderInput": { + "description": "Update replication protected item provider specific input.", + "required": [ + "instanceType" ], + "type": "object", "properties": { - "vaultLocation": { - "description": "The vault location where the recovery Vm resides.", + "instanceType": { + "description": "The class type.", "type": "string" } }, - "x-ms-discriminator-value": "InMageAzureV2" - }, - "A2AApplyRecoveryPointInput": { - "description": "ApplyRecoveryPoint input specific to A2A provider.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/ApplyRecoveryPointProviderSpecificInput" - } - ], - "properties": {}, - "x-ms-discriminator-value": "A2A" + "discriminator": "instanceType" }, - "JobTaskDetails": { - "description": "This class represents a task which is actually a workflow so that one can navigate\r\n to its individual drill down.", + "UpdateVCenterRequest": { + "description": "Input required to update vCenter.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "properties": { + "$ref": "#/definitions/UpdateVCenterRequestProperties", + "description": "The update VCenter Request Properties." } - }, - "x-ms-discriminator-value": "JobTaskDetails" + } }, - "JobEntity": { - "description": "This class contains the minimal job details required to navigate to the desired drill down.", + "UpdateVCenterRequestProperties": { + "description": "The properties of an update vCenter request.", "type": "object", "properties": { - "jobId": { - "description": "The job id.", - "type": "string" - }, - "jobFriendlyName": { - "description": "The job display name.", + "friendlyName": { + "description": "The friendly name of the vCenter.", "type": "string" }, - "targetObjectId": { - "description": "The object id.", + "ipAddress": { + "description": "The IP address of the vCenter to be discovered.", "type": "string" }, - "targetObjectName": { - "description": "The object name.", + "processServerId": { + "description": "The process server Id from where the update can be orchestrated.", "type": "string" }, - "targetInstanceType": { - "description": "The workflow affected object type.", + "port": { + "description": "The port number for discovery.", "type": "string" }, - "jobScenarioName": { - "description": "The job name. Enum type ScenarioName.", + "runAsAccountId": { + "description": "The CS account Id which has privileges to update the vCenter.", "type": "string" } } }, - "VirtualMachineTaskDetails": { - "description": "This class represents the virtual machine task details.", + "VaultHealthDetails": { + "description": "Vault health details definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "skippedReason": { - "description": "The skipped reason.", - "type": "string" - }, - "skippedReasonString": { - "description": "The skipped reason string.", - "type": "string" - }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "properties": { + "$ref": "#/definitions/VaultHealthProperties", + "description": "The vault health related data." } - }, - "x-ms-discriminator-value": "VirtualMachineTaskDetails" + } }, - "FabricReplicationGroupTaskDetails": { - "description": "This class represents the fabric replication group task details.", + "VaultHealthProperties": { + "description": "class to define the health summary of the Vault.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "skippedReason": { - "description": "The skipped reason.", - "type": "string" + "vaultErrors": { + "description": "The list of errors on the vault.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } }, - "skippedReasonString": { - "description": "The skipped reason string.", - "type": "string" + "protectedItemsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the protected items in the vault." }, - "jobTask": { - "$ref": "#/definitions/JobEntity", - "description": "The job entity." + "fabricsHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the fabrics in the vault." + }, + "containersHealth": { + "$ref": "#/definitions/ResourceHealthSummary", + "description": "The list of the health detail of the containers in the vault." } - }, - "x-ms-discriminator-value": "FabricReplicationGroupTaskDetails" + } }, - "ManualActionTaskDetails": { - "description": "This class represents the manual action task details.", + "VaultSetting": { + "description": "Vault setting.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "instructions": { - "description": "The instructions.", - "type": "string" + "properties": { + "$ref": "#/definitions/VaultSettingProperties", + "description": "The vault setting properties." + } + } + }, + "VaultSettingCollection": { + "description": "Vault setting collection.", + "type": "object", + "properties": { + "value": { + "description": "The list of vault setting.", + "type": "array", + "items": { + "$ref": "#/definitions/VaultSetting" + } }, - "observation": { - "description": "The observation.", + "nextLink": { + "description": "The value of next link.", "type": "string" } - }, - "x-ms-discriminator-value": "ManualActionTaskDetails" + } }, - "ScriptActionTaskDetails": { - "description": "This class represents the script action task details.", + "VaultSettingCreationInput": { + "description": "Input to create vault setting.", + "required": [ + "properties" + ], "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" + "properties": { + "properties": { + "$ref": "#/definitions/VaultSettingCreationInputProperties", + "description": "Vault setting creation input properties." } - ], + } + }, + "VaultSettingCreationInputProperties": { + "description": "Input to create vault setting.", + "type": "object", "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "path": { - "description": "The path.", + "migrationSolutionId": { + "description": "The migration solution Id.", "type": "string" }, - "output": { - "description": "The output.", + "vmwareToAzureProviderType": { + "description": "VMware to Azure provider type.", "type": "string" - }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" } - }, - "x-ms-discriminator-value": "ScriptActionTaskDetails" + } }, - "VmNicUpdatesTaskDetails": { - "description": "This class represents the vm NicUpdates task details.", + "VaultSettingProperties": { + "description": "Vault setting properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "vmId": { - "description": "VmId.", - "type": "string" - }, - "nicId": { - "description": "NicId.", + "migrationSolutionId": { + "description": "The migration solution ARM Id.", "type": "string" }, - "name": { - "description": "Name.", + "vmwareToAzureProviderType": { + "description": "VMware to Azure provider type.", "type": "string" } - }, - "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" + } }, - "ConsistencyCheckTaskDetails": { - "description": "This class contains monitoring details of all the inconsistent Protected Entites in Vmm.", + "VCenter": { + "description": "vCenter definition.", "type": "object", "allOf": [ { - "$ref": "#/definitions/TaskTypeDetails" + "$ref": "#/definitions/Resource" } ], "properties": { - "vmDetails": { - "description": "The list of inconsistent Vm details.", - "type": "array", - "items": { - "$ref": "#/definitions/InconsistentVmDetails" - } + "properties": { + "$ref": "#/definitions/VCenterProperties", + "description": "VCenter related data." } - }, - "x-ms-discriminator-value": "ConsistencyCheckTaskDetails" + } }, - "InconsistentVmDetails": { - "description": "This class stores the monitoring details for consistency check of\r\n inconsistent Protected Entity.", + "VCenterCollection": { + "description": "Collection of vCenter details.", "type": "object", "properties": { - "vmName": { - "description": "The Vm name.", - "type": "string" - }, - "cloudName": { - "description": "The Cloud name.", - "type": "string" - }, - "details": { - "description": "The list of details regarding state of the\r\n Protected Entity in SRS and On prem.", + "value": { + "description": "The vCenter details.", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/VCenter" } }, - "errorIds": { - "description": "The list of error ids.", - "type": "array", - "items": { - "type": "string" - } + "nextLink": { + "description": "The value of next link.", + "type": "string" } } }, - "AutomationRunbookTaskDetails": { - "description": "This class represents the task details for an automation runbook.", + "VCenterProperties": { + "description": "vCenter properties.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/TaskTypeDetails" - } - ], "properties": { - "name": { - "description": "The recovery plan task name.", + "friendlyName": { + "description": "Friendly name of the vCenter.", "type": "string" }, - "cloudServiceName": { - "description": "The cloud service of the automation runbook account.", + "internalId": { + "description": "VCenter internal ID.", "type": "string" }, - "subscriptionId": { - "description": "The subscription Id of the automation runbook account.", + "lastHeartbeat": { + "format": "date-time", + "description": "The time when the last heartbeat was received by vCenter.", "type": "string" }, - "accountName": { - "description": "The automation account name of the runbook.", + "discoveryStatus": { + "description": "The VCenter discovery status.", "type": "string" }, - "runbookId": { - "description": "The runbook Id.", + "processServerId": { + "description": "The process server Id.", "type": "string" }, - "runbookName": { - "description": "The runbook name.", + "ipAddress": { + "description": "The IP address of the vCenter.", "type": "string" }, - "jobId": { - "description": "The job Id of the runbook execution.", + "infrastructureId": { + "description": "The infrastructure Id of vCenter.", "type": "string" }, - "jobOutput": { - "description": "The execution output of the runbook.", + "port": { + "description": "The port number for discovery.", "type": "string" }, - "isPrimarySideScript": { - "description": "A value indicating whether it is a primary side script or not.", - "type": "boolean" + "runAsAccountId": { + "description": "The account Id which has privileges to discover the vCenter.", + "type": "string" + }, + "fabricArmResourceName": { + "description": "The ARM resource name of the fabric containing this VCenter.", + "type": "string" + }, + "healthErrors": { + "description": "The health errors for this VCenter.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } } - }, - "x-ms-discriminator-value": "AutomationRunbookTaskDetails" + } }, - "InlineWorkflowTaskDetails": { - "description": "This class represents the inline workflow task details.", + "VersionDetails": { + "description": "Version related details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/GroupTaskDetails" - } - ], "properties": { - "workflowIds": { - "description": "The list of child workflow ids.", - "type": "array", - "items": { - "type": "string" + "version": { + "description": "The agent version.", + "type": "string" + }, + "expiryDate": { + "format": "date-time", + "description": "Version expiry date.", + "type": "string" + }, + "status": { + "description": "A value indicating whether security update required.", + "enum": [ + "Supported", + "NotSupported", + "Deprecated", + "UpdateRequired", + "SecurityUpdateRequired" + ], + "type": "string", + "x-ms-enum": { + "name": "AgentVersionStatus", + "modelAsString": true } } - }, - "x-ms-discriminator-value": "InlineWorkflowTaskDetails" + } }, - "RecoveryPlanGroupTaskDetails": { - "description": "This class represents the recovery plan group task.", + "VirtualMachineTaskDetails": { + "description": "This class represents the virtual machine task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/GroupTaskDetails" + "$ref": "#/definitions/JobTaskDetails" } ], "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "groupId": { - "description": "The group identifier.", + "skippedReason": { + "description": "The skipped reason.", "type": "string" }, - "rpGroupType": { - "description": "The group type.", + "skippedReasonString": { + "description": "The skipped reason string.", "type": "string" } }, - "x-ms-discriminator-value": "RecoveryPlanGroupTaskDetails" + "x-ms-discriminator-value": "VirtualMachineTaskDetails" }, - "RecoveryPlanShutdownGroupTaskDetails": { - "description": "This class represents the recovery plan shutdown group task details.", + "VmmDetails": { + "description": "VMM fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/GroupTaskDetails" + "$ref": "#/definitions/FabricSpecificDetails" } ], - "properties": { - "name": { - "description": "The name.", - "type": "string" - }, - "groupId": { - "description": "The group identifier.", - "type": "string" - }, - "rpGroupType": { - "description": "The group type.", - "type": "string" + "properties": {}, + "x-ms-discriminator-value": "VMM" + }, + "VmmToAzureCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to Vmm to Azure Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" } - }, - "x-ms-discriminator-value": "RecoveryPlanShutdownGroupTaskDetails" + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" }, - "AsrJobDetails": { - "description": "This class represents job details based on specific job type.", + "VmmToAzureNetworkMappingSettings": { + "description": "E2A Network Mapping fabric specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" } ], "properties": {}, - "x-ms-discriminator-value": "AsrJobDetails" + "x-ms-discriminator-value": "VmmToAzure" }, - "TestFailoverJobDetails": { - "description": "This class represents the details for a test failover job.", + "VmmToAzureUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behavior specific to vmm to azure.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToAzure" + }, + "VmmToVmmCreateNetworkMappingInput": { + "description": "Create network mappings input properties/behavior specific to vmm to vmm Network mapping.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificCreateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmNetworkMappingSettings": { + "description": "E2E Network Mapping fabric specific settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkMappingFabricSpecificSettings" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmToVmmUpdateNetworkMappingInput": { + "description": "Update network mappings input properties/behavior specific to vmm to vmm.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/FabricSpecificUpdateNetworkMappingInput" + } + ], + "properties": {}, + "x-ms-discriminator-value": "VmmToVmm" + }, + "VmmVirtualMachineDetails": { + "description": "VMM fabric provider specific VM settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/HyperVVirtualMachineDetails" } ], + "properties": {}, + "x-ms-discriminator-value": "VmmVirtualMachine" + }, + "VMNicDetails": { + "description": "Hyper V VM network details.", + "type": "object", "properties": { - "testFailoverStatus": { - "description": "The test failover status.", + "nicId": { + "description": "The nic Id.", + "type": "string" + }, + "replicaNicId": { + "description": "The replica nic Id.", + "type": "string" + }, + "sourceNicArmId": { + "description": "The source nic ARM Id.", + "type": "string" + }, + "vMNetworkName": { + "description": "VM network name.", + "type": "string" + }, + "recoveryVMNetworkId": { + "description": "Recovery VM network Id.", + "type": "string" + }, + "ipConfigs": { + "description": "The IP configurations of the NIC.", + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigDetails" + } + }, + "selectionType": { + "description": "Selection type for failover.", "type": "string" }, - "comments": { - "description": "The test failover comments.", + "recoveryNetworkSecurityGroupId": { + "description": "The id of the NSG associated with the NIC.", "type": "string" }, - "networkName": { - "description": "The test network name.", + "enableAcceleratedNetworkingOnRecovery": { + "description": "A value indicating whether the NIC has accelerated networking enabled.", + "type": "boolean" + }, + "tfoVMNetworkId": { + "description": "The network to be used by NIC during test failover.", "type": "string" }, - "networkFriendlyName": { - "description": "The test network friendly name.", + "tfoNetworkSecurityGroupId": { + "description": "The NSG to be used by NIC during test failover.", "type": "string" }, - "networkType": { - "description": "The test network type (see TestFailoverInput enum for possible values).", + "enableAcceleratedNetworkingOnTfo": { + "description": "Whether the TFO NIC has accelerated networking enabled.", + "type": "boolean" + }, + "recoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs.", "type": "string" }, - "protectedItemDetails": { - "description": "The test VM details.", - "type": "array", - "items": { - "$ref": "#/definitions/TestFailoverReplicationProtectedItemDetails" - } + "recoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs.", + "type": "string" + }, + "reuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.", + "type": "boolean", + "default": false + }, + "tfoRecoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoRecoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoReuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.", + "type": "boolean", + "default": false + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" } - }, - "x-ms-discriminator-value": "TestFailoverJobDetails" + } }, - "TestFailoverReplicationProtectedItemDetails": { - "description": "Test failover details for a replication protected item.", + "VMNicInputDetails": { + "description": "Hyper V VM network input details.", "type": "object", "properties": { - "name": { - "description": "The name.", + "nicId": { + "description": "The nic Id.", "type": "string" }, - "friendlyName": { - "description": "The friendly name.", + "ipConfigs": { + "description": "The IP configurations to be used by NIC during test failover and failover.", + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigInputDetails" + } + }, + "selectionType": { + "description": "Selection type for failover.", "type": "string" }, - "testVmName": { - "description": "The test Vm name.", + "recoveryNetworkSecurityGroupId": { + "description": "The id of the NSG associated with the NIC.", "type": "string" }, - "testVmFriendlyName": { - "description": "The test Vm friendly name.", + "enableAcceleratedNetworkingOnRecovery": { + "description": "Whether the NIC has accelerated networking enabled.", + "type": "boolean" + }, + "tfoNetworkSecurityGroupId": { + "description": "The NSG to be used by NIC during test failover.", "type": "string" }, - "networkConnectionStatus": { - "description": "The network connection status.", + "enableAcceleratedNetworkingOnTfo": { + "description": "Whether the test NIC has accelerated networking enabled.", + "type": "boolean" + }, + "recoveryNicName": { + "description": "The name of the NIC to be used when creating target NICs.", "type": "string" }, - "networkFriendlyName": { - "description": "The network friendly name.", + "recoveryNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs.", "type": "string" }, - "subnet": { - "description": "The network subnet.", + "reuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during failover subject to availability.", + "type": "boolean" + }, + "tfoNicName": { + "description": "The name of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoNicResourceGroupName": { + "description": "The resource group of the NIC to be used when creating target NICs in TFO.", + "type": "string" + }, + "tfoReuseExistingNic": { + "description": "A value indicating whether an existing NIC is allowed to be reused during test failover subject to availability.", + "type": "boolean" + }, + "targetNicName": { + "description": "Target NIC name.", "type": "string" } } }, - "ExportJobDetails": { - "description": "This class represents details for export jobs workflow.", + "VmNicUpdatesTaskDetails": { + "description": "This class represents the vm NicUpdates task details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/JobDetails" + "$ref": "#/definitions/TaskTypeDetails" } ], "properties": { - "blobUri": { - "description": "BlobUri of the exported jobs.", + "vmId": { + "description": "Virtual machine Id.", "type": "string" }, - "sasToken": { - "description": "The sas token to access blob.", + "nicId": { + "description": "Nic Id.", "type": "string" - } - }, - "x-ms-discriminator-value": "ExportJobDetails" - }, - "SwitchProtectionJobDetails": { - "description": "This class represents details for switch protection job.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/JobDetails" - } - ], - "properties": { - "newReplicationProtectedItemId": { - "description": "ARM Id of the new replication protected item.", + }, + "name": { + "description": "Name of the Nic.", "type": "string" } }, - "x-ms-discriminator-value": "SwitchProtectionJobDetails" + "x-ms-discriminator-value": "VmNicUpdatesTaskDetails" }, - "A2AContainerCreationInput": { - "description": "A2A cloud creation input.", + "VMwareCbtContainerCreationInput": { + "description": "VMwareCbt container creation input.", "type": "object", "allOf": [ { @@ -12427,395 +22619,574 @@ } ], "properties": {}, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VMwareCbt" }, - "A2ASwitchProtectionInput": { - "description": "A2A specific switch protection input.", + "VMwareCbtContainerMappingInput": { + "description": "VMwareCbt container mapping input.", + "required": [ + "keyVaultId", + "keyVaultUri", + "storageAccountId", + "storageAccountSasSecretName", + "serviceBusConnectionStringSecretName", + "targetLocation" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/SwitchProtectionProviderSpecificInput" + "$ref": "#/definitions/ReplicationProviderSpecificContainerMappingInput" } ], "properties": { - "recoveryContainerId": { - "description": "The recovery container Id.", + "keyVaultId": { + "description": "The target key vault ARM Id.", "type": "string" }, - "vmDisks": { - "description": "The list of vm disk details.", - "type": "array", - "items": { - "$ref": "#/definitions/A2AVmDiskInputDetails" - } + "keyVaultUri": { + "description": "The target key vault URL.", + "type": "string" }, - "recoveryResourceGroupId": { - "description": "The recovery resource group Id. Valid for V2 scenarios.", + "storageAccountId": { + "description": "The storage account ARM Id.", "type": "string" }, - "recoveryCloudServiceId": { - "description": "The recovery cloud service Id. Valid for V1 scenarios.", + "storageAccountSasSecretName": { + "description": "The secret name of the storage account.", "type": "string" }, - "recoveryAvailabilitySetId": { - "description": "The recovery availability set.", + "serviceBusConnectionStringSecretName": { + "description": "The secret name of the service bus connection string.", "type": "string" }, - "policyId": { - "description": "The Policy Id.", + "targetLocation": { + "description": "The target location.", "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VMwareCbt" }, - "HyperVReplicaAzurePolicyDetails": { - "description": "Hyper-V Replica Azure specific protection profile details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } + "VMwareCbtDiskInput": { + "description": "VMwareCbt disk input.", + "required": [ + "diskId", + "isOSDisk", + "logStorageAccountId", + "logStorageAccountSasSecretName" ], + "type": "object", "properties": { - "recoveryPointHistoryDurationInHours": { - "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be \r\n maintained.", - "type": "integer" + "diskId": { + "description": "The disk Id.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an\r\n application consistent snapshot within the VM.", - "type": "integer" + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } }, - "replicationInterval": { - "format": "int32", - "description": "The replication interval.", - "type": "integer" + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string" }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter \r\n is Null, the initial replication starts immediately.", + "logStorageAccountId": { + "description": "The log storage account ARM Id.", "type": "string" }, - "encryption": { - "description": "A value indicating whether encryption is enabled for virtual machines\r\n in this cloud.", + "logStorageAccountSasSecretName": { + "description": "The key vault secret name of the log storage account.", "type": "string" }, - "activeStorageAccountId": { - "description": "The active storage account Id.", + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + } }, - "HyperVReplicaBasePolicyDetails": { - "description": "Base class for HyperVReplica policy details.", + "VMwareCbtEnableMigrationInput": { + "description": "VMwareCbt specific enable migration input.", + "required": [ + "vmwareMachineId", + "disksToInclude", + "dataMoverRunAsAccountId", + "snapshotRunAsAccountId", + "targetResourceGroupId", + "targetNetworkId", + "instanceType" + ], "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/EnableMigrationProviderSpecificInput" } ], "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" + "vmwareMachineId": { + "description": "The ARM Id of the VM discovered in VMware.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "disksToInclude": { + "description": "The disks to include list.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtDiskInput" + } }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "licenseType": { + "description": "License type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "WindowsServer" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "dataMoverRunAsAccountId": { + "description": "The data mover run as account Id.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "snapshotRunAsAccountId": { + "description": "The snapshot run as account Id.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "targetVmName": { + "description": "The target VM name.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "targetVmSize": { + "description": "The target VM size.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "targetSubnetName": { + "description": "The target subnet name.", + "type": "string" }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted.\r\n Supported Values: String.Empty, None, OnRecoveryCloud", + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group ARM Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "seedDiskTags": { + "description": "The tags for the seed disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtEventDetails": { + "description": "Event details for VMwareCbt provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventProviderSpecificDetails" + } + ], + "properties": { + "migrationItemName": { + "description": "The migration item name.", + "type": "string", + "readOnly": true + } + }, + "x-ms-discriminator-value": "VMwareCbt" + }, + "VMwareCbtMigrateInput": { + "description": "VMwareCbt specific migrate input.", + "required": [ + "performShutdown", + "instanceType" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/MigrateProviderSpecificInput" + } + ], + "properties": { + "performShutdown": { + "description": "A value indicating whether VM is to be shutdown.", "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplicaBasePolicyDetails" + "x-ms-discriminator-value": "VMwareCbt" }, - "HyperVReplicaPolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", + "VMwareCbtMigrationDetails": { + "description": "VMwareCbt provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificDetails" + "$ref": "#/definitions/MigrationProviderSpecificSettings" } ], "properties": { - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "vmwareMachineId": { + "description": "The ARM Id of the VM discovered in VMware.", + "type": "string", + "readOnly": true }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" + "osType": { + "description": "The type of the OS on the VM.", + "type": "string", + "readOnly": true }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", - "type": "string" + "firmwareType": { + "description": "The firmware type.", + "type": "string", + "readOnly": true }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", - "type": "string" + "targetGeneration": { + "description": "The target generation.", + "type": "string", + "readOnly": true }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "licenseType": { + "description": "License Type of the VM to be used.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "sqlServerLicenseType": { + "description": "The SQL Server license type.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "dataMoverRunAsAccountId": { + "description": "The data mover run as account Id.", + "type": "string", + "readOnly": true }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "snapshotRunAsAccountId": { + "description": "The snapshot run as account Id.", + "type": "string", + "readOnly": true }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted.\r\n Supported Values: String.Empty, None, OnRecoveryCloud", + "targetVmName": { + "description": "Target VM name.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplica2012" - }, - "HyperVReplicaBluePolicyDetails": { - "description": "Hyper-V Replica Blue specific protection profile details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" + "targetVmSize": { + "description": "The target VM size.", + "type": "string" }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "targetLocation": { + "description": "The target location.", + "type": "string", + "readOnly": true }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", + "targetResourceGroupId": { + "description": "The target resource group Id.", "type": "string" }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", + "targetAvailabilitySetId": { + "description": "The target availability set Id.", "type": "string" }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", + "targetAvailabilityZone": { + "description": "The target availability zone.", "type": "string" }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group Id.", "type": "string" }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", "type": "string" }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "targetVmTags": { + "description": "The target VM tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "protectedDisks": { + "description": "The list of protected disks.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtProtectedDiskDetails" + } }, - "replicaDeletionOption": { - "description": "A value indicating whether the VM has to be auto deleted.\r\n Supported Values: String.Empty, None, OnRecoveryCloud", + "targetNetworkId": { + "description": "The target network Id.", "type": "string" - } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" - }, - "InMageBasePolicyDetails": { - "description": "Base class for the policies of providers using InMage replication.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" + "vmNics": { + "description": "The network details.", + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtNicDetails" + } }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "targetNicTags": { + "description": "The tags for the target NICs.", + "type": "object", + "additionalProperties": { + "type": "string" + } }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", - "type": "string" - } - }, - "x-ms-discriminator-value": "InMageBasePolicyDetails" - }, - "InMageAzureV2PolicyDetails": { - "description": "InMage Azure v2 specific protection profile details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], - "properties": { - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "migrationRecoveryPointId": { + "description": "The recovery point Id to which the VM was migrated.", + "type": "string", + "readOnly": true }, - "recoveryPointThresholdInMinutes": { + "lastRecoveryPointReceived": { + "format": "date-time", + "description": "The last recovery point received time.", + "type": "string", + "readOnly": true + }, + "lastRecoveryPointId": { + "description": "The last recovery point Id.", + "type": "string", + "readOnly": true + }, + "initialSeedingProgressPercentage": { "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "description": "The initial seeding progress percentage.", + "type": "integer", + "readOnly": true }, - "recoveryPointHistory": { + "migrationProgressPercentage": { "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" + "description": "The migration progress percentage.", + "type": "integer", + "readOnly": true }, - "appConsistentFrequencyInMinutes": { + "resyncProgressPercentage": { "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "description": "The resync progress percentage.", + "type": "integer", + "readOnly": true }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "initialSeedingRetryCount": { + "format": "int64", + "description": "The initial seeding retry count.", + "type": "integer", + "readOnly": true + }, + "resyncRetryCount": { + "format": "int64", + "description": "The resync retry count.", + "type": "integer", + "readOnly": true + }, + "resyncRequired": { + "description": "A value indicating whether resync is required.", + "type": "string", + "readOnly": true + }, + "resyncState": { + "description": "The resync state.", + "enum": [ + "None", + "PreparedForResynchronization", + "StartedResynchronization" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ResyncState", + "modelAsString": true + } + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", "type": "string" + }, + "seedDiskTags": { + "description": "The tags for the seed disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "type": "object", + "additionalProperties": { + "type": "string" + } } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "VMwareCbt" }, - "InMagePolicyDetails": { - "description": "InMage specific protection profile details.", + "VMwareCbtNicDetails": { + "description": "VMwareCbt NIC details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } - ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "nicId": { + "description": "The NIC Id.", + "type": "string", + "readOnly": true + }, + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" + }, + "sourceIPAddress": { + "description": "The source IP address.", + "type": "string", + "readOnly": true + }, + "sourceIPAddressType": { + "description": "The source IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" + "sourceNetworkId": { + "description": "Source network Id.", + "type": "string", + "readOnly": true }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "targetIPAddress": { + "description": "The target IP address.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "targetIPAddressType": { + "description": "The target IP address type.", + "enum": [ + "Dynamic", + "Static" + ], + "type": "string", + "x-ms-enum": { + "name": "EthernetAddressType", + "modelAsString": true + } + }, + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" + }, + "isSelectedForMigration": { + "description": "A value indicating whether this NIC is selected for migration.", "type": "string" } - }, - "x-ms-discriminator-value": "InMage" + } }, - "A2APolicyDetails": { - "description": "A2A specific policy details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificDetails" - } + "VMwareCbtNicInput": { + "description": "VMwareCbt NIC input.", + "required": [ + "nicId", + "isPrimaryNic" ], + "type": "object", "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "nicId": { + "description": "The NIC Id.", + "type": "string" }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" + "isPrimaryNic": { + "description": "A value indicating whether this is the primary NIC.", + "type": "string" }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency in minutes.", - "type": "integer" + "targetSubnetName": { + "description": "Target subnet name.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.", + "targetStaticIPAddress": { + "description": "The static IP address.", "type": "string" }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency in minutes.", - "type": "integer" + "isSelectedForMigration": { + "description": "A value indicating whether this NIC is selected for migration.", + "type": "string" + }, + "targetNicName": { + "description": "Target NIC name.", + "type": "string" } - }, - "x-ms-discriminator-value": "A2A" + } }, - "HyperVReplicaAzurePolicyInput": { - "description": "Hyper-V Replica Azure specific input for creating a protection profile.", + "VMwareCbtPolicyCreationInput": { + "description": "VMware Cbt policy creation input.", "type": "object", "allOf": [ { @@ -12823,564 +23194,635 @@ } ], "properties": { - "recoveryPointHistoryDuration": { + "recoveryPointHistoryInMinutes": { "format": "int32", - "description": "The duration (in hours) to which point the recovery history needs to be \r\n maintained.", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "applicationConsistentSnapshotFrequencyInHours": { + "crashConsistentFrequencyInMinutes": { "format": "int32", - "description": "The interval (in hours) at which Hyper-V Replica should create an\r\n application consistent snapshot within the VM.", + "description": "The crash consistent snapshot frequency (in minutes).", "type": "integer" }, - "replicationInterval": { + "appConsistentFrequencyInMinutes": { "format": "int32", - "description": "The replication interval.", + "description": "The app consistent snapshot frequency (in minutes).", "type": "integer" - }, - "onlineReplicationStartTime": { - "description": "The scheduled start time for the initial replication. If this parameter \r\n is Null, the initial replication starts immediately.", - "type": "string" - }, - "encryption": { - "description": "A value indicating whether encryption needs to be enabled for Vms in this cloud.", - "type": "string" - }, - "storageAccounts": { - "description": "The list of storage accounts to which the VMs in the primary cloud can \r\n replicate to.", - "type": "array", - "items": { - "type": "string" - } } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "x-ms-discriminator-value": "VMwareCbt" }, - "HyperVReplicaPolicyInput": { - "description": "Hyper-V Replica specific protection profile Input.", + "VmwareCbtPolicyDetails": { + "description": "VMware Cbt specific policy details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/PolicyProviderSpecificDetails" } ], "properties": { - "recoveryPoints": { + "recoveryPointHistoryInMinutes": { "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" - }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", + "description": "The duration in minutes until which the recovery points need to be stored.", "type": "integer" }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" - }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", - "type": "string" - }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", - "type": "string" - }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", - "type": "string" - }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", - "type": "string" - }, - "replicationPort": { + "appConsistentFrequencyInMinutes": { "format": "int32", - "description": "A value indicating the recovery HTTPS port.", + "description": "The app consistent snapshot frequency in minutes.", "type": "integer" }, - "allowedAuthenticationType": { + "crashConsistentFrequencyInMinutes": { "format": "int32", - "description": "A value indicating the authentication type.", + "description": "The crash consistent snapshot frequency in minutes.", "type": "integer" - }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", - "type": "string" } }, - "x-ms-discriminator-value": "HyperVReplica2012" + "x-ms-discriminator-value": "VMwareCbt" }, - "HyperVReplicaBluePolicyInput": { - "description": "HyperV Replica Blue policy input.", + "VMwareCbtProtectedDiskDetails": { + "description": "VMwareCbt protected disk details.", "type": "object", - "allOf": [ - { - "$ref": "#/definitions/PolicyProviderSpecificInput" - } - ], "properties": { - "replicationFrequencyInSeconds": { - "format": "int32", - "description": "A value indicating the replication interval.", - "type": "integer" + "diskId": { + "description": "The disk id.", + "type": "string", + "readOnly": true }, - "recoveryPoints": { - "format": "int32", - "description": "A value indicating the number of recovery points.", - "type": "integer" + "diskName": { + "description": "The disk name.", + "type": "string", + "readOnly": true }, - "applicationConsistentSnapshotFrequencyInHours": { - "format": "int32", - "description": "A value indicating the application consistent frequency.", - "type": "integer" + "diskType": { + "description": "The disk type.", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "type": "string", + "x-ms-enum": { + "name": "DiskAccountType", + "modelAsString": true + } }, - "compression": { - "description": "A value indicating whether compression has to be enabled.", - "type": "string" + "diskPath": { + "description": "The disk path.", + "type": "string", + "readOnly": true }, - "initialReplicationMethod": { - "description": "A value indicating whether IR is online.", - "type": "string" + "isOSDisk": { + "description": "A value indicating whether the disk is the OS disk.", + "type": "string", + "readOnly": true }, - "onlineReplicationStartTime": { - "description": "A value indicating the online IR start time.", - "type": "string" + "capacityInBytes": { + "format": "int64", + "description": "The disk capacity in bytes.", + "type": "integer", + "readOnly": true }, - "offlineReplicationImportPath": { - "description": "A value indicating the offline IR import path.", - "type": "string" + "logStorageAccountId": { + "description": "The log storage account ARM Id.", + "type": "string", + "readOnly": true }, - "offlineReplicationExportPath": { - "description": "A value indicating the offline IR export path.", - "type": "string" + "logStorageAccountSasSecretName": { + "description": "The key vault secret name of the log storage account.", + "type": "string", + "readOnly": true }, - "replicationPort": { - "format": "int32", - "description": "A value indicating the recovery HTTPS port.", - "type": "integer" + "diskEncryptionSetId": { + "description": "The DiskEncryptionSet ARM Id.", + "type": "string", + "readOnly": true }, - "allowedAuthenticationType": { - "format": "int32", - "description": "A value indicating the authentication type.", - "type": "integer" + "seedManagedDiskId": { + "description": "The ARM Id of the seed managed disk.", + "type": "string", + "readOnly": true }, - "replicaDeletion": { - "description": "A value indicating whether the VM has to be auto deleted.", + "targetManagedDiskId": { + "description": "The ARM Id of the target managed disk.", + "type": "string", + "readOnly": true + }, + "targetDiskName": { + "description": "The name for the target managed disk.", "type": "string" } - }, - "x-ms-discriminator-value": "HyperVReplica2012R2" + } }, - "InMageAzureV2PolicyInput": { - "description": "VMWare Azure specific protection profile Input.", - "required": [ - "multiVmSyncStatus" - ], + "VMwareCbtProtectionContainerMappingDetails": { + "description": "VMwareCbt provider specific container mapping details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/ProtectionContainerMappingProviderSpecificDetails" } ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" + "keyVaultId": { + "description": "The target key vault ARM Id.", + "type": "string", + "readOnly": true }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" + "keyVaultUri": { + "description": "The target key vault URI.", + "type": "string", + "readOnly": true }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" + "storageAccountId": { + "description": "The storage account ARM Id.", + "type": "string", + "readOnly": true }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" + "storageAccountSasSecretName": { + "description": "The secret name of the storage account.", + "type": "string", + "readOnly": true }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.\r\n Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], + "serviceBusConnectionStringSecretName": { + "description": "The secret name of the service bus connection string.", "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "readOnly": true + }, + "targetLocation": { + "description": "The target location.", + "type": "string", + "readOnly": true } }, - "x-ms-discriminator-value": "InMageAzureV2" + "x-ms-discriminator-value": "VMwareCbt" }, - "InMagePolicyInput": { - "description": "VMWare Azure specific protection profile Input.", + "VMwareCbtResyncInput": { + "description": "VMwareCbt specific resync input.", "required": [ - "multiVmSyncStatus" + "skipCbtReset", + "instanceType" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/ResyncProviderSpecificInput" } ], "properties": { - "recoveryPointThresholdInMinutes": { - "format": "int32", - "description": "The recovery point threshold in minutes.", - "type": "integer" - }, - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" - }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.\r\n Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "skipCbtReset": { + "description": "A value indicating whether CBT is to be reset.", + "type": "string" } }, - "x-ms-discriminator-value": "InMage" + "x-ms-discriminator-value": "VMwareCbt" }, - "A2APolicyCreationInput": { - "description": "A2A Policy creation input.", + "VMwareCbtTestMigrateInput": { + "description": "VMwareCbt specific test migrate input.", "required": [ - "multiVmSyncStatus" + "recoveryPointId", + "networkId", + "instanceType" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/PolicyProviderSpecificInput" + "$ref": "#/definitions/TestMigrateProviderSpecificInput" } ], "properties": { - "recoveryPointHistory": { - "format": "int32", - "description": "The duration in minutes until which the recovery points need to be \r\n stored.", - "type": "integer" - }, - "crashConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The crash consistent snapshot frequency (in minutes).", - "type": "integer" - }, - "appConsistentFrequencyInMinutes": { - "format": "int32", - "description": "The app consistent snapshot frequency (in minutes).", - "type": "integer" + "recoveryPointId": { + "description": "The recovery point Id.", + "type": "string" }, - "multiVmSyncStatus": { - "description": "A value indicating whether multi-VM sync has to be enabled.\r\n Value should be 'Enabled' or 'Disabled'.", - "enum": [ - "Enable", - "Disable" - ], - "type": "string", - "x-ms-enum": { - "name": "SetMultiVmSyncStatus", - "modelAsString": false - } + "networkId": { + "description": "The test network Id.", + "type": "string" } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VMwareCbt" }, - "RecoveryPlanScriptActionDetails": { - "description": "Recovery plan script action details.", + "VMwareCbtUpdateDiskInput": { + "description": "VMwareCbt disk input for update.", "required": [ - "path", - "fabricLocation" + "diskId" ], "type": "object", + "properties": { + "diskId": { + "description": "The disk Id.", + "type": "string" + }, + "targetDiskName": { + "description": "The target disk name.", + "type": "string" + } + } + }, + "VMwareCbtUpdateMigrationItemInput": { + "description": "VMwareCbt specific update migration item input.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/UpdateMigrationItemProviderSpecificInput" } ], "properties": { - "path": { - "description": "The script path.", + "targetVmName": { + "description": "The target VM name.", "type": "string" }, - "timeout": { - "description": "The script timeout.", + "targetVmSize": { + "description": "The target VM size.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", + "targetResourceGroupId": { + "description": "The target resource group ARM Id.", + "type": "string" + }, + "targetAvailabilitySetId": { + "description": "The target availability set ARM Id.", + "type": "string" + }, + "targetAvailabilityZone": { + "description": "The target availability zone.", + "type": "string" + }, + "targetProximityPlacementGroupId": { + "description": "The target proximity placement group ARM Id.", + "type": "string" + }, + "targetBootDiagnosticsStorageAccountId": { + "description": "The target boot diagnostics storage account ARM Id.", + "type": "string" + }, + "targetNetworkId": { + "description": "The target network ARM Id.", + "type": "string" + }, + "vmNics": { + "description": "The list of NIC details.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtNicInput" + } + }, + "vmDisks": { + "description": "The list of disk update properties.", + "minLength": 1, + "type": "array", + "items": { + "$ref": "#/definitions/VMwareCbtUpdateDiskInput" + } + }, + "licenseType": { + "description": "The license type.", "enum": [ - "Primary", - "Recovery" + "NotSpecified", + "NoLicenseType", + "WindowsServer" ], "type": "string", "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false + "name": "LicenseType", + "modelAsString": true + } + }, + "sqlServerLicenseType": { + "description": "The SQL Server license type.", + "enum": [ + "NotSpecified", + "NoLicenseType", + "PAYG", + "AHUB" + ], + "type": "string", + "x-ms-enum": { + "name": "SqlServerLicenseType", + "modelAsString": true + } + }, + "performAutoResync": { + "description": "A value indicating whether auto resync is to be done.", + "type": "string" + }, + "targetVmTags": { + "description": "The target VM tags.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetDiskTags": { + "description": "The tags for the target disks.", + "maxLength": 49, + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetNicTags": { + "description": "The tags for the target NICs.", + "maxLength": 50, + "type": "object", + "additionalProperties": { + "type": "string" } } }, - "x-ms-discriminator-value": "ScriptActionDetails" + "x-ms-discriminator-value": "VMwareCbt" }, - "RecoveryPlanAutomationRunbookActionDetails": { - "description": "Recovery plan Automation runbook action details.", - "required": [ - "fabricLocation" - ], + "VMwareDetails": { + "description": "Store the fabric details specific to the VMware fabric.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanActionDetails" + "$ref": "#/definitions/FabricSpecificDetails" } ], "properties": { - "runbookId": { - "description": "The runbook ARM Id.", + "processServers": { + "description": "The list of Process Servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServer" + } + }, + "masterTargetServers": { + "description": "The list of Master Target servers associated with the fabric.", + "type": "array", + "items": { + "$ref": "#/definitions/MasterTargetServer" + } + }, + "runAsAccounts": { + "description": "The list of run as accounts created on the server.", + "type": "array", + "items": { + "$ref": "#/definitions/RunAsAccount" + } + }, + "replicationPairCount": { + "description": "The number of replication pairs configured in this CS.", + "type": "string" + }, + "processServerCount": { + "description": "The number of process servers.", + "type": "string" + }, + "agentCount": { + "description": "The number of source and target servers configured to talk to this CS.", + "type": "string" + }, + "protectedServers": { + "description": "The number of protected servers.", + "type": "string" + }, + "systemLoad": { + "description": "The percentage of the system load.", + "type": "string" + }, + "systemLoadStatus": { + "description": "The system load status.", + "type": "string" + }, + "cpuLoad": { + "description": "The percentage of the CPU load.", + "type": "string" + }, + "cpuLoadStatus": { + "description": "The CPU load status.", + "type": "string" + }, + "totalMemoryInBytes": { + "format": "int64", + "description": "The total memory.", + "type": "integer" + }, + "availableMemoryInBytes": { + "format": "int64", + "description": "The available memory.", + "type": "integer" + }, + "memoryUsageStatus": { + "description": "The memory usage status.", + "type": "string" + }, + "totalSpaceInBytes": { + "format": "int64", + "description": "The total space.", + "type": "integer" + }, + "availableSpaceInBytes": { + "format": "int64", + "description": "The available space.", + "type": "integer" + }, + "spaceUsageStatus": { + "description": "The space usage status.", + "type": "string" + }, + "webLoad": { + "description": "The web load.", + "type": "string" + }, + "webLoadStatus": { + "description": "The web load status.", + "type": "string" + }, + "databaseServerLoad": { + "description": "The database server load.", + "type": "string" + }, + "databaseServerLoadStatus": { + "description": "The database server load status.", + "type": "string" + }, + "csServiceStatus": { + "description": "The CS service status.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "agentVersion": { + "description": "The agent Version.", + "type": "string" + }, + "hostName": { + "description": "The host name.", "type": "string" }, - "timeout": { - "description": "The runbook timeout.", + "lastHeartbeat": { + "format": "date-time", + "description": "The last heartbeat received from CS server.", "type": "string" }, - "fabricLocation": { - "description": "The fabric location.", - "enum": [ - "Primary", - "Recovery" - ], - "type": "string", - "x-ms-enum": { - "name": "RecoveryPlanActionLocation", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "AutomationRunbookActionDetails" - }, - "RecoveryPlanManualActionDetails": { - "description": "Recovery plan manual action details.", - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanActionDetails" - } - ], - "properties": { - "description": { - "description": "The manual action description.", + "versionStatus": { + "description": "Version status.", + "type": "string" + }, + "sslCertExpiryDate": { + "format": "date-time", + "description": "CS SSL cert expiry date.", + "type": "string" + }, + "sslCertExpiryRemainingDays": { + "format": "int32", + "description": "CS SSL cert expiry date.", + "type": "integer" + }, + "psTemplateVersion": { + "description": "PS template version.", + "type": "string" + }, + "agentExpiryDate": { + "format": "date-time", + "description": "Agent expiry date.", "type": "string" + }, + "agentVersionDetails": { + "$ref": "#/definitions/VersionDetails", + "description": "The agent version details." } }, - "x-ms-discriminator-value": "ManualActionDetails" + "x-ms-discriminator-value": "VMware" }, - "RecoveryPlanHyperVReplicaAzureFailoverInput": { - "description": "Recovery plan HVR Azure failover input.", + "VMwareV2FabricCreationInput": { + "description": "VMwareV2 fabric provider specific settings.", "required": [ - "vaultLocation" + "migrationSolutionId" ], "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FabricSpecificCreationInput" } ], "properties": { - "vaultLocation": { - "description": "The vault location.", + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", "type": "string" }, - "primaryKekCertificatePfx": { - "description": "The primary KEK certificate PFX.", + "physicalSiteId": { + "description": "The ARM Id of the physical site.", "type": "string" }, - "secondaryKekCertificatePfx": { - "description": "The secondary KEK certificate PFX.", + "migrationSolutionId": { + "description": "The ARM Id of the migration solution.", "type": "string" - }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestProcessed" - ], - "type": "string", - "x-ms-enum": { - "name": "HyperVReplicaAzureRpRecoveryPointType", - "modelAsString": false - } } }, - "x-ms-discriminator-value": "HyperVReplicaAzure" + "x-ms-discriminator-value": "VMwareV2" }, - "RecoveryPlanHyperVReplicaAzureFailbackInput": { - "description": "Recovery plan HVR Azure failback input.", - "required": [ - "dataSyncOption", - "recoveryVmCreationOption" - ], + "VMwareV2FabricSpecificDetails": { + "description": "VMwareV2 fabric specific details.", "type": "object", "allOf": [ { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" + "$ref": "#/definitions/FabricSpecificDetails" } ], "properties": { - "dataSyncOption": { - "description": "The data sync option.", - "enum": [ - "ForDownTime", - "ForSynchronization" - ], + "vmwareSiteId": { + "description": "The ARM Id of the VMware site.", "type": "string", - "x-ms-enum": { - "name": "DataSyncStatus", - "modelAsString": false - } + "readOnly": true }, - "recoveryVmCreationOption": { - "description": "The ALR option.", - "enum": [ - "CreateVmIfNotFound", - "NoAction" - ], + "physicalSiteId": { + "description": "The ARM Id of the physical site.", "type": "string", - "x-ms-enum": { - "name": "AlternateLocationRecoveryOption", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "HyperVReplicaAzureFailback" - }, - "RecoveryPlanInMageAzureV2FailoverInput": { - "description": "Recovery plan InMageAzureV2 failover input.", - "required": [ - "vaultLocation", - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "vaultLocation": { - "description": "The vault location.", - "type": "string" + "readOnly": true }, - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], + "migrationSolutionId": { + "description": "The Migration solution ARM Id.", "type": "string", - "x-ms-enum": { - "name": "InMageV2RpRecoveryPointType", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "InMageAzureV2" - }, - "RecoveryPlanInMageFailoverInput": { - "description": "Recovery plan InMage failover input.", - "required": [ - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "LatestTime", - "LatestTag", - "Custom" - ], + "readOnly": true + }, + "serviceEndpoint": { + "description": "The service endpoint.", "type": "string", - "x-ms-enum": { - "name": "RpInMageRecoveryPointType", - "modelAsString": false - } - } - }, - "x-ms-discriminator-value": "InMage" - }, - "RecoveryPlanA2AFailoverInput": { - "description": "Recovery plan A2A failover input.", - "required": [ - "recoveryPointType" - ], - "type": "object", - "allOf": [ - { - "$ref": "#/definitions/RecoveryPlanProviderSpecificFailoverInput" - } - ], - "properties": { - "recoveryPointType": { - "description": "The recovery point type.", - "enum": [ - "Latest", - "LatestApplicationConsistent", - "LatestCrashConsistent", - "LatestProcessed" - ], + "readOnly": true + }, + "serviceResourceId": { + "description": "The service resource Id.", "type": "string", - "x-ms-enum": { - "name": "A2ARpRecoveryPointType", - "modelAsString": false - } + "readOnly": true }, - "cloudServiceCreationOption": { - "description": "A value indicating whether to use recovery cloud service for TFO or not.", - "type": "string" + "serviceContainerId": { + "description": "The service container Id.", + "type": "string", + "readOnly": true + }, + "processServers": { + "description": "The list of process servers.", + "type": "array", + "items": { + "$ref": "#/definitions/ProcessServerDetails" + }, + "readOnly": true } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VMwareV2" }, - "AzureFabricCreationInput": { - "description": "Fabric provider specific settings.", + "VMwareVirtualMachineDetails": { + "description": "VMware provider specific settings.", "type": "object", "allOf": [ { - "$ref": "#/definitions/FabricSpecificCreationInput" + "$ref": "#/definitions/ConfigurationSettings" } ], "properties": { - "location": { - "description": "The Location.", + "agentGeneratedId": { + "description": "The ID generated by the InMage agent after it gets installed on guest. This is the ID to be used during InMage CreateProtection.", + "type": "string" + }, + "agentInstalled": { + "description": "The value indicating if InMage scout agent is installed on guest.", + "type": "string" + }, + "osType": { + "description": "The OsType installed on VM.", + "type": "string" + }, + "agentVersion": { + "description": "The agent version.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address.", + "type": "string" + }, + "poweredOn": { + "description": "The value indicating whether VM is powered on.", + "type": "string" + }, + "vCenterInfrastructureId": { + "description": "The VCenter infrastructure Id.", + "type": "string" + }, + "discoveryType": { + "description": "A value indicating the discovery type of the machine. Value can be vCenter or physical.", "type": "string" + }, + "diskDetails": { + "description": "The disk details.", + "type": "array", + "items": { + "$ref": "#/definitions/InMageDiskDetails" + } + }, + "validationErrors": { + "description": "The validation errors.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthError" + } } }, - "x-ms-discriminator-value": "A2A" + "x-ms-discriminator-value": "VMwareVirtualMachine" } }, "parameters": { @@ -13396,14 +23838,16 @@ "in": "path", "description": "The name of the resource group where the recovery services vault is present.", "required": true, - "type": "string" + "type": "string", + "x-ms-parameter-location": "client" }, "ResourceName": { "name": "resourceName", "in": "path", "description": "The name of the recovery services vault.", "required": true, - "type": "string" + "type": "string", + "x-ms-parameter-location": "client" }, "ApiVersion": { "name": "api-version", @@ -13415,13 +23859,13 @@ }, "securityDefinitions": { "azure_auth": { - "type": "oauth2", - "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account." - } + }, + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow" } }, "security": [ @@ -13430,5 +23874,6 @@ "user_impersonation" ] } - ] -} \ No newline at end of file + ], + "tags": [] +} diff --git a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaults.json b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaults.json index c88c1381..fd16afee 100644 --- a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaults.json +++ b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaults.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-06-01", + "version": "2021-08-01", "title": "RecoveryServicesClient", "x-ms-code-generation-settings": { "internalConstructors": false @@ -18,6 +18,172 @@ "application/json" ], "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources": { + "get": { + "tags": [ + "ListPrivateLinkResources" + ], + "summary": "Returns the list of private link resources that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-pageable": { + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List PrivateLinkResources": { + "$ref": "./examples/ListPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/privateLinkResources/{privateLinkResourceName}": { + "get": { + "tags": [ + "GetPrivateLinkResources" + ], + "summary": "Returns a specified private link resource that need to be created for Backup and SiteRecovery", + "operationId": "PrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "privateLinkResourceName", + "in": "path", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Get PrivateLinkResource": { + "$ref": "./examples/GetPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "RecoveryServices" + ], + "summary": "API to check for resource name availability.\r\nA name is available if no other resource exists that has the same SubscriptionId, Resource Name and Type\r\nor if one or more such resources exist, each of these must be GC'd and their time of deletion be more than 24 Hours Ago", + "operationId": "RecoveryServices_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/ApiVersion" + }, + { + "name": "location", + "in": "path", + "description": "Location of the resource", + "required": true, + "type": "string" + }, + { + "name": "input", + "in": "body", + "description": "Contains information about Resource type and Resource name", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityParameters" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Availability status of Resource Name when no resource with same name, type and subscription exists, nor has been deleted within last 24 hours": { + "$ref": "./examples/CheckNameAvailability_Available.json" + }, + "Availability status of Resource Name when resource with same name, type and subscription exists": { + "$ref": "./examples/CheckNameAvailability_NotAvailable.json" + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.RecoveryServices/vaults": { "get": { "tags": [ @@ -42,15 +208,27 @@ "schema": { "$ref": "#/definitions/VaultList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "deprecated": false, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in SubscriptionId": { + "$ref": "./examples/ListBySubscriptionIds.json" + } } } }, - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { + "/providers/Microsoft.RecoveryServices/operations": { "get": { "tags": [ "Operations" @@ -61,14 +239,8 @@ "application/json" ], "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, { "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceGroupName" } ], "responses": { @@ -77,11 +249,23 @@ "schema": { "$ref": "#/definitions/ClientDiscoveryResponse" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "deprecated": false, "x-ms-pageable": { - "nextLinkName": "NextLink" + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "ListOperations": { + "$ref": "./examples/ListOperations.json" + } } } }, @@ -112,11 +296,23 @@ "schema": { "$ref": "#/definitions/VaultList" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "deprecated": false, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink", + "itemName": "value" + }, + "x-ms-examples": { + "List of Recovery Services Resources in ResourceGroup": { + "$ref": "./examples/ListResources.json" + } } } }, @@ -150,9 +346,20 @@ "schema": { "$ref": "#/definitions/Vault" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get Recovery Services Resource": { + "$ref": "./examples/GETVault.json" + } + } }, "put": { "tags": [ @@ -201,9 +408,27 @@ "schema": { "$ref": "#/definitions/Vault" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "deprecated": false, + "x-ms-examples": { + "Create or Update Recovery Services vault": { + "$ref": "./examples/PUTVault.json" + }, + "Create or Update Vault with User Assigned Identity": { + "$ref": "./examples/PUTVault_WithUserAssignedIdentity.json" + }, + "Create or Update Vault with CustomerManagedKeys": { + "$ref": "./examples/PUTVault_WithCMK.json" } }, - "deprecated": false + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -231,9 +456,20 @@ "responses": { "200": { "description": "OK" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Delete Recovery Services Vault": { + "$ref": "./examples/DeleteVault.json" + } + } }, "patch": { "tags": [ @@ -266,7 +502,7 @@ "description": "Recovery Services Vault to be created.", "required": true, "schema": { - "$ref": "#/definitions/Vault" + "$ref": "#/definitions/PatchVault" } } ], @@ -277,14 +513,35 @@ "$ref": "#/definitions/Vault" } }, - "201": { - "description": "Created", + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Vault" + "$ref": "#/definitions/CloudError" } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Update Resource": { + "$ref": "./examples/PATCHVault.json" + }, + "Update Resource With User Assigned Identity": { + "$ref": "./examples/PATCHVault_WithUserAssignedIdentity.json" + }, + "Update Resource With CustomerManagedKeys": { + "$ref": "./examples/PATCHVault_WithCMK.json" + }, + "Update Resource With CustomerManagedKeys2": { + "$ref": "./examples/PatchVault_WithCMK2.json" + }, + "Update Resource With CustomerManagedKeys3": { + "$ref": "./examples/PATCHVault_WithCMK3.json" + } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/extendedInformation/vaultExtendedInfo": { @@ -317,9 +574,20 @@ "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Get ExtendedInfo of Resource": { + "$ref": "./examples/GETVaultExtendedInfo.json" + } + } }, "put": { "tags": [ @@ -349,7 +617,7 @@ { "name": "resourceResourceExtendedInfoDetails", "in": "body", - "description": "resourceResourceExtendedInfoDetails", + "description": "Details of ResourceExtendedInfo", "required": true, "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" @@ -362,9 +630,20 @@ "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "Put ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } }, "patch": { "tags": [ @@ -394,7 +673,7 @@ { "name": "resourceResourceExtendedInfoDetails", "in": "body", - "description": "resourceResourceExtendedInfoDetails", + "description": "Details of ResourceExtendedInfo", "required": true, "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" @@ -407,102 +686,235 @@ "schema": { "$ref": "#/definitions/VaultExtendedInfoResource" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "deprecated": false + "deprecated": false, + "x-ms-examples": { + "PATCH ExtendedInfo of Resource": { + "$ref": "./examples/UpdateVaultExtendedInfo.json" + } + } } - } - }, - "definitions": { - "ClientDiscoveryDisplay": { - "description": "Localized display information of an operation.", - "type": "object", - "properties": { - "Provider": { - "description": "Name of the resource provider.", - "type": "string", - "readOnly": true - }, - "Resource": { - "description": "Type of the resource.", - "type": "string", - "readOnly": true - }, - "Operation": { - "description": "Name of the operation.", - "type": "string", - "readOnly": true + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationStatus/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation status for a resource.", + "operationId": "GetOperationStatus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } }, - "Description": { - "description": "Operation description.", - "type": "string", - "readOnly": true + "x-ms-examples": { + "Get Operation Status": { + "$ref": "./examples/GetOperationStatus.json" + } } } }, - "ClientDiscoveryForLogSpecification": { - "description": "Log specification for the operation.", - "type": "object", - "properties": { - "name": { - "description": "Name of the log.", - "type": "string", - "readOnly": true - }, - "displayName": { - "description": "Localized display name.", - "type": "string", - "readOnly": true - }, - "blobDuration": { - "description": "Blob duration.", - "format": "date-time", - "type": "string", - "readOnly": true + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/operationResults/{operationId}": { + "get": { + "tags": [ + "Vaults" + ], + "description": "Gets the operation result for a resource.", + "operationId": "GetOperationResult", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SubscriptionId" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "name": "operationId", + "in": "path", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/ApiVersion" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Operation Result": { + "$ref": "./examples/GetOperationResult.json" + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityParameters": { + "description": "Resource Name availability input parameters - Resource type and resource name", + "type": "object", + "properties": { + "type": { + "description": "Describes the Resource type: Microsoft.RecoveryServices/Vaults", + "type": "string" + }, + "name": { + "description": "Resource name for which availability needs to be checked", + "type": "string" } } }, - "ClientDiscoveryForServiceSpecification": { - "description": "Operation properties.", + "CheckNameAvailabilityResult": { + "description": "Response for check name availability API. Resource provider will set availability as true | false.", "type": "object", "properties": { - "logSpecifications": { - "description": "List of log specifications of this operation.", - "type": "array", - "items": { - "$ref": "#/definitions/ClientDiscoveryForLogSpecification" - }, - "readOnly": true + "nameAvailable": { + "type": "boolean" + }, + "reason": { + "type": "string" + }, + "message": { + "type": "string" } } }, - "ClientDiscoveryProperties": { - "description": "Operation properties.", + "ClientDiscoveryDisplay": { + "description": "Localized display information of an operation.", + "type": "object", + "properties": { + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "ResourceType for which this Operation can be performed.", + "type": "string" + }, + "operation": { + "description": "Operations Name itself.", + "type": "string" + }, + "description": { + "description": "Description of the operation having details of what operation is about.", + "type": "string" + } + } + }, + "ClientDiscoveryForLogSpecification": { + "description": "Class to represent shoebox log specification in json client discovery.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized display name", + "type": "string" + }, + "blobDuration": { + "description": "Blobs created in customer storage account per hour", + "type": "string" + } + } + }, + "ClientDiscoveryForProperties": { + "description": "Class to represent shoebox properties in json client discovery.", "type": "object", "properties": { "serviceSpecification": { "$ref": "#/definitions/ClientDiscoveryForServiceSpecification", - "description": "Operation properties.", - "readOnly": true + "description": "Operation properties." + } + } + }, + "ClientDiscoveryForServiceSpecification": { + "description": "Class to represent shoebox service specification in json client discovery.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "List of log specifications of this operation.", + "type": "array", + "items": { + "$ref": "#/definitions/ClientDiscoveryForLogSpecification" + } } } }, "ClientDiscoveryResponse": { - "description": "List of available operations.", + "description": "Operations List response which contains list of available APIs.", "type": "object", "properties": { - "Value": { - "description": "List of available operationss.", + "value": { + "description": "List of available operations.", "type": "array", "items": { "$ref": "#/definitions/ClientDiscoveryValueForSingleApi" - }, - "readOnly": true + } }, - "NextLink": { - "description": "NextLink", - "type": "string", - "readOnly": true + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" } } }, @@ -510,26 +922,21 @@ "description": "Available operation details.", "type": "object", "properties": { - "Name": { - "description": "Name of the operation.", - "type": "string", - "readOnly": true + "name": { + "description": "Name of the Operation.", + "type": "string" }, - "Display": { + "display": { "$ref": "#/definitions/ClientDiscoveryDisplay", - "description": "Contains the localized display information for this particular operation.", - "readOnly": true + "description": "Contains the localized display information for this particular operation" }, - "Origin": { - "description": "The intended executor of the operation.", - "type": "string", - "readOnly": true + "origin": { + "description": "The intended executor of the operation;governs the display of the operation in the RBAC UX and the audit logs UX", + "type": "string" }, - "Properties": { - "$ref": "#/definitions/ClientDiscoveryProperties", - "description": "Properties of the operation.", - "readOnly": true, - "x-ms-client-flatten": true + "properties": { + "$ref": "#/definitions/ClientDiscoveryForProperties", + "description": "ShoeBox properties for the given operation." } } }, @@ -552,7 +959,7 @@ "type": "string", "readOnly": true }, - "eTag": { + "etag": { "description": "Optional ETag.", "type": "string" } @@ -577,6 +984,22 @@ "name": "SkuName", "modelAsString": true } + }, + "tier": { + "description": "The Sku tier.", + "type": "string" + }, + "family": { + "description": "The sku family", + "type": "string" + }, + "size": { + "description": "The sku size", + "type": "string" + }, + "capacity": { + "description": "The sku capacity", + "type": "string" } } }, @@ -591,7 +1014,29 @@ "$ref": "#/definitions/Resource" } ], - "properties":{ + "properties": { + "location": { + "description": "Resource location.", + "type": "string" + }, + "tags": { + "description": "Resource tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PatchTrackedResource": { + "description": "Tracked resource with location.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { "location": { "description": "Resource location.", "type": "string" @@ -653,7 +1098,7 @@ "readOnly": true }, "triggerType": { - "description": "The way the vault upgradation was triggered.", + "description": "The way the vault upgrade was triggered.", "enum": [ "UserTriggered", "ForcedUpgrade" @@ -685,12 +1130,91 @@ "$ref": "#/definitions/TrackedResource" } ], + "properties": { + "identity": { + "$ref": "#/definitions/IdentityData" + }, + "properties": { + "$ref": "#/definitions/VaultProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "systemData": { + "$ref": "#/definitions/systemData" + } + } + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The type of identity that last modified the resource." + } + } + }, + "PatchVault": { + "description": "Patch Resource information, as returned by the resource provider.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/PatchTrackedResource" + } + ], "properties": { "properties": { "$ref": "#/definitions/VaultProperties" }, "sku": { "$ref": "#/definitions/Sku" + }, + "identity": { + "$ref": "#/definitions/IdentityData" } } }, @@ -711,7 +1235,7 @@ "type": "string" }, "algorithm": { - "description": "Algorithm.", + "description": "Algorithm for Vault ExtendedInfo", "type": "string" } } @@ -758,6 +1282,465 @@ }, "upgradeDetails": { "$ref": "#/definitions/UpgradeDetails" + }, + "privateEndpointConnections": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionVaultProperties" + }, + "description": "List of private endpoint connection.", + "readOnly": true + }, + "privateEndpointStateForBackup": { + "description": "Private endpoint state for backup.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "privateEndpointStateForSiteRecovery": { + "description": "Private endpoint state for site recovery.", + "enum": [ + "None", + "Enabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "VaultPrivateEndpointState", + "modelAsString": true + } + }, + "encryption": { + "description": "Customer Managed Key details of the resource.", + "type": "object", + "properties": { + "keyVaultProperties": { + "$ref": "#/definitions/CmkKeyVaultProperties" + }, + "kekIdentity": { + "$ref": "#/definitions/CmkKekIdentity" + }, + "infrastructureEncryption": { + "description": "Enabling/Disabling the Double Encryption state", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "InfrastructureEncryptionState", + "modelAsString": true + } + } + } + }, + "moveDetails": { + "description": "The details of the latest move operation performed on the Azure Resource", + "type": "object", + "properties": { + "operationId": { + "description": "OperationId of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "startTimeUtc": { + "description": "Start Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "completionTimeUtc": { + "description": "End Time of the Resource Move Operation", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "sourceResourceId": { + "description": "Source Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + }, + "targetResourceId": { + "description": "Target Resource of the Resource Move Operation", + "type": "string", + "readOnly": true + } + } + }, + "moveState": { + "description": "The State of the Resource after the move operation", + "type": "string", + "readOnly": true, + "enum": [ + "Unknown", + "InProgress", + "PrepareFailed", + "CommitFailed", + "PrepareTimedout", + "CommitTimedout", + "MoveSucceeded", + "Failure", + "CriticalFailure", + "PartialSuccess" + ], + "x-ms-enum": { + "name": "ResourceMoveState", + "modelAsString": true + } + } + } + }, + "IdentityData": { + "required": [ + "type" + ], + "type": "object", + "description": "Identity for the resource.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.", + "enum": [ + "SystemAssigned", + "None", + "UserAssigned", + "SystemAssigned, UserAssigned" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserIdentity" + } + } + } + }, + "UserIdentity": { + "type": "object", + "description": "A resource identity that is managed by the user of the service.", + "properties": { + "principalId": { + "description": "The principal ID of the user-assigned identity.", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "The client ID of the user-assigned identity.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionVaultProperties": { + "description": "Information to be stored in Vault properties as an element of privateEndpointConnections List.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Format of id subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.[Service]/{resource}/{resourceName}/privateEndpointConnections/{connectionName}.", + "readOnly": true, + "type": "string" + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "name": { + "description": "The name of the private Endpoint Connection", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type, which will be of the format, Microsoft.RecoveryServices/vaults/privateEndpointConnections", + "type": "string", + "readOnly": true + }, + "location": { + "description": "The location of the private Endpoint connection", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "description": "Private Endpoint Connection Response Properties.", + "readOnly": true, + "type": "object", + "properties": { + "provisioningState": { + "description": "Gets or sets provisioning state of the private endpoint connection.", + "readOnly": true, + "enum": [ + "Succeeded", + "Deleting", + "Failed", + "Pending" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateEndpoint": { + "description": "The Private Endpoint network resource that is linked to the Private Endpoint connection.", + "readOnly": true, + "type": "object", + "properties": { + "id": { + "description": "Gets or sets id.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Gets or sets private link service connection state.", + "readOnly": true, + "type": "object", + "properties": { + "status": { + "description": "Gets or sets the status.", + "readOnly": true, + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + }, + "description": { + "description": "Gets or sets description.", + "readOnly": true, + "type": "string" + }, + "actionsRequired": { + "description": "Gets or sets actions required.", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResources": { + "description": "Class which represent the stamps associated with the vault.", + "readOnly": true, + "type": "object", + "properties": { + "value": { + "description": "A collection of private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "description": "Link to the next chunk of the response", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "Information of the private link resource.", + "readOnly": true, + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties", + "x-ms-client-flatten": true + }, + "id": { + "description": "Fully qualified identifier of the resource.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "e.g. Microsoft.RecoveryServices/vaults/privateLinkResources", + "readOnly": true, + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "type": "object", + "description": "Properties of the private link resource.", + "properties": { + "groupId": { + "description": "e.g. f9ad6492-33d4-4690-9999-6bfd52a0d081 (Backup) or f9ad6492-33d4-4690-9999-6bfd52a0d082 (SiteRecovery)", + "readOnly": true, + "type": "string" + }, + "requiredMembers": { + "description": "[backup-ecs1, backup-prot1, backup-prot1b, backup-prot1c, backup-id1]", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "description": "The private link resource Private link DNS zone name.", + "readOnly": true, + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "CmkKeyVaultProperties": { + "type": "object", + "description": "The properties of the Key Vault which hosts CMK", + "properties": { + "keyUri": { + "description": "The key uri of the Customer Managed Key", + "type": "string" + } + } + }, + "CmkKekIdentity": { + "type": "object", + "description": "The details of the identity used for CMK", + "properties": { + "useSystemAssignedIdentity": { + "type": "boolean", + "description": "Indicate that system assigned identity should be used. Mutually exclusive with 'userAssignedIdentity' field" + }, + "userAssignedIdentity": { + "type": "string", + "description": "The user assigned identity to be used to grant permissions in case the type of identity used is UserAssigned" + } + } + }, + "OperationResource": { + "type": "object", + "description": "Operation Resource", + "properties": { + "endTime": { + "description": "End time of the operation", + "format": "date-time", + "type": "string" + }, + "error": { + "$ref": "#/definitions/Error", + "description": "Required if status == failed or status == canceled. This is the OData v4 error format, used by the RPC and will go into the v2.2 Azure REST API guidelines." + }, + "id": { + "description": "It should match what is used to GET the operation result", + "type": "string" + }, + "name": { + "description": "It must match the last segment of the \"id\" field, and will typically be a GUID / system generated value", + "type": "string" + }, + "status": { + "description": "The status of the operation. (InProgress/Success/Failed/Cancelled)", + "type": "string" + }, + "startTime": { + "description": "Start time of the operation", + "format": "date-time", + "type": "string" + } + } + }, + "CloudError": { + "description": "An error response from Azure Backup.", + "properties": { + "error": { + "$ref": "#/definitions/Error" + } + }, + "title": "CloudError", + "x-ms-external": true + }, + "Error": { + "description": "The resource management error response.", + "properties": { + "additionalInfo": { + "description": "The error additional info.", + "items": { + "$ref": "#/definitions/ErrorAdditionalInfo" + }, + "readOnly": true, + "type": "array" + }, + "code": { + "description": "The error code.", + "readOnly": true, + "type": "string" + }, + "details": { + "description": "The error details.", + "items": { + "$ref": "#/definitions/Error" + }, + "readOnly": true, + "type": "array" + }, + "message": { + "description": "The error message.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "The error target.", + "readOnly": true, + "type": "string" + } + } + }, + "ErrorAdditionalInfo": { + "description": "The resource management error additional info.", + "properties": { + "info": { + "description": "The additional info.", + "readOnly": true, + "type": "object" + }, + "type": { + "description": "The additional info type.", + "readOnly": true, + "type": "string" } } } @@ -812,4 +1795,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaultusages.json b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaultusages.json index 366c5aa0..24ec496a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaultusages.json +++ b/App_Data/SwaggerSpecs/Microsoft.RecoveryServices/vaultusages.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2016-06-01", + "version": "2021-08-01", "title": "RecoveryServicesClient", "x-ms-code-generation-settings": { "internalConstructors": false @@ -18,41 +18,6 @@ "application/json" ], "paths": { - "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/operations": { - "get": { - "tags": [ - "Operations" - ], - "description": "Returns the list of available operations.", - "operationId": "Operations_List", - "produces": [ - "application/json" - ], - "parameters": [ - { - "$ref": "#/parameters/SubscriptionId" - }, - { - "$ref": "#/parameters/ApiVersion" - }, - { - "$ref": "#/parameters/ResourceGroupName" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./vaults.json#/definitions/ClientDiscoveryResponse" - } - } - }, - "deprecated": false, - "x-ms-pageable": { - "nextLinkName": "NextLink" - } - } - }, "/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/usages": { "get": { "tags": [ @@ -88,6 +53,11 @@ "deprecated": false, "x-ms-pageable": { "nextLinkName": null + }, + "x-ms-examples": { + "Gets vault usages": { + "$ref": "./examples/ListUsages.json" + } } } } @@ -216,4 +186,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Relay/relay.json b/App_Data/SwaggerSpecs/Microsoft.Relay/relay.json index 261794b5..7279af59 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Relay/relay.json +++ b/App_Data/SwaggerSpecs/Microsoft.Relay/relay.json @@ -2,9 +2,11 @@ "swagger": "2.0", "info": { "title": "Relay API", - "description": "Use these API to manage Azure Relay resources through Azure Resources Manager.", - "version": "2016-07-01", - "x-ms-code-generation-settings": { "name": "RelayManagementClient" } + "description": "Use these API to manage Azure Relay resources through Azure Resource Manager.", + "version": "2017-04-01", + "x-ms-code-generation-settings": { + "name": "RelayManagementClient" + } }, "host": "management.azure.com", "schemes": [ @@ -42,9 +44,11 @@ ], "operationId": "Operations_List", "x-ms-examples": { - "RelayOperationsList": { "$ref": "../examples/RelayOperations_List.json" } + "RelayOperationsList": { + "$ref": "./examples/RelayOperations_List.json" + } }, - "description": "Lists all of the available Relay REST API operations.", + "description": "Lists all available Relay REST API operations.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -69,16 +73,18 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/CheckNameAvailability": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability": { "post": { "tags": [ "Namespaces" ], "operationId": "Namespaces_CheckNameAvailability", "x-ms-examples": { - "RelayCheckNameAvailability": { "$ref": "../examples/NameSpaces/RelayNameSpaceCheckNameAvailability.json" } + "RelayCheckNameAvailability": { + "$ref": "./examples/NameSpaces/RelayNameSpaceCheckNameAvailability.json" + } }, - "description": "Check the give namespace name availability.", + "description": "Check the specified namespace name availability.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -93,29 +99,37 @@ "schema": { "$ref": "#/definitions/CheckNameAvailability" }, - "description": "Parameters to check availability of the given namespace name" + "description": "Parameters to check availability of the specified namespace name." } ], "responses": { "200": { - "description": "check availability returned successfully.", + "description": "Check availability returned successfully.", "schema": { "$ref": "#/definitions/CheckNameAvailabilityResult" } + }, + "default": { + "description": "Relay error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/Namespaces": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces": { "get": { "tags": [ "Namespaces" ], "operationId": "Namespaces_List", "x-ms-examples": { - "RelayNameSpaceListBySubscription": { "$ref": "../examples/NameSpaces/RelayNameSpaceListBySubscription.json" } + "RelayNameSpaceListBySubscription": { + "$ref": "./examples/NameSpaces/RelayNameSpaceListBySubscription.json" + } }, - "description": "Lists all the available namespaces within the subscription irrespective of the resourceGroups.", + "description": "Lists all the available namespaces within the subscription regardless of the resourceGroups.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -143,14 +157,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/Namespaces": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces": { "get": { "tags": [ "Namespaces" ], "operationId": "Namespaces_ListByResourceGroup", "x-ms-examples": { - "RelayNameSpaceListByResourceGroup": { "$ref": "../examples/NameSpaces/RelayNameSpaceListByResourceGroup.json" } + "RelayNameSpaceListByResourceGroup": { + "$ref": "./examples/NameSpaces/RelayNameSpaceListByResourceGroup.json" + } }, "description": "Lists all the available namespaces within the ResourceGroup.", "parameters": [ @@ -166,7 +182,7 @@ ], "responses": { "200": { - "description": "Namespaces by resourcegroup returned successfully", + "description": "Namespaces by resource group returned successfully", "schema": { "$ref": "#/definitions/RelayNamespaceListResult" } @@ -188,15 +204,13 @@ "tags": [ "Namespaces" ], - "operationId": "Namespaces_CreateOrUpdate", "x-ms-examples": { - - "RelayNamespaceCreate": { "$ref": "../examples/NameSpaces/RelayNameSpaceCreate.json" } + "RelayNamespaceCreate": { + "$ref": "./examples/NameSpaces/RelayNameSpaceCreate.json" + } }, - "description": "Create Azure Relay namespace.", - "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -211,7 +225,7 @@ "schema": { "$ref": "#/definitions/RelayNamespace" }, - "description": "Parameters supplied to create a Namespace Resource." + "description": "Parameters supplied to create a namespace resource." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -222,13 +236,16 @@ ], "responses": { "200": { - "description": "Namespace create request succeeded", + "description": "Namespace create request succeeded.", "schema": { "$ref": "#/definitions/RelayNamespace" } }, - "202": { - "description": "Namespace create request accepted" + "201": { + "description": "Namespace create request accepted.", + "schema": { + "$ref": "#/definitions/RelayNamespace" + } }, "default": { "description": "Relay error response describing why the operation failed.", @@ -245,7 +262,9 @@ ], "operationId": "Namespaces_Delete", "x-ms-examples": { - "RelayNameSpaceDelete": { "$ref": "../examples/NameSpaces/RelayNameSpaceDelete.json" } + "RelayNameSpaceDelete": { + "$ref": "./examples/NameSpaces/RelayNameSpaceDelete.json" + } }, "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.", "parameters": [ @@ -264,13 +283,13 @@ ], "responses": { "200": { - "description": "Namespace delete Request succeeded" + "description": "Namespace delete request succeeded." }, "202": { "description": "Namespace delete request has been accepted for processing and the operation will complete asynchronously." }, "204": { - "description": "Namespace delete request has been accepted, but the Namespace not found" + "description": "Namespace delete request has been accepted, but the namespace was not found." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -285,19 +304,17 @@ "tags": [ "Namespaces" ], - "operationId": "Namespaces_Get", "x-ms-examples": { - - "RelayNameSpaceGet": { "$ref": "../examples/NameSpaces/RelayNameSpaceGet.json" } + "RelayNameSpaceGet": { + "$ref": "./examples/NameSpaces/RelayNameSpaceGet.json" + } }, - "description": "Returns the description for the specified namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, - { "$ref": "#/parameters/namespaceNameParameter" }, @@ -310,7 +327,7 @@ ], "responses": { "200": { - "description": "Namespace returned successfully", + "description": "Namespace description returned successfully.", "schema": { "$ref": "#/definitions/RelayNamespace" } @@ -328,6 +345,11 @@ "Namespaces" ], "operationId": "Namespaces_Update", + "x-ms-examples": { + "RelayNameSpaceUpdate": { + "$ref": "./examples/NameSpaces/RelayNameSpaceUpdate.json" + } + }, "description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.", "parameters": [ { @@ -341,7 +363,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RelayNamespaceUpdateParameter" + "$ref": "#/definitions/RelayUpdateParameters" }, "description": "Parameters for updating a namespace resource." }, @@ -358,18 +380,32 @@ "schema": { "$ref": "#/definitions/RelayNamespace" } + }, + "201": { + "description": "Namespace update request accepted.", + "schema": { + "$ref": "#/definitions/RelayNamespace" + } + }, + "default": { + "description": "Relay error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules": { "get": { "tags": [ "Namespaces" ], "operationId": "Namespaces_ListAuthorizationRules", "x-ms-examples": { - "RelayNameSpaceAutorizationRuleListAll": { "$ref": "../examples/NameSpaces/RelayNameSpaceAutorizationRuleListAll.json" } + "RelayNameSpaceAutorizationRuleListAll": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAutorizationRuleListAll.json" + } }, "description": "Authorization rules for a namespace.", "parameters": [ @@ -388,7 +424,7 @@ ], "responses": { "200": { - "description": "Namespace Authorization rule returned successfully", + "description": "Namespace authorization rule returned successfully.", "schema": { "$ref": "#/definitions/AuthorizationRuleListResult" } @@ -405,16 +441,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}": { "put": { "tags": [ "Namespaces" ], "operationId": "Namespaces_CreateOrUpdateAuthorizationRule", "x-ms-examples": { - "RelayNameSpaceAuthorizationRuleCreate": { "$ref": "../examples/NameSpaces/RelayNameSpaceAuthorizationRuleCreate.json" } + "RelayNameSpaceAuthorizationRuleCreate": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAuthorizationRuleCreate.json" + } }, - "description": "Creates or Updates an authorization rule for a namespace", + "description": "Creates or updates an authorization rule for a namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -432,7 +470,7 @@ "schema": { "$ref": "#/definitions/AuthorizationRule" }, - "description": "The authorization rule parameters" + "description": "The authorization rule parameters." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -443,7 +481,7 @@ ], "responses": { "200": { - "description": "Request to create Namespace Authorization rule succeeded", + "description": "Request to create namespace authorization rule succeeded.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -462,9 +500,11 @@ ], "operationId": "Namespaces_DeleteAuthorizationRule", "x-ms-examples": { - "RelayNameSpaceAutorizationRuleDelete": { "$ref": "../examples/NameSpaces/RelayNameSpaceAutorizationRuleDelete.json" } + "RelayNameSpaceAutorizationRuleDelete": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAutorizationRuleDelete.json" + } }, - "description": "Deletes a namespace authorization rule", + "description": "Deletes a namespace authorization rule.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -484,10 +524,10 @@ ], "responses": { "200": { - "description": "Request to delete Namespace Authorization rule succeeded." + "description": "Request to delete namespace authorization rule succeeded." }, "204": { - "description": "No Content. The request has been accepted but the Namespace Authorization rule was not found." + "description": "No content. The request has been accepted but the namespace authorization rule was not found." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -503,7 +543,9 @@ ], "operationId": "Namespaces_GetAuthorizationRule", "x-ms-examples": { - "RelayNameSpaceAutorizationRuleGet": { "$ref": "../examples/NameSpaces/RelayNameSpaceAutorizationRuleGet.json" } + "RelayNameSpaceAutorizationRuleGet": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAutorizationRuleGet.json" + } }, "description": "Authorization rule for a namespace by name.", "parameters": [ @@ -525,7 +567,7 @@ ], "responses": { "200": { - "description": "Namespace Authorization rule returned successfully", + "description": "Namespace Authorization rule returned successfully.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -539,16 +581,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ "Namespaces" ], "operationId": "Namespaces_ListKeys", "x-ms-examples": { - "RelayNameSpaceAuthorizationRuleListKey": { "$ref": "../examples/NameSpaces/RelayNameSpaceAuthorizationRuleListKey.json" } + "RelayNameSpaceAuthorizationRuleListKey": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAuthorizationRuleListKey.json" + } }, - "description": "Primary and Secondary ConnectionStrings to the namespace ", + "description": "Primary and secondary connection strings to the namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -568,9 +612,9 @@ ], "responses": { "200": { - "description": "Successful", + "description": "Successful.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -582,16 +626,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { "post": { "tags": [ "Namespaces" ], "operationId": "Namespaces_RegenerateKeys", "x-ms-examples": { - "RelayNameSpaceAuthorizationRuleRegenrateKey": { "$ref": "../examples/NameSpaces/RelayNameSpaceAuthorizationRuleRegenrateKey.json" } + "RelayNameSpaceAuthorizationRuleRegenrateKey": { + "$ref": "./examples/NameSpaces/RelayNameSpaceAuthorizationRuleRegenrateKey.json" + } }, - "description": "Regenerates the Primary or Secondary ConnectionStrings to the namespace ", + "description": "Regenerates the primary or secondary connection strings to the namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -607,9 +653,9 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RegenerateKeysParameters" + "$ref": "#/definitions/RegenerateAccessKeyParameters" }, - "description": "Parameters supplied to regenerate Auth Rule." + "description": "Parameters supplied to regenerate authorization rule." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -620,9 +666,9 @@ ], "responses": { "200": { - "description": "Successful", + "description": "Successful.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -634,16 +680,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections": { "get": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_ListByNamespace", "x-ms-examples": { - "RelayHybridConnectionListAll": { "$ref": "../examples/HybridConnection/RelayHybridConnectionListAll.json" } + "RelayHybridConnectionListAll": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionListAll.json" + } }, - "description": "Lists the HybridConnection within the namespace.", + "description": "Lists the hybrid connection within the namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -660,7 +708,7 @@ ], "responses": { "200": { - "description": "Request to retrieve HybridConnections by NameSpace succeeded", + "description": "Request to retrieve hybrid connections by namespace succeeded.", "schema": { "$ref": "#/definitions/HybridConnectionListResult" } @@ -677,16 +725,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}": { "put": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_CreateOrUpdate", "x-ms-examples": { - "RelayHybridConnectionCreate": { "$ref": "../examples/HybridConnection/RelayHybridConnectionCreate.json" } + "RelayHybridConnectionCreate": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionCreate.json" + } }, - "description": "Creates or Updates a service HybridConnection. This operation is idempotent.", + "description": "Creates or updates a service hybrid connection. This operation is idempotent.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -704,7 +754,7 @@ "schema": { "$ref": "#/definitions/HybridConnection" }, - "description": "Parameters supplied to create a HybridConnection." + "description": "Parameters supplied to create a hybrid connection." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -715,7 +765,7 @@ ], "responses": { "200": { - "description": "Request to Create Hybrid Connections succeeded", + "description": "Request to create hybrid connections succeeded.", "schema": { "$ref": "#/definitions/HybridConnection" } @@ -734,9 +784,11 @@ ], "operationId": "HybridConnections_Delete", "x-ms-examples": { - "RelayHybridconnectionDelete": { "$ref": "../examples/HybridConnection/RelayHybridconnectionDelete.json" } + "RelayHybridconnectionDelete": { + "$ref": "./examples/HybridConnection/RelayHybridconnectionDelete.json" + } }, - "description": "Deletes a HybridConnection .", + "description": "Deletes a hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -756,10 +808,10 @@ ], "responses": { "200": { - "description": "Request to delete Hybrid Connections succeeded." + "description": "Request to delete hybrid connection succeeded." }, "204": { - "description": "No Content. The request has been accepted but the Hybrid Connections was not found." + "description": "No content. The request has been accepted but the hybrid connection was not found." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -775,9 +827,11 @@ ], "operationId": "HybridConnections_Get", "x-ms-examples": { - "RelayHybridConnectionGet": { "$ref": "../examples/HybridConnection/RelayHybridConnectionGet.json" } + "RelayHybridConnectionGet": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionGet.json" + } }, - "description": "Returns the description for the specified HybridConnection.", + "description": "Returns the description for the specified hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -797,7 +851,7 @@ ], "responses": { "200": { - "description": "Successfully retrieved hybridConnection description", + "description": "Successfully retrieved description for the hybrid connection.", "schema": { "$ref": "#/definitions/HybridConnection" } @@ -811,16 +865,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules": { "get": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_ListAuthorizationRules", "x-ms-examples": { - "RelayHybridConnectionAutorizationRuleListAll": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAutorizationRuleListAll.json" } + "RelayHybridConnectionAutorizationRuleListAll": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAutorizationRuleListAll.json" + } }, - "description": "Authorization rules for a HybridConnection.", + "description": "Authorization rules for a hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -844,6 +900,12 @@ "schema": { "$ref": "#/definitions/AuthorizationRuleListResult" } + }, + "default": { + "description": "Relay error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } } }, "x-ms-pageable": { @@ -851,16 +913,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}": { "put": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_CreateOrUpdateAuthorizationRule", "x-ms-examples": { - "RelayHybridConnectionAuthorizationRuleCreate": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAuthorizationRuleCreate.json" } + "RelayHybridConnectionAuthorizationRuleCreate": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAuthorizationRuleCreate.json" + } }, - "description": "Creates or Updates an authorization rule for a HybridConnection", + "description": "Creates or updates an authorization rule for a hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -881,7 +945,7 @@ "schema": { "$ref": "#/definitions/AuthorizationRule" }, - "description": "The authorization rule parameters" + "description": "The authorization rule parameters." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -892,7 +956,7 @@ ], "responses": { "200": { - "description": "HybridConnection Authorization rule created", + "description": "Hybrid connection authorization rule created.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -911,9 +975,11 @@ ], "operationId": "HybridConnections_DeleteAuthorizationRule", "x-ms-examples": { - "RelayHybridConnectionAutorizationRuleDelete": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAutorizationRuleDelete.json" } + "RelayHybridConnectionAutorizationRuleDelete": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAutorizationRuleDelete.json" + } }, - "description": "Deletes a HybridConnection authorization rule", + "description": "Deletes a hybrid connection authorization rule.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -936,10 +1002,10 @@ ], "responses": { "200": { - "description": "HybridConnection authorizationRule deleted" + "description": "Hybrid connection authorization rule deleted." }, "204": { - "description": "Authorization rule does not exist" + "description": "Authorization rule does not exist." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -955,9 +1021,11 @@ ], "operationId": "HybridConnections_GetAuthorizationRule", "x-ms-examples": { - "RelayHybridConnectionAutorizationRuleGet": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAutorizationRuleGet.json" } + "RelayHybridConnectionAutorizationRuleGet": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAutorizationRuleGet.json" + } }, - "description": "HybridConnection authorizationRule for a HybridConnection by name.", + "description": "Hybrid connection authorization rule for a hybrid connection by name.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -980,7 +1048,7 @@ ], "responses": { "200": { - "description": "HybridConnection AuthorizationRule returned successfully", + "description": "Hybrid connection authorization rule returned successfully.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -994,16 +1062,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_ListKeys", "x-ms-examples": { - "RelayHybridConnectionAuthorizationRuleListKey": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAuthorizationRuleListKey.json" } + "RelayHybridConnectionAuthorizationRuleListKey": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAuthorizationRuleListKey.json" + } }, - "description": "Primary and Secondary ConnectionStrings to the HybridConnection.", + "description": "Primary and secondary connection strings to the hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1026,9 +1096,9 @@ ], "responses": { "200": { - "description": "Request to retirve ConnectionStrings to the HybridConnection succeeded", + "description": "Request to retirve connection strings to the hybrid connection succeeded.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -1040,16 +1110,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/HybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { "post": { "tags": [ "HybridConnections" ], "operationId": "HybridConnections_RegenerateKeys", "x-ms-examples": { - "RelayHybridConnectionAuthorizationRuleRegenrateKey": { "$ref": "../examples/HybridConnection/RelayHybridConnectionAuthorizationRuleRegenrateKey.json" } + "RelayHybridConnectionAuthorizationRuleRegenrateKey": { + "$ref": "./examples/HybridConnection/RelayHybridConnectionAuthorizationRuleRegenrateKey.json" + } }, - "description": "Regenerates the Primary or Secondary ConnectionStrings to the HybridConnection", + "description": "Regenerates the primary or secondary connection strings to the hybrid connection.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1068,9 +1140,9 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RegenerateKeysParameters" + "$ref": "#/definitions/RegenerateAccessKeyParameters" }, - "description": "Parameters supplied to regenerate Auth Rule." + "description": "Parameters supplied to regenerate authorization rule." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1081,9 +1153,9 @@ ], "responses": { "200": { - "description": "Request to regenerate ConnectionStrings to HybridConnection succeeded", + "description": "Request to regenerate connection strings to hybrid connection succeeded.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -1095,16 +1167,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays": { "get": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_ListByNamespace", "x-ms-examples": { - "RelayListAll": { "$ref": "../examples/Relay/RelayListAll.json" } + "RelayListAll": { + "$ref": "./examples/Relay/RelayListAll.json" + } }, - "description": "Lists the WCFRelays within the namespace.", + "description": "Lists the WCF relays within the namespace.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1121,7 +1195,7 @@ ], "responses": { "200": { - "description": "WCF Relays returned successfully", + "description": "WCF relays returned successfully.", "schema": { "$ref": "#/definitions/WcfRelaysListResult" } @@ -1138,16 +1212,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}": { "put": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_CreateOrUpdate", "x-ms-examples": { - "RelayCreate": { "$ref": "../examples/Relay/RelayCreate.json" } + "RelayCreate": { + "$ref": "./examples/Relay/RelayCreate.json" + } }, - "description": "Creates or Updates a WCFRelay. This operation is idempotent.", + "description": "Creates or updates a WCF relay. This operation is idempotent.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1165,7 +1241,7 @@ "schema": { "$ref": "#/definitions/WcfRelay" }, - "description": "Parameters supplied to create a WCFRelays." + "description": "Parameters supplied to create a WCF relay." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1176,7 +1252,7 @@ ], "responses": { "200": { - "description": "Request to create WCFRelays succeeded", + "description": "Request to create WCF relay succeeded.", "schema": { "$ref": "#/definitions/WcfRelay" } @@ -1195,9 +1271,11 @@ ], "operationId": "WCFRelays_Delete", "x-ms-examples": { - "RelayDelete": { "$ref": "../examples/Relay/RelayDelete.json" } + "RelayDelete": { + "$ref": "./examples/Relay/RelayDelete.json" + } }, - "description": "Deletes a WCFRelays .", + "description": "Deletes a WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1217,10 +1295,10 @@ ], "responses": { "200": { - "description": "WCFRelays deleted." + "description": "WCF relay deleted." }, "204": { - "description": "No Content" + "description": "No content." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -1236,9 +1314,11 @@ ], "operationId": "WCFRelays_Get", "x-ms-examples": { - "RelayGet": { "$ref": "../examples/Relay/RelayGet.json" } + "RelayGet": { + "$ref": "./examples/Relay/RelayGet.json" + } }, - "description": "Returns the description for the specified WCFRelays.", + "description": "Returns the description for the specified WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1258,13 +1338,13 @@ ], "responses": { "200": { - "description": "Successfully retrieved WCFRelays description", + "description": "Successfully retrieved WCF relay description.", "schema": { "$ref": "#/definitions/WcfRelay" } }, "204": { - "description": "WCFRelays not found" + "description": "WCF relay not found" }, "default": { "description": "Relay error response describing why the operation failed.", @@ -1275,16 +1355,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules": { "get": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_ListAuthorizationRules", "x-ms-examples": { - "RelayAutorizationRuleListAll": { "$ref": "../examples/Relay/RelayAutorizationRuleListAll.json" } + "RelayAutorizationRuleListAll": { + "$ref": "./examples/Relay/RelayAutorizationRuleListAll.json" + } }, - "description": "Authorization rules for a WCFRelays.", + "description": "Authorization rules for a WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1315,16 +1397,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}": { "put": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_CreateOrUpdateAuthorizationRule", "x-ms-examples": { - "RelayAuthorizationRuleCreate": { "$ref": "../examples/Relay/RelayAuthorizationRuleCreate.json" } + "RelayAuthorizationRuleCreate": { + "$ref": "./examples/Relay/RelayAuthorizationRuleCreate.json" + } }, - "description": "Creates or Updates an authorization rule for a WCFRelays", + "description": "Creates or updates an authorization rule for a WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1356,7 +1440,7 @@ ], "responses": { "200": { - "description": "WCFRelays Authorization rule created", + "description": "WCF relay authorization rule created.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -1375,9 +1459,11 @@ ], "operationId": "WCFRelays_DeleteAuthorizationRule", "x-ms-examples": { - "RelayAutorizationRuleDelete": { "$ref": "../examples/Relay/RelayAutorizationRuleDelete.json" } + "RelayAutorizationRuleDelete": { + "$ref": "./examples/Relay/RelayAutorizationRuleDelete.json" + } }, - "description": "Deletes a WCFRelays authorization rule", + "description": "Deletes a WCF relay authorization rule.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1400,10 +1486,10 @@ ], "responses": { "200": { - "description": "Request to delete WCFRelay authorizationRule succeeded" + "description": "Request to delete WCF relay authorization rule succeeded." }, "204": { - "description": "Request accepted but Authorization rule does not exist" + "description": "Request accepted butthe authorization rule does not exist." }, "default": { "description": "Relay error response describing why the operation failed.", @@ -1419,9 +1505,11 @@ ], "operationId": "WCFRelays_GetAuthorizationRule", "x-ms-examples": { - "RelayAutorizationRuleGet": { "$ref": "../examples/Relay/RelayAutorizationRuleGet.json" } + "RelayAutorizationRuleGet": { + "$ref": "./examples/Relay/RelayAutorizationRuleGet.json" + } }, - "description": "Get authorizationRule for a WCFRelays by name.", + "description": "Get authorizationRule for a WCF relay by name.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1444,7 +1532,7 @@ ], "responses": { "200": { - "description": "Request for WCFRelays AuthorizationRule succeeded", + "description": "Request for WCF relay authorization rule succeeded.", "schema": { "$ref": "#/definitions/AuthorizationRule" } @@ -1458,16 +1546,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/ListKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys": { "post": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_ListKeys", "x-ms-examples": { - "RelayAuthorizationRuleListKey.json": { "$ref": "../examples/Relay/RelayAuthorizationRuleListKey.json" } + "RelayAuthorizationRuleListKey.json": { + "$ref": "./examples/Relay/RelayAuthorizationRuleListKey.json" + } }, - "description": "Primary and Secondary ConnectionStrings to the WCFRelays.", + "description": "Primary and secondary connection strings to the WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1490,9 +1580,9 @@ ], "responses": { "200": { - "description": "Successful", + "description": "Successful.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -1504,16 +1594,18 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/WcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys": { "post": { "tags": [ "WCFRelays" ], "operationId": "WCFRelays_RegenerateKeys", "x-ms-examples": { - "RelayAuthorizationRuleRegenrateKey.json": { "$ref": "../examples/Relay/RelayAuthorizationRuleRegenrateKey.json" } + "RelayAuthorizationRuleRegenrateKey.json": { + "$ref": "./examples/Relay/RelayAuthorizationRuleRegenrateKey.json" + } }, - "description": "Regenerates the Primary or Secondary ConnectionStrings to the WCFRelays", + "description": "Regenerates the primary or secondary connection strings to the WCF relay.", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -1532,9 +1624,9 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RegenerateKeysParameters" + "$ref": "#/definitions/RegenerateAccessKeyParameters" }, - "description": "Parameters supplied to regenerate Auth Rule." + "description": "Parameters supplied to regenerate authorization rule." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1545,9 +1637,9 @@ ], "responses": { "200": { - "description": "Successful", + "description": "Successful.", "schema": { - "$ref": "#/definitions/AuthorizationRuleKeys" + "$ref": "#/definitions/AccessKeys" } }, "default": { @@ -1565,45 +1657,66 @@ "properties": { "location": { "type": "string", - "description": "Resource location" + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource location." }, "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Resource tags" + "description": "Resource tags." } }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], "required": [ "location" ], + "description": "Definition of resource." + }, + "ResourceNamespacePatch": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + } + }, "allOf": [ { "$ref": "#/definitions/Resource" } ], - "description": "Definition of Resource" + "description": "Definition of resource." }, "Resource": { "properties": { "id": { "readOnly": true, "type": "string", - "description": "Resource Id" + "description": "Resource ID." }, "name": { "readOnly": true, "type": "string", - "description": "Resource name" + "description": "Resource name." }, "type": { "readOnly": true, "type": "string", - "description": "Resource type" + "description": "Resource type." } }, - "description": "The Resource definition", + "description": "The resource definition.", "x-ms-azure-resource": true }, "HybridConnectionListResult": { @@ -1613,63 +1726,59 @@ "items": { "$ref": "#/definitions/HybridConnection" }, - "description": "Result of the List HybridConnection ." + "description": "Result of the list hybrid connections." }, "nextLink": { "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of HybridConnection operation" + "description": "Link to the next set of results. Not empty if value contains incomplete list hybrid connection operation." } }, - "description": "The response of the List HybridConnection operation." + "description": "The response of the list hybrid connection operation." }, "HybridConnection": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/HybridConnectionProperties", - "description": "Properties of HybridConnection" + "properties": { + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the hybrid connection was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "listenerCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "minimum": 0, + "maximum": 25, + "description": "The number of listeners for this hybrid connection. Note that min : 1 and max:25 are supported." + }, + "requiresClientAuthorization": { + "type": "boolean", + "description": "Returns true if client authorization is needed for this hybrid connection; otherwise, false." + }, + "userMetadata": { + "type": "string", + "description": "The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored." + } + }, + "description": "Properties of the HybridConnection." } }, - "description": "Description of HybridConnection Resource.", + "description": "Description of hybrid connection resource.", "allOf": [ { "$ref": "#/definitions/Resource" } ] }, - "HybridConnectionProperties": { - "properties": { - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time the HybridConnection was created." - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time the namespace was updated." - }, - "listenerCount": { - "format": "int32", - "type": "integer", - "readOnly": true, - "minimum": 1, - "maximum": 25, - "description": "The number of listeners for this HybridConnection. min : 1 and max:25 supported" - }, - "requiresClientAuthorization": { - "type": "boolean", - "description": "true if client authorization is needed for this HybridConnection; otherwise, false." - }, - "userMetadata": { - "type": "string", - "description": "usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored." - } - }, - "description": "Properties of the HybridConnection." - }, "WcfRelaysListResult": { "properties": { "value": { @@ -1677,82 +1786,80 @@ "items": { "$ref": "#/definitions/WcfRelay" }, - "description": "Result of the List WcfRelays ." + "description": "Result of the list WCF relay operation." }, "nextLink": { "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of WcfRelays operation" + "description": "Link to the next set of results. Not empty if value contains incomplete list of WCF relays." } }, - "description": "The response of the List WcfRelays operation." + "description": "The response of the list WCF relay operation." }, "WcfRelay": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/WcfRelayProperties", - "description": "Properties of WcfRelay" + "properties": { + "isDynamic": { + "readOnly": true, + "type": "boolean", + "description": "Returns true if the relay is dynamic; otherwise, false." + }, + "createdAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the WCF relay was created." + }, + "updatedAt": { + "readOnly": true, + "format": "date-time", + "type": "string", + "description": "The time the namespace was updated." + }, + "listenerCount": { + "readOnly": true, + "format": "int32", + "type": "integer", + "minimum": 0, + "maximum": 25, + "description": "The number of listeners for this relay. Note that min :1 and max:25 are supported." + }, + "relayType": { + "type": "string", + "description": "WCF relay type.", + "enum": [ + "NetTcp", + "Http" + ], + "x-ms-enum": { + "name": "Relaytype", + "modelAsString": false + } + }, + "requiresClientAuthorization": { + "type": "boolean", + "description": "Returns true if client authorization is needed for this relay; otherwise, false." + }, + "requiresTransportSecurity": { + "type": "boolean", + "description": "Returns true if transport security is needed for this relay; otherwise, false." + }, + "userMetadata": { + "type": "string", + "description": "The usermetadata is a placeholder to store user-defined string data for the WCF Relay endpoint. For example, it can be used to store descriptive data, such as list of teams and their contact information. Also, user-defined configuration settings can be stored." + } + }, + "description": "Properties of the WCF relay." } }, - "description": "Description of WcfRelays Resource.", + "description": "Description of the WCF relay resource.", "allOf": [ { "$ref": "#/definitions/Resource" } ] }, - "WcfRelayProperties": { - "properties": { - "relayType": { - "type": "string", - "description": "WCFRelay Type.", - "enum": [ - "NetTcp", - "Http" - ], - "x-ms-enum": { - "name": "Relaytype", - "modelAsString": true - } - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time the WCFRelay was created." - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true, - "description": "The time the namespace was updated." - }, - "listenerCount": { - "format": "int32", - "type": "integer", - "readOnly": true, - "description": "The number of listeners for this relay. min : 1 and max:25 supported" - }, - "requiresClientAuthorization": { - "type": "boolean", - "description": "true if client authorization is needed for this relay; otherwise, false." - }, - "requiresTransportSecurity": { - "type": "boolean", - "description": "true if transport security is needed for this relay; otherwise, false." - }, - "isDynamic": { - "type": "boolean", - "readOnly": true, - "description": "true if the relay is dynamic; otherwise, false." - }, - "userMetadata": { - "type": "string", - "description": "usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.e.g. it can be used to store descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored." - } - }, - "description": "Properties of the WcfRelay Properties." - }, "RelayNamespaceListResult": { "properties": { "value": { @@ -1760,28 +1867,28 @@ "items": { "$ref": "#/definitions/RelayNamespace" }, - "description": "Result of the List Namespace operation." + "description": "Result of the list namespace operation." }, "nextLink": { "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of Namespaces" + "description": "Link to the next set of results. Not empty if value contains incomplete list of namespaces." } }, - "description": "The response of the List Namespace operation." + "description": "The response from the list namespace operation." }, "RelayNamespace": { "properties": { "sku": { "$ref": "#/definitions/Sku", - "description": "Sku of the Namespace." + "description": "SKU of the namespace." }, "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/RelayNamespaceProperties", - "description": "Description of Relay Namespace" + "description": "Description of Relay namespace" } }, - "description": "Description of a Namespace resource.", + "description": "Description of a namespace resource.", "allOf": [ { "$ref": "#/definitions/TrackedResource" @@ -1793,7 +1900,18 @@ "provisioningState": { "type": "string", "readOnly": true, - "description": "Provisioning state of the namespace." + "enum": [ + "Created", + "Succeeded", + "Deleted", + "Failed", + "Updating", + "Unknown" + ], + "x-ms-enum": { + "name": "provisioningStateEnum", + "modelAsString": false + } }, "createdAt": { "type": "string", @@ -1815,41 +1933,59 @@ "metricId": { "type": "string", "readOnly": true, - "description": "Identifier for Azure Insights metrics" + "description": "Identifier for Azure Insights metrics." + } + }, + "description": "Properties of the namespace." + }, + "RelayUpdateParameters": { + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU of the namespace." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RelayNamespaceProperties", + "description": "Description of Relay namespace." } }, - "description": "Properties of the Namespace." + "description": "Description of a namespace resource.", + "allOf": [ + { + "$ref": "#/definitions/ResourceNamespacePatch" + } + ] }, "Sku": { "type": "object", "properties": { "name": { "type": "string", - "description": "Name of this Sku", + "description": "Name of this SKU.", "enum": [ "Standard" ], "x-ms-enum": { "name": "SkuName", - "modelAsString": true + "modelAsString": false } }, "tier": { "type": "string", - "description": "The tier of this particular SKU", + "description": "The tier of this SKU.", "enum": [ "Standard" ], "x-ms-enum": { "name": "SkuTier", - "modelAsString": true + "modelAsString": false } } }, - "description": "Sku of the Namespace.", + "description": "SKU of the namespace.", "required": [ - "name", - "tier" + "name" ] }, "AuthorizationRuleListResult": { @@ -1859,21 +1995,42 @@ "items": { "$ref": "#/definitions/AuthorizationRule" }, - "description": "Result of the List AuthorizationRules operation." + "description": "Result of the list authorization rules operation." }, "nextLink": { "type": "string", - "description": "Link to the next set of results. Not empty if Value contains incomplete list of AuthorizationRules" + "description": "Link to the next set of results. Not empty if value contains incomplete list of authorization rules." } }, - "description": "The response of the List Namespace operation." + "description": "The response from the list namespace operation." }, "AuthorizationRule": { "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/AuthorizationRuleProperties", - "description": "Authorization Rule properties" + "properties": { + "rights": { + "type": "array", + "uniqueItems": true, + "items": { + "type": "string", + "enum": [ + "Manage", + "Send", + "Listen" + ], + "x-ms-enum": { + "name": "AccessRights", + "modelAsString": false + } + }, + "description": "The rights associated with the rule." + } + }, + "required": [ + "rights" + ], + "description": "Authorization rule properties." } }, "required": [ @@ -1884,88 +2041,56 @@ "$ref": "#/definitions/Resource" } ], - "description": "Description of a Namespace AuthorizationRules." + "description": "Description of a namespace authorization rule." }, - "AuthorizationRuleProperties": { - "properties": { - "rights": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string", - "enum": [ - "Manage", - "Send", - "Listen" - ], - "x-ms-enum": { - "name": "AccessRights", - "modelAsString": true - } - }, - "description": "The rights associated with the rule." - } - }, - "required": [ - "rights" - ], - "description": "AuthorizationRule properties." - }, - "AuthorizationRuleKeys": { + "AccessKeys": { "properties": { "primaryConnectionString": { "type": "string", - "description": "PrimaryConnectionString of the created Namespace AuthorizationRule." + "description": "Primary connection string of the created namespace authorization rule." }, "secondaryConnectionString": { "type": "string", - "description": "SecondaryConnectionString of the created Namespace AuthorizationRule" + "description": "Secondary connection string of the created namespace authorization rule." }, "primaryKey": { "type": "string", - "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token" + "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token." }, "secondaryKey": { "type": "string", - "description": "A base64-encoded 256-bit secondary key for signing and validating the SAS token" + "description": "A base64-encoded 256-bit secondary key for signing and validating the SAS token." }, "keyName": { "type": "string", - "description": "A string that describes the authorization rule" + "description": "A string that describes the authorization rule." } }, "description": "Namespace/Relay Connection String" }, - "RegenerateKeysParameters": { + "RegenerateAccessKeyParameters": { "properties": { - "policyKey": { + "keyType": { "type": "string", - "description": "Key that needs to be regenerated.", + "description": "The access key to regenerate.", "enum": [ "PrimaryKey", "SecondaryKey" ], "x-ms-enum": { - "name": "policyKey", - "modelAsString": true + "name": "KeyType", + "modelAsString": false } - } - }, - "description": "Parameters supplied to the Regenerate Authorization Rule operation." - }, - "ErrorResponse": { - "description": "Error reponse indicates Relay service is not able to process the incoming request. The reason is provided in the error message.", - "type": "object", - "properties": { - "code": { - "description": "Error code.", - "type": "string" }, - "message": { - "description": "Error message indicating why the operation failed.", - "type": "string" + "key": { + "type": "string", + "description": "Optional. If the key value is provided, this is set to key type, or autogenerated key value set for key type." } - } + }, + "required": [ + "keyType" + ], + "description": "Parameters supplied to the regenerate authorization rule operation, specifies which key neeeds to be reset." }, "UnavailableReason": { "type": "string", @@ -1987,53 +2112,37 @@ "properties": { "name": { "type": "string", - "description": "The Name to check the namespce name availability and The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number." + "description": "The namespace name to check for availability. The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number." } }, "required": [ "name" ], - "description": "Description of a Check Name availability request properties." + "description": "Description of the check name availability request properties." }, "CheckNameAvailabilityResult": { "properties": { + "message": { + "type": "string", + "readOnly": true, + "description": "The detailed info regarding the reason associated with the namespace." + }, "nameAvailable": { "type": "boolean", - "description": "Value indicating namespace is availability, true if the namespace is available; otherwise, false." + "description": "Value indicating namespace is available. Returns true if the namespace is available; otherwise, false." }, "reason": { "$ref": "#/definitions/UnavailableReason", "description": "The reason for unavailability of a namespace." - }, - "message": { - "type": "string", - "readOnly": true, - "description": "The detailed info regarding the reason associated with the namespace." } }, - "description": "Description of a Check Name availability request properties." - }, - "RelayNamespaceUpdateParameter": { - "properties": { - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" - }, - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku of the created namespace" - } - }, - "description": "Parameters supplied to the Patch Namespace operation." + "description": "Description of the check name availability request properties." }, "OperationListResult": { - "description": "Result of the request to list EventHub operations. It contains a list of operations and a URL link to get the next set of results.", + "description": "Result of the request to list Relay operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { - "description": "List of EventHub operations supported by the Microsoft.EventHub resource provider.", + "description": "List of Relay operations supported by resource provider.", "type": "array", "readOnly": true, "items": { @@ -2048,7 +2157,7 @@ } }, "Operation": { - "description": "A EventHub REST API operation", + "description": "A Relay REST API operation.", "type": "object", "properties": { "name": { @@ -2060,7 +2169,7 @@ "description": "The object that represents the operation.", "properties": { "provider": { - "description": "Service provider: Microsoft.EventHub", + "description": "Service provider: Relay.", "type": "string", "readOnly": true }, @@ -2077,6 +2186,20 @@ } } } + }, + "ErrorResponse": { + "description": "Error reponse indicates Relay service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } } }, "parameters": { @@ -2085,14 +2208,14 @@ "in": "path", "required": true, "type": "string", - "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "description": "Subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." }, "ApiVersionParameter": { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "Client Api Version." + "description": "Client API version." }, "resourceGroupNameParameter": { "name": "resourceGroupName", @@ -2112,7 +2235,7 @@ "minLength": 6, "maxLength": 50, "x-ms-parameter-location": "method", - "description": "The Namespace Name" + "description": "The namespace name" }, "hybridConnectionNameParameter": { "name": "hybridConnectionName", @@ -2120,7 +2243,6 @@ "required": true, "type": "string", "minLength": 1, - "maxLength": 50, "x-ms-parameter-location": "method", "description": "The hybrid connection name." }, @@ -2130,9 +2252,8 @@ "required": true, "type": "string", "minLength": 1, - "maxLength": 50, "x-ms-parameter-location": "method", - "description": "The authorizationRule name." + "description": "The authorization rule name." }, "relayNameParameter": { "name": "relayName", @@ -2140,9 +2261,8 @@ "required": true, "type": "string", "minLength": 1, - "maxLength": 50, "x-ms-parameter-location": "method", - "description": "The relay name" + "description": "The relay name." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.ResourceHealth/resourcehealth.json b/App_Data/SwaggerSpecs/Microsoft.ResourceHealth/resourcehealth.json index c2a265a3..48fca553 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ResourceHealth/resourcehealth.json +++ b/App_Data/SwaggerSpecs/Microsoft.ResourceHealth/resourcehealth.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2015-01-01", + "version": "2017-07-01", "title": "Microsoft.ResourceHealth", "description": "The Resource Health Client." }, @@ -71,7 +71,7 @@ }, "x-ms-examples": { "ListHealthBySubscriptionId": { - "$ref": "../examples/AvailabilityStatuses_ListBySubscriptionId.json" + "$ref": "./examples/AvailabilityStatuses_ListBySubscriptionId.json" } } } @@ -119,7 +119,7 @@ }, "x-ms-examples": { "ListByResourceGroup": { - "$ref": "../examples/AvailabilityStatuses_ListByResourceGroup.json" + "$ref": "./examples/AvailabilityStatuses_ListByResourceGroup.json" } } } @@ -166,7 +166,7 @@ }, "x-ms-examples": { "GetCurrentHealthByResource": { - "$ref": "../examples/AvailabilityStatus_GetByResource.json" + "$ref": "./examples/AvailabilityStatus_GetByResource.json" } } } @@ -177,7 +177,7 @@ "AvailabilityStatuses" ], "operationId": "AvailabilityStatuses_List", - "description": "Lists the historical availability statuses for a single resource. Use the nextLink property in the response to get the next page of availability status", + "description": "Lists all historical availability transitions and impacting events for a single resource. Use the nextLink property in the response to get the next page of availability status", "parameters": [ { "name": "resourceUri", @@ -216,7 +216,154 @@ }, "x-ms-examples": { "GetHealthHistoryByResource": { - "$ref": "../examples/Availabilitystatuses_List.json" + "$ref": "./examples/AvailabilityStatuses_List.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses/current": { + "get": { + "tags": [ + "ChildAvailabilityStatuses" + ], + "operationId": "ChildAvailabilityStatuses_GetByResource", + "description": "Gets current availability status for a single resource", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The body contains the current availability status for a single resource", + "schema": { + "$ref": "#/definitions/availabilityStatus" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetCurrentHealthByResource": { + "$ref": "./examples/ChildAvailabilityStatus_GetByResource.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ResourceHealth/childAvailabilityStatuses": { + "get": { + "tags": [ + "ChildAvailabilityStatuses" + ], + "operationId": "ChildAvailabilityStatuses_List", + "description": "Lists the historical availability statuses for a single child resource. Use the nextLink property in the response to get the next page of availability status", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support one nesting level resource types : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resource-provider-name}/{parentResourceType}/{parentResourceName}/{resourceType}/{resourceName}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The body contains the list of the historical availability statuses for a single child resource", + "schema": { + "$ref": "#/definitions/availabilityStatusListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetHealthHistoryByResource": { + "$ref": "./examples/ChildAvailabilityStatuses_List.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.ResourceHealth/childResources": { + "get": { + "tags": [ + "ChildResources" + ], + "operationId": "ChildResources_List", + "description": "Lists the all the children and its current health status for a parent resource. Use the nextLink property in the response to get the next page of children current health", + "parameters": [ + { + "name": "resourceUri", + "in": "path", + "required": true, + "type": "string", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Currently the API only support not nested parent resource type: /subscriptions/{subscriptionId}/resourceGroups/{resource-group-name}/providers/{resource-provider-name}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/FilterParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The body contains the list of the children's current availability statuses for a single resource which contains children", + "schema": { + "$ref": "#/definitions/availabilityStatusListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "GetHealthHistoryByResource": { + "$ref": "./examples/ChildResources_List.json" } } } @@ -248,6 +395,78 @@ } } } + }, + "/providers/Microsoft.ResourceHealth/emergingIssues/{issueName}": { + "get": { + "tags": [ + "EmergingIssues" + ], + "operationId": "EmergingIssues_Get", + "description": "Gets Azure services' emerging issues.", + "parameters": [ + { + "$ref": "#/parameters/IssueNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The body contains properties of azure emerging issues, which includes a list of status banner and status active events.", + "schema": { + "$ref": "#/definitions/emergingIssuesGetResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetEmergingIssues": { + "$ref": "./examples/EmergingIssues_Get.json" + } + } + } + }, + "/providers/Microsoft.ResourceHealth/emergingIssues": { + "get": { + "tags": [ + "EmergingIssues" + ], + "operationId": "EmergingIssues_List", + "description": "Lists Azure services' emerging issues.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The body contains a list of azure emerging issues.", + "schema": { + "$ref": "#/definitions/emergingIssueListResult" + } + }, + "default": { + "description": "DefaultErrorResponse", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetEmergingIssues": { + "$ref": "./examples/EmergingIssues_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } } }, "definitions": { @@ -296,7 +515,7 @@ "properties": { "availabilityState": { "type": "string", - "description": "Availability status of the resource.", + "description": "Availability status of the resource. When it is null, this availabilityStatus object represents an availability impacting event", "enum": [ "Available", "Unavailable", @@ -309,7 +528,7 @@ }, "summary": { "type": "string", - "description": "Summary description of the availability state." + "description": "Summary description of the availability status." }, "detailedStatus": { "type": "string", @@ -324,6 +543,22 @@ "description": "When the resource's availabilityState is Unavailable, it provides the Timestamp for when the health impacting event was received.", "format": "date-time" }, + "healthEventType": { + "type": "string", + "description": "In case of an availability impacting event, it describes when the health impacting event was originated. Examples are Lifecycle, Downtime, Fault Analysis etc." + }, + "healthEventCause": { + "type": "string", + "description": "In case of an availability impacting event, it describes where the health impacting event was originated. Examples are PlatformInitiated, UserInitiated etc." + }, + "healthEventCategory": { + "type": "string", + "description": "In case of an availability impacting event, it describes the category of a PlatformInitiated health impacting event. Examples are Planned, Unplanned etc." + }, + "healthEventId": { + "type": "string", + "description": "It is a unique Id that identifies the event" + }, "resolutionETA": { "type": "string", "description": "When the resource's availabilityState is Unavailable and the reasonType is not User Initiated, it provides the date and time for when the issue is expected to be resolved.", @@ -472,6 +707,188 @@ ], "description": "Lists the operations response." }, + "statusBanner": { + "description": "Banner type of emerging issue.", + "properties": { + "title": { + "type": "string", + "description": "The banner title." + }, + "message": { + "type": "string", + "description": "The details of banner." + }, + "cloud": { + "type": "string", + "description": "The cloud type of this banner." + }, + "lastModifiedTime": { + "type": "string", + "description": "The last time modified on this banner.", + "format": "date-time" + } + } + }, + "impactedRegion": { + "description": "Object of impacted region.", + "properties": { + "id": { + "type": "string", + "description": "The impacted region id." + }, + "name": { + "type": "string", + "description": "The impacted region name." + } + } + }, + "emergingIssueImpact": { + "type": "object", + "description": "Object of the emerging issue impact on services and regions.", + "properties": { + "id": { + "type": "string", + "description": "The impacted service id." + }, + "name": { + "type": "string", + "description": "The impacted service name." + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/impactedRegion" + }, + "description": "The list of impacted regions for corresponding emerging issues." + } + } + }, + "statusActiveEvent": { + "description": "Active event type of emerging issue.", + "properties": { + "title": { + "type": "string", + "description": "The active event title." + }, + "description": { + "type": "string", + "description": "The details of active event." + }, + "trackingId": { + "type": "string", + "description": "The tracking id of this active event." + }, + "startTime": { + "type": "string", + "description": "The impact start time on this active event.", + "format": "date-time" + }, + "cloud": { + "type": "string", + "description": "The cloud type of this active event." + }, + "severity": { + "type": "string", + "description": "The severity level of this active event.", + "enum": [ + "Information", + "Warning", + "Error" + ], + "x-ms-enum": { + "name": "SeverityValues", + "modelAsString": true + } + }, + "stage": { + "type": "string", + "description": "The stage of this active event.", + "enum": [ + "Active", + "Resolve", + "Archived" + ], + "x-ms-enum": { + "name": "StageValues", + "modelAsString": true + } + }, + "published": { + "type": "boolean", + "description": "The boolean value of this active event if published or not." + }, + "lastModifiedTime": { + "type": "string", + "description": "The last time modified on this banner.", + "format": "date-time" + }, + "impacts": { + "type": "array", + "items": { + "$ref": "#/definitions/emergingIssueImpact" + }, + "description": "The list of emerging issues impacts." + } + } + }, + "emergingIssuesGetResult": { + "description": "The Get EmergingIssues operation response.", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/emergingIssue", + "description": "The emerging issue entity properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ] + }, + "emergingIssue": { + "type": "object", + "description": "On-going emerging issue from azure status.", + "properties": { + "refreshTimestamp": { + "type": "string", + "description": "Timestamp for when last time refreshed for ongoing emerging issue.", + "format": "date-time" + }, + "statusBanners": { + "type": "array", + "items": { + "$ref": "#/definitions/statusBanner" + }, + "description": "The list of emerging issues of banner type." + }, + "statusActiveEvents": { + "type": "array", + "items": { + "$ref": "#/definitions/statusActiveEvent" + }, + "description": "The list of emerging issues of active event type." + } + } + }, + "emergingIssueListResult": { + "description": "The list of emerging issues.", + "type": "object", + "properties": { + "value": { + "description": "The list of emerging issues.", + "type": "array", + "items": { + "$ref": "#/definitions/emergingIssuesGetResult" + } + }, + "nextLink": { + "description": "The link used to get the next page of emerging issues.", + "type": "string" + } + } + }, "operation": { "description": "Operation available in the resourcehealth resource provider.", "properties": { @@ -493,7 +910,7 @@ }, "operation": { "type": "string", - "description": "Operation." + "description": "Operation name." }, "description": { "type": "string", @@ -540,20 +957,24 @@ "type": "string", "description": "Client Api Version." }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", + "IssueNameParameter": { + "name": "issueName", "in": "path", + "description": "The name of the emerging issue.", "required": true, "type": "string", - "description": "The name of the resource group.", + "enum": [ + "default" + ], "x-ms-parameter-location": "method" }, - "ResourceTypeParameter": { - "name": "resourceType", + "ResourceGroupNameParameter": { + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource type." + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" }, "FilterParameter": { "name": "$filter", @@ -572,4 +993,4 @@ "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Resources/deploymentScripts.json b/App_Data/SwaggerSpecs/Microsoft.Resources/deploymentScripts.json index 56a53796..2d344824 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Resources/deploymentScripts.json +++ b/App_Data/SwaggerSpecs/Microsoft.Resources/deploymentScripts.json @@ -3,7 +3,7 @@ "info": { "title": "DeploymentScriptsClient", "description": "The APIs listed in this specification can be used to manage Deployment Scripts resource through the Azure Resource Manager.", - "version": "2019-10-01-preview" + "version": "2020-10-01" }, "host": "management.azure.com", "schemes": [ @@ -40,13 +40,23 @@ "DeploymentScripts" ], "operationId": "DeploymentScripts_Create", + "x-ms-long-running-operation": true, "description": "Creates a deployment script.", "x-ms-examples": { "DeploymentScriptsCreate": { "$ref": "./examples/DeploymentScripts_Create.json" }, + "DeploymentScriptsCreateNoUserManagedIdentity": { + "$ref": "./examples/DeploymentScripts_Create_No_UserManagedIdentity.json" + }, "DeploymentScriptsCreate_MinCreate": { "$ref": "./examples/DeploymentScripts_Min_Create.json" + }, + "DeploymentScriptsCreate_UsingCustomACIName": { + "$ref": "./examples/DeploymentScripts_Create_Using_Custom_Aci_Name.json" + }, + "DeploymentScriptsCreate_UsingExistingStorageAccount": { + "$ref": "./examples/DeploymentScripts_Create_Using_Existing_StorageAccount.json" } }, "parameters": [ @@ -88,7 +98,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -98,7 +108,7 @@ "DeploymentScripts" ], "operationId": "DeploymentScripts_Update", - "description": "Updates a deployment script.", + "description": "Updates deployment script tags with specified values.", "x-ms-examples": { "DeploymentScriptsUpdate": { "$ref": "./examples/DeploymentScripts_Update.json" @@ -123,12 +133,12 @@ "schema": { "$ref": "#/definitions/DeploymentScriptUpdateParameter" }, - "description": "Updated deployment script supplied to the operation." + "description": "Deployment script resource with the tags to be updated." } ], "responses": { "200": { - "description": "OK -- Deployment script is updated.", + "description": "OK -- Deployment script tags are updated.", "schema": { "$ref": "#/definitions/DeploymentScript" } @@ -136,7 +146,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -176,7 +186,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -216,7 +226,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -252,7 +262,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } }, @@ -291,13 +301,13 @@ "200": { "description": "OK -- Returns deployment script logs if available.", "schema": { - "$ref": "#/definitions/ScriptLogsList" + "$ref": "#/definitions/ScriptLogsList" } }, "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -313,6 +323,9 @@ "x-ms-examples": { "DeploymentScriptsGetLogs": { "$ref": "./examples/DeploymentScripts_GetLogsDefault.json" + }, + "DeploymentScriptsGetLogsWithTail": { + "$ref": "./examples/DeploymentScripts_GetLogsDefaultWithTail.json" } }, "parameters": [ @@ -327,6 +340,12 @@ }, { "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "tail", + "in": "query", + "description": "The number of lines to show from the tail of the deployment script log. Valid value is a positive number up to 1000. If 'tail' is not provided, all available logs are shown up to container instance log capacity of 4mb.", + "type": "integer" } ], "responses": { @@ -339,7 +358,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } } @@ -378,7 +397,7 @@ "default": { "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/DefaultErrorResponse" + "$ref": "#/definitions/DeploymentScriptsError" } } }, @@ -391,7 +410,6 @@ "definitions": { "DeploymentScript": { "required": [ - "identity", "location", "kind" ], @@ -400,12 +418,15 @@ "discriminator": "kind", "properties": { "identity": { - "description": "Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported.", + "description": "Optional property. Managed identity to be used for this deployment script. Currently, only user-assigned MSI is supported.", "$ref": "#/definitions/ManagedServiceIdentity" }, "location": { "type": "string", - "x-ms-mutability": [ "read", "create" ], + "x-ms-mutability": [ + "read", + "create" + ], "description": "The location of the ACI and the storage account for the deployment script." }, "tags": { @@ -426,6 +447,11 @@ "name": "ScriptType", "modelAsString": true } + }, + "systemData": { + "readOnly": true, + "description": "The system metadata related to this resource.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/systemData" } }, "allOf": [ @@ -556,7 +582,6 @@ }, "scriptContent": { "type": "string", - "maxLength": 32000, "description": "Script body." }, "arguments": { @@ -577,12 +602,13 @@ "retentionInterval": { "type": "string", "format": "duration", - "description": "Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P7D means one week)." + "description": "Interval for which the service retains the script resource after it reaches a terminal state. Resource will be deleted when this duration expires. Duration is based on ISO 8601 pattern (for example P1D means one day)." }, "timeout": { "type": "string", "format": "duration", - "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is PT1H" + "default": "P1D", + "description": "Maximum allowed script execution time specified in ISO 8601 format. Default value is P1D" } } }, @@ -591,6 +617,16 @@ "x-ms-external": true, "description": "Common properties for the deployment script.", "properties": { + "containerSettings": { + "type": "object", + "description": "Container settings.", + "$ref": "#/definitions/ContainerConfiguration" + }, + "storageAccountSettings": { + "type": "object", + "description": "Storage Account settings.", + "$ref": "#/definitions/StorageAccountConfiguration" + }, "cleanupPreference": { "type": "string", "description": "The clean up preference when the script execution gets in a terminal state. Default setting is 'Always'.", @@ -599,6 +635,7 @@ "OnSuccess", "OnExpiration" ], + "default": "Always", "x-ms-enum": { "name": "cleanupOptions", "modelAsString": true @@ -638,6 +675,33 @@ } } }, + "ContainerConfiguration": { + "type": "object", + "description": "Settings to customize ACI container instance.", + "properties": { + "containerGroupName": { + "type": "string", + "description": "Container group name, if not specified then the name will get auto-generated. Not specifying a 'containerGroupName' indicates the system to generate a unique name which might end up flagging an Azure Policy as non-compliant. Use 'containerGroupName' when you have an Azure Policy that expects a specific naming convention or when you want to fully control the name. 'containerGroupName' property must be between 1 and 63 characters long, must contain only lowercase letters, numbers, and dashes and it cannot start or end with a dash and consecutive dashes are not allowed. To specify a 'containerGroupName', add the following object to properties: { \"containerSettings\": { \"containerGroupName\": \"contoso-container\" } }. If you do not want to specify a 'containerGroupName' then do not add 'containerSettings' property.", + "minLength": 1, + "maxLength": 63 + } + } + }, + "StorageAccountConfiguration": { + "type": "object", + "description": "Settings to use an existing storage account. Valid storage account kinds are: Storage, StorageV2 and FileStorage", + "properties": { + "storageAccountName": { + "type": "string", + "description": "The storage account name." + }, + "storageAccountKey": { + "type": "string", + "description": "The storage account access key.", + "x-ms-secret": true + } + } + }, "ScriptStatus": { "type": "object", "description": "Generic object modeling results of script execution.", @@ -669,6 +733,10 @@ "format": "date-time", "readOnly": true, "description": "Time the deployment script resource will expire." + }, + "error": { + "description": "Error that is relayed from the script execution.", + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } } }, @@ -687,6 +755,11 @@ "modelAsString": true } }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "ID of the Azure Active Directory." + }, "userAssignedIdentities": { "type": "object", "description": "The list of user-assigned managed identities associated with the resource. Key is the Azure resource Id of the managed identity.", @@ -702,10 +775,12 @@ "description": "User-assigned managed identity.", "properties": { "principalId": { + "readOnly": true, "type": "string", "description": "Azure Active Directory principal ID associated with this identity." }, "clientId": { + "readOnly": true, "type": "string", "description": "Client App Id associated with this identity." } @@ -725,7 +800,8 @@ }, "secureValue": { "type": "string", - "description": "The value of the secure environment variable." + "description": "The value of the secure environment variable.", + "x-ms-secret": true } }, "required": [ @@ -809,30 +885,13 @@ } } }, - "DefaultErrorResponse": { - "description": "The details of the error.", - "type": "object", + "DeploymentScriptsError": { "properties": { - "code": { - "description": "One of a server-defined set of error codes.", - "type": "string" - }, - "message": { - "description": "A human-readable representation of the error.", - "type": "string" - }, - "target": { - "description": "The target of the particular error.", - "type": "string" - }, - "details": { - "description": "Detailed errors.", - "type": "array", - "items": { - "$ref": "#/definitions/DefaultErrorResponse" - } + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } - } + }, + "description": "Deployment scripts error response." } }, "parameters": { @@ -860,7 +919,6 @@ "required": true, "type": "string", "description": "The name of the resource group. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90, "x-ms-parameter-location": "method" diff --git a/App_Data/SwaggerSpecs/Microsoft.Resources/resources.json b/App_Data/SwaggerSpecs/Microsoft.Resources/resources.json index 5554f381..29cd3e0e 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Resources/resources.json +++ b/App_Data/SwaggerSpecs/Microsoft.Resources/resources.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "ResourceManagementClient", - "version": "2017-05-10", + "version": "2021-04-01", "description": "Provides operations for working with resources and resource groups." }, "host": "management.azure.com", @@ -34,40 +34,54 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "/providers/Microsoft.Resources/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Microsoft.Resources REST API operations.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}": { "delete": { "tags": [ "Deployments" ], - "operationId": "Deployments_Delete", + "operationId": "Deployments_DeleteAtScope", "summary": "Deletes a deployment from the deployment history.", - "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. Deleting a template deployment does not affect the state of the resource group. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group with the deployment to delete. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment to delete.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -76,6 +90,12 @@ }, "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -84,34 +104,17 @@ "tags": [ "Deployments" ], - "operationId": "Deployments_CheckExistence", + "operationId": "Deployments_CheckExistenceAtScope", "description": "Checks whether the deployment exists.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group with the deployment to check. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment to check.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -120,6 +123,12 @@ }, "404": { "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } }, @@ -127,29 +136,15 @@ "tags": [ "Deployments" ], - "operationId": "Deployments_CreateOrUpdate", - "summary": "Deploys resources to a resource group.", + "operationId": "Deployments_CreateOrUpdateAtScope", + "summary": "Deploys resources at a given scope.", "description": "You can provide the template and parameters directly in the request or link to JSON files.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "name": "parameters", @@ -162,9 +157,6 @@ }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -179,42 +171,36 @@ "schema": { "$ref": "#/definitions/DeploymentExtended" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, - "x-ms-long-running-operation": true + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at a given scope.": { + "$ref": "./examples/PutDeploymentAtScope.json" + } + } }, "get": { "tags": [ "Deployments" ], - "operationId": "Deployments_Get", + "operationId": "Deployments_GetAtScope", "description": "Gets a deployment.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment to get.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -223,80 +209,62 @@ "schema": { "$ref": "#/definitions/DeploymentExtended" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { "post": { "tags": [ "Deployments" ], - "operationId": "Deployments_Cancel", + "operationId": "Deployments_CancelAtScope", "summary": "Cancels a currently running template deployment.", - "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment to cancel.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "204": { "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { "post": { "tags": [ "Deployments" ], - "operationId": "Deployments_Validate", + "operationId": "Deployments_ValidateAtScope", + "x-ms-long-running-operation": true, "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "name": "parameters", @@ -309,9 +277,6 @@ }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -321,48 +286,40 @@ "$ref": "#/definitions/DeploymentValidateResult" } }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, "400": { "description": "Returns the validation result.", "schema": { "$ref": "#/definitions/DeploymentValidateResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { "post": { "tags": [ "Deployments" ], - "operationId": "Deployments_ExportTemplate", + "operationId": "Deployments_ExportTemplateAtScope", "description": "Exports the template used for specified deployment.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment from which to get the template.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -371,27 +328,26 @@ "schema": { "$ref": "#/definitions/DeploymentExportResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": { + "/{scope}/providers/Microsoft.Resources/deployments/": { "get": { "tags": [ "Deployments" ], - "operationId": "Deployments_ListByResourceGroup", - "description": "Get all the deployments for a resource group.", + "operationId": "Deployments_ListAtScope", + "description": "Get all the deployments at the given scope.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group with the deployments to get. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "$ref": "#/parameters/ScopeParameter" }, { "name": "$filter", @@ -410,9 +366,6 @@ }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -421,6 +374,12 @@ "schema": { "$ref": "#/definitions/DeploymentListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -429,92 +388,2262 @@ "x-ms-odata": "#/definitions/DeploymentExtendedFilter" } }, - "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": { - "post": { + "/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { "tags": [ - "Providers" + "Deployments" ], - "operationId": "Providers_Unregister", - "description": "Unregisters a subscription from a resource provider.", + "operationId": "Deployments_DeleteAtTenantScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", "parameters": [ { - "name": "resourceProviderNamespace", - "in": "path", - "required": true, - "type": "string", - "description": "The namespace of the resource provider to unregister." + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { - "200": { - "description": "OK - Returns informatin about the resource provider.", + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Provider" + "$ref": "#/definitions/CloudError" } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": { - "post": { + }, + "x-ms-long-running-operation": true + }, + "head": { "tags": [ - "Providers" + "Deployments" ], - "operationId": "Providers_Register", - "description": "Registers a subscription with a resource provider.", + "operationId": "Deployments_CheckExistenceAtTenantScope", + "description": "Checks whether the deployment exists.", "parameters": [ { - "name": "resourceProviderNamespace", - "in": "path", - "required": true, - "type": "string", - "description": "The namespace of the resource provider to register." + "$ref": "#/parameters/DeploymentNameParameter" }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { - "200": { - "description": "OK - Returns information about the resource provider.", + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Provider" + "$ref": "#/definitions/CloudError" } } } - } - }, - "/subscriptions/{subscriptionId}/providers": { - "get": { + }, + "put": { "tags": [ - "Providers" + "Deployments" ], - "operationId": "Providers_List", - "description": "Gets all resource providers for a subscription.", + "operationId": "Deployments_CreateOrUpdateAtTenantScope", + "summary": "Deploys resources at tenant scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at tenant scope.": { + "$ref": "./examples/PutDeploymentAtTenant.json" + } + } + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtTenantScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtTenantScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtTenantScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtTenantScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the tenant group.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnTenant.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtTenantScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtTenantScope", + "description": "Get all the deployments at the tenant scope.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtManagementGroupScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtManagementGroupScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtManagementGroupScope", + "summary": "Deploys resources at management group scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create deployment at management group scope.": { + "$ref": "./examples/PutDeploymentAtManagementGroup.json" + } + } + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtManagementGroupScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtManagementGroupScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtManagementGroupScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtManagementGroupScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the management group.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScopedDeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at management group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnManagementGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtManagementGroupScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtManagementGroupScope", + "description": "Get all the deployments for a management group.", + "parameters": [ + { + "$ref": "#/parameters/GroupIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_DeleteAtSubscriptionScope", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistenceAtSubscriptionScope", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdateAtSubscriptionScope", + "summary": "Deploys resources at subscription scope.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a deployment that will deploy a templateSpec with the given resourceId": { + "$ref": "./examples/PutDeploymentSubscriptionTemplateSpecsWithId.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_GetAtSubscriptionScope", + "description": "Gets a deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CancelAtSubscriptionScope", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resources partially deployed.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ValidateAtSubscriptionScope", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIfAtSubscriptionScope", + "description": "Returns changes that will be made by the deployment if executed at the scope of the subscription.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentWhatIf" + }, + "description": "Parameters to What If." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at subscription scope": { + "$ref": "./examples/PostDeploymentWhatIfOnSubscription.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplateAtSubscriptionScope", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListAtSubscriptionScope", + "description": "Get all the deployments for a subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}": { + "delete": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Delete", + "summary": "Deletes a deployment from the deployment history.", + "description": "A template deployment that is currently running cannot be deleted. Deleting a template deployment removes the associated deployment operations. Deleting a template deployment does not affect the state of the resource group. This is an asynchronous operation that returns a status of 202 until the template deployment is successfully deleted. The Location response header contains the URI that is used to obtain the status of the process. While the process is running, a call to the URI in the Location header returns a status of 202. When the process finishes, the URI in the Location header returns a status of 204 on success. If the asynchronous request failed, the URI in the Location header returns an error-level status code.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployment to delete. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "head": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CheckExistence", + "description": "Checks whether the deployment exists.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployment to check. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CreateOrUpdate", + "summary": "Deploys resources to a resource group.", + "description": "You can provide the template and parameters directly in the request or link to JSON files.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to deploy the resources to. The name is case insensitive. The resource group must already exist.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Additional parameters supplied to the operation." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "201": { + "description": "Created - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a deployment that will redeploy the last successful deployment on failure": { + "$ref": "./examples/PutDeploymentWithOnErrorDeploymentLastSuccessful.json" + }, + "Create a deployment that will redeploy another deployment on failure": { + "$ref": "./examples/PutDeploymentWithOnErrorDeploymentSpecificDeployment.json" + }, + "Create a deployment that will deploy a templateSpec with the given resourceId": { + "$ref": "./examples/PutDeploymentResourceGroupTemplateSpecsWithId.json" + }, + "Create a deployment that will deploy a template with a uri and queryString": { + "$ref": "./examples/PutDeploymentResourceGroup.json" + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Get", + "description": "Gets a deployment.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the deployment, including provisioning status.", + "schema": { + "$ref": "#/definitions/DeploymentExtended" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/cancel": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Cancel", + "summary": "Cancels a currently running template deployment.", + "description": "You can cancel a deployment only if the provisioningState is Accepted or Running. After the deployment is canceled, the provisioningState is set to Canceled. Canceling a template deployment stops the currently running template deployment and leaves the resource group partially deployed.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/validate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_Validate", + "x-ms-long-running-operation": true, + "description": "Validates whether the specified template is syntactically correct and will be accepted by Azure Resource Manager..", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Deployment" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "202": { + "description": "Accepted - The request has been accepted for processing and the operation will complete asynchronously." + }, + "400": { + "description": "Returns the validation result.", + "schema": { + "$ref": "#/definitions/DeploymentValidateResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/whatIf": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_WhatIf", + "description": "Returns changes that will be made by the deployment if executed at the scope of the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group the template will be deployed to. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DeploymentWhatIf" + }, + "description": "Parameters to validate." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns What-If operation status", + "schema": { + "$ref": "#/definitions/WhatIfOperationResult" + } + }, + "202": { + "description": "Accepted - Returns URL in Location header to query for long-running operation status.", + "headers": { + "Location": { + "type": "string", + "description": "URL to get status of this long-running operation." + }, + "Retry-After": { + "type": "string", + "description": "Number of seconds to wait before polling for status." + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Predict template changes at resource group scope": { + "$ref": "./examples/PostDeploymentWhatIfOnResourceGroup.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/{deploymentName}/exportTemplate": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ExportTemplate", + "description": "Exports the template used for specified deployment.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the template.", + "schema": { + "$ref": "#/definitions/DeploymentExportResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Resources/deployments/": { + "get": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_ListByResourceGroup", + "description": "Get all the deployments for a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group with the deployments to get. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=provisioningState eq '{state}'." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to get. If null is passed, returns all deployments." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of deployments.", + "schema": { + "$ref": "#/definitions/DeploymentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/DeploymentExtendedFilter" + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/unregister": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Unregister", + "description": "Unregisters a subscription from a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to unregister." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/{resourceProviderNamespace}/register": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_RegisterAtManagementGroupScope", + "description": "Registers a management group with a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to register." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/providerPermissions": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_ProviderPermissions", + "description": "Get the provider permissions.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information on the provider permissions.", + "schema": { + "$ref": "#/definitions/ProviderPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get provider resource types.": { + "$ref": "./examples/GetProviderPermissions.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/register": { + "post": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Register", + "description": "Registers a subscription with a resource provider.", + "parameters": [ + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider to register." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "properties", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ProviderRegistrationRequest" + }, + "description": "The third party consent for S2S." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_List", + "description": "Gets all resource providers for a subscription.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource providers.", + "schema": { + "$ref": "#/definitions/ProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get providers.": { + "$ref": "./examples/GetProviders.json" + } + } + } + }, + "/providers": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_ListAtTenantScope", + "description": "Gets all resource providers for the tenant.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource providers.", + "schema": { + "$ref": "#/definitions/ProviderListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "Providers_Get", + "description": "Gets the specified resource provider.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get provider.": { + "$ref": "./examples/GetProvider.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}/resourceTypes": { + "get": { + "tags": [ + "Providers" + ], + "operationId": "ProviderResourceTypes_List", + "description": "List the resource types for a specified resource provider.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns resource types information for the resource provider.", + "schema": { + "$ref": "#/definitions/ProviderResourceTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get provider resource types.": { + "$ref": "./examples/GetProviderResourceTypes.json" + } + } + } + }, + "/providers/{resourceProviderNamespace}": { + "get": { + "tags": [ + "Providers" + ], + "x-ms-examples": { + "Get a resource provider at tenant scope": { + "$ref": "./examples/GetNamedProviderAtTenant.json" + } + }, + "operationId": "Providers_GetAtTenantScope", + "description": "Gets the specified resource provider at the tenant level.", + "parameters": [ + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + }, + { + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource provider.", + "schema": { + "$ref": "#/definitions/Provider" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": { + "get": { + "tags": [ + "ResourceGroups" + ], + "operationId": "Resources_ListByResourceGroup", + "description": "Get all the resources for a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group with the resources to get.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation.

    The properties you can use for eq (equals) or ne (not equals) are: location, resourceType, name, resourceGroup, identity, identity/principalId, plan, plan/publisher, plan/product, plan/name, plan/version, and plan/promotionCode.

    For example, to filter by a resource type, use: $filter=resourceType eq 'Microsoft.Network/virtualNetworks'

    You can use substringof(value, property) in the filter. The properties you can use for substring are: name and resourceGroup.

    For example, to get all resources with 'demo' anywhere in the name, use: $filter=substringof('demo', name)

    You can link more than one substringof together by adding and/or operators.

    You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'. When you filter by a tag name and value, the tags for each resource are not returned in the results.

    You can use some properties together when filtering. The combinations you can use are: substringof and/or resourceType, plan and plan/publisher and plan/name, identity and identity/principalId." + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`." + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed, returns all resources." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resources", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/GenericResourceFilter" + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": { + "head": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_CheckExistence", + "description": "Checks whether a resource group exists.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to check. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ResourceGroups" + ], + "x-ms-examples": { + "Create or update a resource group": { + "$ref": "./examples/CreateResourceGroup.json" + } + }, + "operationId": "ResourceGroups_CreateOrUpdate", + "description": "Creates or updates a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to create or update. Can include alphanumeric, underscore, parentheses, hyphen, period (except at end), and Unicode characters that match the allowed characters.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGroup" + }, + "description": "Parameters supplied to the create or update a resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the new resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "201": { + "description": "Created - Returns information about the new resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Delete", + "summary": "Deletes a resource group.", + "description": "When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.", "parameters": [ { - "name": "$top", + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to delete. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "forceDeletionTypes", "in": "query", "required": false, - "type": "integer", - "format": "int32", - "description": "The number of results to return. If null is passed returns all deployments." + "type": "string", + "description": "The resource types you want to force delete. Currently, only the following is supported: forceDeletionTypes=Microsoft.Compute/virtualMachines,Microsoft.Compute/virtualMachineScaleSets" }, { - "name": "$expand", - "in": "query", - "required": false, + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "x-ms-examples": { + "Force delete all the Virtual Machines in a resource group": { + "$ref": "./examples/ForceDeleteVMsInResourceGroup.json" + }, + "Force delete all the Virtual Machines and Virtual Machine Scale Sets in a resource group": { + "$ref": "./examples/ForceDeleteVMsAndVMSSInResourceGroup.json" + } + }, + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Get", + "description": "Gets a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, "type": "string", - "description": "The properties to include in the results. For example, use &$expand=metadata in the query string to retrieve resource provider metadata. To include property aliases in response, use $expand=resourceTypes/aliases." + "description": "The name of the resource group to get. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 }, { "$ref": "#/parameters/ApiVersionParameter" @@ -525,38 +2654,256 @@ ], "responses": { "200": { - "description": "OK - Returns an array of resource providers.", + "description": "OK - Returns information about the resource group.", "schema": { - "$ref": "#/definitions/ProviderListResult" + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_Update", + "summary": "Updates a resource group.", + "description": "Resource groups can be updated through a simple PATCH operation to a group address. The format of the request is the same as that for creating a resource group. If a field is unspecified, the current value is retained.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group to update. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourceGroupPatchable" + }, + "description": "Parameters supplied to update a resource group." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource group.", + "schema": { + "$ref": "#/definitions/ResourceGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate": { + "post": { + "tags": [ + "ResourceGroups" + ], + "operationId": "ResourceGroups_ExportTemplate", + "description": "Captures the specified resource group as a template.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ExportTemplateRequest" + }, + "description": "Parameters for exporting the template." + } + ], + "x-ms-examples": { + "Export a resource group": { + "$ref": "./examples/ExportResourceGroup.json" + }, + "Export a resource group with filtering": { + "$ref": "./examples/ExportResourceGroupWithFiltering.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns the result of the export.", + "schema": { + "$ref": "#/definitions/ResourceGroupExportResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, - "/subscriptions/{subscriptionId}/providers/{resourceProviderNamespace}": { + "/subscriptions/{subscriptionId}/resourcegroups": { "get": { "tags": [ - "Providers" + "ResourceGroups" ], - "operationId": "Providers_Get", - "description": "Gets the specified resource provider.", + "operationId": "ResourceGroups_List", + "description": "Gets all the resource groups for a subscription.", "parameters": [ { - "name": "$expand", + "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "The $expand query parameter. For example, to include property aliases in response, use $expand=resourceTypes/aliases." + "description": "The filter to apply on the operation.

    You can filter by tag names and values. For example, to filter for a tag name and value, use $filter=tagName eq 'tag1' and tagValue eq 'Value1'" }, { - "name": "resourceProviderNamespace", + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return. If null is passed, returns all resource groups." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of resource groups.", + "schema": { + "$ref": "#/definitions/ResourceGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-odata": "#/definitions/ResourceGroupFilter" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": { + "post": { + "tags": [ + "Resources" + ], + "operationId": "Resources_MoveResources", + "summary": "Moves resources from one resource group to another resource group.", + "description": "The resources to be moved must be in the same source resource group in the source subscription being used. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes. ", + "parameters": [ + { + "name": "sourceResourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group from the source subscription containing the resources to be moved.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourcesMoveInfo" + }, + "description": "Parameters for moving resources." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/validateMoveResources": { + "post": { + "tags": [ + "Resources" + ], + "operationId": "Resources_ValidateMoveResources", + "summary": "Validates whether resources can be moved from one resource group to another resource group.", + "description": "This operation checks whether the specified resources can be moved to the target. The resources to be moved must be in the same source resource group in the source subscription being used. The target resource group may be in a different subscription. If validation succeeds, it returns HTTP response code 204 (no content). If validation fails, it returns HTTP response code 409 (Conflict) with an error message. Retrieve the URL in the Location header value to check the result of the long-running operation.", + "parameters": [ + { + "name": "sourceResourceGroupName", "in": "path", "required": true, - "type": "string", - "description": "The namespace of the resource provider." + "type": "string", + "description": "The name of the resource group from the source subscription containing the resources to be validated for move.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResourcesMoveInfo" + }, + "description": "Parameters for moving resources." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -566,46 +2913,43 @@ } ], "responses": { - "200": { - "description": "OK - Returns information about the resource provider.", + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/Provider" + "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/resources": { + "/subscriptions/{subscriptionId}/resources": { "get": { "tags": [ - "ResourceGroups" + "Resources" ], - "operationId": "Resources_ListByResourceGroup", - "description": "Get all the resources for a resource group.", + "operationId": "Resources_List", + "description": "Get all the resources in a subscription.", "parameters": [ - { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The resource group with the resources to get.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 - }, { "name": "$filter", "in": "query", "required": false, "type": "string", - "description": "The filter to apply on the operation." + "description": "The filter to apply on the operation.

    Filter comparison operators include `eq` (equals) and `ne` (not equals) and may be used with the following properties: `location`, `resourceType`, `name`, `resourceGroup`, `identity`, `identity/principalId`, `plan`, `plan/publisher`, `plan/product`, `plan/name`, `plan/version`, and `plan/promotionCode`.

    For example, to filter by a resource type, use `$filter=resourceType eq 'Microsoft.Network/virtualNetworks'`


    `substringof(value, property)` can be used to filter for substrings of the following currently-supported properties: `name` and `resourceGroup`

    For example, to get all resources with 'demo' anywhere in the resource name, use `$filter=substringof('demo', name)`

    Multiple substring operations can also be combined using `and`/`or` operators.

    Note that any truncated number of results queried via `$top` may also not be compatible when using a filter.


    Resources can be filtered by tag names and values. For example, to filter for a tag name and value, use `$filter=tagName eq 'tag1' and tagValue eq 'Value1'`. Note that when resources are filtered by tag name and value, the original tags for each resource will not be returned in the results. Any list of additional properties queried via `$expand` may also not be compatible when filtering by tag names/values.

    For tag names only, resources can be filtered by prefix using the following syntax: `$filter=startswith(tagName, 'depart')`. This query will return all resources with a tag name prefixed by the phrase `depart` (i.e.`department`, `departureDate`, `departureTime`, etc.)


    Note that some properties can be combined when filtering resources, which include the following: `substringof() and/or resourceType`, `plan and plan/publisher and plan/name`, and `identity and identity/principalId`." }, { "name": "$expand", "in": "query", "required": false, "type": "string", - "description": "The $expand query parameter" + "description": "Comma-separated list of additional properties to be included in the response. Valid values include `createdTime`, `changedTime` and `provisioningState`. For example, `$expand=createdTime,changedTime`." }, { "name": "$top", @@ -624,10 +2968,16 @@ ], "responses": { "200": { - "description": "OK - Returns an array of resources", + "description": "OK - Returns an array of resources.", "schema": { "$ref": "#/definitions/ResourceListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { @@ -636,142 +2986,135 @@ "x-ms-odata": "#/definitions/GenericResourceFilter" } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": { "head": { "tags": [ - "ResourceGroups" + "Resources" ], - "operationId": "ResourceGroups_CheckExistence", - "description": "Checks whether a resource group exists.", + "operationId": "Resources_CheckExistence", + "description": "Checks whether a resource exists.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to check. The name is case insensitive.", + "description": "The name of the resource group containing the resource to check. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The resource provider of the resource to check." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "204": { - "description": "No Content" + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource identity.", + "x-ms-skip-url-encoding": true }, - "404": { - "description": "Not Found" - } - } - }, - "put": { - "tags": [ - "ResourceGroups" - ], - "operationId": "ResourceGroups_CreateOrUpdate", - "description": "Creates or updates a resource group.", - "parameters": [ { - "name": "resourceGroupName", + "name": "resourceType", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to create or update.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "description": "The resource type.", + "x-ms-skip-url-encoding": true }, { - "name": "parameters", - "in": "body", + "name": "resourceName", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ResourceGroup" - }, - "description": "Parameters supplied to the create or update a resource group." + "type": "string", + "description": "The name of the resource to check whether it exists." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { - "201": { - "description": "Created - Returns information about the new resource group.", - "schema": { - "$ref": "#/definitions/ResourceGroup" - } + "204": { + "description": "No Content" }, - "200": { - "description": "OK - Returns information about the new resource group.", + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ResourceGroup" + "$ref": "#/definitions/CloudError" } } } }, "delete": { "tags": [ - "ResourceGroups" + "Resources" ], - "operationId": "ResourceGroups_Delete", - "summary": "Deletes a resource group.", - "description": "When you delete a resource group, all of its resources are also deleted. Deleting a resource group deletes all of its template deployments and currently stored operations.", + "operationId": "Resources_Delete", + "description": "Deletes a resource.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to delete. The name is case insensitive.", + "description": "The name of the resource group that contains the resource to delete. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "resourceProviderNamespace", + "in": "path", + "required": true, + "type": "string", + "description": "The namespace of the resource provider." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Accepted" + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource identity.", + "x-ms-skip-url-encoding": true }, - "200": { - "description": "OK" - } - }, - "x-ms-long-running-operation": true - }, - "get": { - "tags": [ - "ResourceGroups" - ], - "operationId": "ResourceGroups_Get", - "description": "Gets a resource group.", - "parameters": [ { - "name": "resourceGroupName", + "name": "resourceType", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to get. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "description": "The resource type.", + "x-ms-skip-url-encoding": true }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "resourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource to delete." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -779,86 +3122,86 @@ ], "responses": { "200": { - "description": "OK - Returns information about the resource group.", + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ResourceGroup" + "$ref": "#/definitions/CloudError" } } - } + }, + "x-ms-long-running-operation": true }, - "patch": { + "put": { "tags": [ - "ResourceGroups" + "Resources" ], - "operationId": "ResourceGroups_Update", - "summary": "Updates a resource group.", - "description": "Resource groups can be updated through a simple PATCH operation to a group address. The format of the request is the same as that for creating a resource group. If a field is unspecified, the current value is retained.", + "operationId": "Resources_CreateOrUpdate", + "description": "Creates a resource.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to update. The name is case insensitive.", + "description": "The name of the resource group for the resource. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { - "name": "parameters", - "in": "body", + "name": "resourceProviderNamespace", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ResourceGroupPatchable" - }, - "description": "Parameters supplied to update a resource group." + "type": "string", + "description": "The namespace of the resource provider." }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource identity.", + "x-ms-skip-url-encoding": true }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK - Returns information about the resource group.", - "schema": { - "$ref": "#/definitions/ResourceGroup" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/exportTemplate": { - "post": { - "tags": [ - "ResourceGroups" - ], - "operationId": "ResourceGroups_ExportTemplate", - "description": "Captures the specified resource group as a template.", - "parameters": [ + "name": "resourceType", + "in": "path", + "required": true, + "type": "string", + "description": "The resource type of the resource to create.", + "x-ms-skip-url-encoding": true + }, { - "name": "resourceGroupName", + "name": "resourceName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group to export as a template.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "description": "The name of the resource to create." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ExportTemplateRequest" + "$ref": "#/definitions/GenericResource" }, - "description": "Parameters for exporting the template." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "description": "Parameters for creating or updating the resource." }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -866,136 +3209,92 @@ ], "responses": { "200": { - "description": "OK - Returns the result of the export.", + "description": "OK - Returns information about the resource.", "schema": { - "$ref": "#/definitions/ResourceGroupExportResult" + "$ref": "#/definitions/GenericResource" } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourcegroups": { - "get": { - "tags": [ - "ResourceGroups" - ], - "operationId": "ResourceGroups_List", - "description": "Gets all the resource groups for a subscription.", - "parameters": [ - { - "name": "$filter", - "in": "query", - "required": false, - "type": "string", - "description": "The filter to apply on the operation." }, - { - "name": "$top", - "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "description": "The number of results to return. If null is passed, returns all resource groups." + "201": { + "description": "Created - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } }, - { - "$ref": "#/parameters/ApiVersionParameter" + "202": { + "description": "Accepted" }, - { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "200": { - "description": "OK - Returns an array of resource groups.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ResourceGroupListResult" + "$ref": "#/definitions/CloudError" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/ResourceGroupFilter" - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{sourceResourceGroupName}/moveResources": { - "post": { + "x-ms-long-running-operation": true + }, + "patch": { "tags": [ "Resources" ], - "operationId": "Resources_MoveResources", - "summary": "Moves resources from one resource group to another resource group.", - "description": "The resources to move must be in the same source resource group. The target resource group may be in a different subscription. When moving resources, both the source group and the target group are locked for the duration of the operation. Write and delete operations are blocked on the groups until the move completes. ", + "operationId": "Resources_Update", + "description": "Updates a resource.", "parameters": [ { - "name": "sourceResourceGroupName", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group containing the rsources to move.", + "description": "The name of the resource group for the resource. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 }, { - "name": "parameters", - "in": "body", + "name": "resourceProviderNamespace", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/ResourcesMoveInfo" - }, - "description": "Parameters for moving resources." - }, - { - "$ref": "#/parameters/ApiVersionParameter" + "type": "string", + "description": "The namespace of the resource provider." }, { - "$ref": "#/parameters/SubscriptionIdParameter" - } - ], - "responses": { - "202": { - "description": "Accepted" + "name": "parentResourcePath", + "in": "path", + "required": true, + "type": "string", + "description": "The parent resource identity.", + "x-ms-skip-url-encoding": true }, - "204": { - "description": "No Content" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resources": { - "get": { - "tags": [ - "Resources" - ], - "operationId": "Resources_List", - "description": "Get all the resources in a subscription.", - "parameters": [ { - "name": "$filter", - "in": "query", - "required": false, + "name": "resourceType", + "in": "path", + "required": true, "type": "string", - "description": "The filter to apply on the operation." + "description": "The resource type of the resource to update.", + "x-ms-skip-url-encoding": true }, { - "name": "$expand", - "in": "query", - "required": false, + "name": "resourceName", + "in": "path", + "required": true, "type": "string", - "description": "The $expand query parameter." + "description": "The name of the resource to update." }, { - "name": "$top", + "name": "api-version", "in": "query", - "required": false, - "type": "integer", - "format": "int32", - "description": "The number of results to return. If null is passed, returns all resource groups." + "required": true, + "type": "string", + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { - "$ref": "#/parameters/ApiVersionParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Parameters for updating the resource." }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -1003,32 +3302,36 @@ ], "responses": { "200": { - "description": "OK - Returns an array of resources.", + "description": "OK - Returns information about the resource.", "schema": { - "$ref": "#/definitions/ResourceListResult" + "$ref": "#/definitions/GenericResource" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - }, - "x-ms-odata": "#/definitions/GenericResourceFilter" - } - }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}": { - "head": { + "x-ms-long-running-operation": true + }, + "get": { "tags": [ "Resources" ], - "operationId": "Resources_CheckExistence", - "description": "Checks whether a resource exists.", + "operationId": "Resources_Get", + "description": "Gets a resource.", "parameters": [ { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group containing the resource to check. The name is case insensitive.", + "description": "The name of the resource group containing the resource to get. The name is case insensitive.", "pattern": "^[-\\w\\._\\(\\)]+$", "minLength": 1, "maxLength": 90 @@ -1038,7 +3341,7 @@ "in": "path", "required": true, "type": "string", - "description": "The resource provider of the resource to check." + "description": "The namespace of the resource provider." }, { "name": "parentResourcePath", @@ -1053,7 +3356,7 @@ "in": "path", "required": true, "type": "string", - "description": "The resource type.", + "description": "The resource type of the resource.", "x-ms-skip-url-encoding": true }, { @@ -1061,152 +3364,199 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the resource to check whether it exists." + "description": "The name of the resource to get." }, { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } }, - "404": { - "description": "Not Found" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } - }, - "delete": { + } + }, + "/{resourceId}": { + "head": { "tags": [ "Resources" ], - "operationId": "Resources_Delete", - "description": "Deletes a resource.", + "operationId": "Resources_CheckExistenceById", + "description": "Checks by ID whether a resource exists.", "parameters": [ { - "name": "resourceGroupName", + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group that contains the resource to delete. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true }, { - "name": "resourceProviderNamespace", - "in": "path", + "name": "api-version", + "in": "query", "required": true, "type": "string", - "description": "The namespace of the resource provider." + "description": "The API version to use for the operation.", + "x-ms-api-version": false + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "404": { + "description": "Not Found" }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Resources" + ], + "operationId": "Resources_DeleteById", + "description": "Deletes a resource by ID.", + "parameters": [ { - "name": "parentResourcePath", + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "The parent resource identity.", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", "x-ms-skip-url-encoding": true }, { - "name": "resourceType", - "in": "path", + "name": "api-version", + "in": "query", "required": true, "type": "string", - "description": "The resource type.", - "x-ms-skip-url-encoding": true + "description": "The API version to use for the operation.", + "x-ms-api-version": false + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "Resources" + ], + "operationId": "Resources_CreateOrUpdateById", + "description": "Create a resource by ID.", + "parameters": [ { - "name": "resourceName", + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "The name of the resource to delete." + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true }, { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GenericResource" + }, + "description": "Create or update resource parameters." } ], "responses": { "200": { - "description": "OK" + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } }, - "204": { - "description": "No Content" + "201": { + "description": "Created - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true }, - "put": { + "patch": { "tags": [ "Resources" ], - "operationId": "Resources_CreateOrUpdate", - "description": "Creates a resource.", + "operationId": "Resources_UpdateById", + "description": "Updates a resource by ID.", "parameters": [ { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group for the resource. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 - }, - { - "name": "resourceProviderNamespace", - "in": "path", - "required": true, - "type": "string", - "description": "The namespace of the resource provider." - }, - { - "name": "parentResourcePath", - "in": "path", - "required": true, - "type": "string", - "description": "The parent resource identity.", - "x-ms-skip-url-encoding": true - }, - { - "name": "resourceType", + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "The resource type of the resource to create.", + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", "x-ms-skip-url-encoding": true }, - { - "name": "resourceName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource to create." - }, { "name": "api-version", "in": "query", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The API version to use for the operation.", + "x-ms-api-version": false }, { "name": "parameters", @@ -1215,19 +3565,10 @@ "schema": { "$ref": "#/definitions/GenericResource" }, - "description": "Parameters for creating or updating the resource." - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "description": "Update resource parameters." } ], "responses": { - "201": { - "description": "Created - Returns information about the resource.", - "schema": { - "$ref": "#/definitions/GenericResource" - } - }, "200": { "description": "OK - Returns information about the resource.", "schema": { @@ -1236,6 +3577,12 @@ }, "202": { "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-long-running-operation": true @@ -1244,55 +3591,111 @@ "tags": [ "Resources" ], - "operationId": "Resources_Get", - "description": "Gets a resource.", + "operationId": "Resources_GetById", + "description": "Gets a resource by ID.", "parameters": [ { - "name": "resourceGroupName", + "name": "resourceId", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group containing the resource to get. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 90 + "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", + "x-ms-skip-url-encoding": true }, { - "name": "resourceProviderNamespace", - "in": "path", + "name": "api-version", + "in": "query", "required": true, "type": "string", - "description": "The namespace of the resource provider." + "description": "The API version to use for the operation.", + "x-ms-api-version": false + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the resource.", + "schema": { + "$ref": "#/definitions/GenericResource" + } }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": { + "delete": { + "tags": [ + "Tags" + ], + "operationId": "Tags_DeleteValue", + "summary": "Deletes a predefined tag value for a predefined tag name.", + "description": "This operation allows deleting a value from the list of predefined values for an existing predefined tag name. The value being deleted must not be in use as a tag value for the given tag name for any resource.", + "parameters": [ { - "name": "parentResourcePath", + "name": "tagName", "in": "path", "required": true, "type": "string", - "description": "The parent resource identity.", - "x-ms-skip-url-encoding": true + "description": "The name of the tag." }, { - "name": "resourceType", + "name": "tagValue", "in": "path", "required": true, "type": "string", - "description": "The resource type of the resource.", - "x-ms-skip-url-encoding": true + "description": "The value of the tag to delete." }, { - "name": "resourceName", + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag value successfully deleted." + }, + "204": { + "description": "Predefined tag value did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Tags" + ], + "operationId": "Tags_CreateOrUpdateValue", + "summary": "Creates a predefined value for a predefined tag name.", + "description": "This operation allows adding a value to the list of predefined values for an existing predefined tag name. A tag value can have a maximum of 256 characters.", + "parameters": [ + { + "name": "tagName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource to get." + "description": "The name of the tag." }, { - "name": "api-version", - "in": "query", + "name": "tagValue", + "in": "path", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The value of the tag to create." + }, + { + "$ref": "#/parameters/ApiVersionParameter" }, { "$ref": "#/parameters/SubscriptionIdParameter" @@ -1300,301 +3703,412 @@ ], "responses": { "200": { - "description": "OK - Returns information about the resource.", + "description": "Predefined tag value already exists. Returns information about the predefined tag value.", "schema": { - "$ref": "#/definitions/GenericResource" + "$ref": "#/definitions/TagValue" + } + }, + "201": { + "description": "Predefined tag value successfully created. Returns information about the predefined tag value.", + "schema": { + "$ref": "#/definitions/TagValue" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/{resourceId}": { - "head": { + "/subscriptions/{subscriptionId}/tagNames/{tagName}": { + "put": { "tags": [ - "Resources" + "Tags" ], - "operationId": "Resources_CheckExistenceById", - "description": "Checks by ID whether a resource exists.", + "operationId": "Tags_CreateOrUpdate", + "summary": "Creates a predefined tag name.", + "description": "This operation allows adding a name to the list of predefined tag names for the given subscription. A tag name can have a maximum of 512 characters and is case-insensitive. Tag names cannot have the following prefixes which are reserved for Azure use: 'microsoft', 'azure', 'windows'.", "parameters": [ { - "name": "resourceId", + "name": "tagName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the tag to create." }, { - "name": "api-version", - "in": "query", + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Predefined tag name already exists. Returns information about the predefined tag name.", + "schema": { + "$ref": "#/definitions/TagDetails" + } + }, + "201": { + "description": "Predefined tag name successfully created. Returns information about the predefined tag name.", + "schema": { + "$ref": "#/definitions/TagDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "operationId": "Tags_Delete", + "summary": "Deletes a predefined tag name.", + "description": "This operation allows deleting a name from the list of predefined tag names for the given subscription. The name being deleted must not be in use as a tag name for any resource. All predefined values for the given name must have already been deleted.", + "parameters": [ + { + "name": "tagName", + "in": "path", "required": true, "type": "string", - "description": "The API version to use for the operation." + "description": "The name of the tag." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { + "200": { + "description": "Predefined tag name successfully deleted." + }, "204": { - "description": "No Content" + "description": "Predefined tag name did not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/tagNames": { + "get": { + "tags": [ + "Tags" + ], + "operationId": "Tags_List", + "summary": "Gets a summary of tag usage under the subscription.", + "description": "This operation performs a union of predefined tags, resource tags, resource group tags and subscription tags, and returns a summary of usage for each tag name and value under the given subscription. In case of a large number of tags, this operation may return a previously cached result.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of tag names and values.", + "schema": { + "$ref": "#/definitions/TagsListResult" + } }, - "404": { - "description": "Not Found" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { "tags": [ - "Resources" + "DeploymentOperations" ], - "operationId": "Resources_DeleteById", - "description": "Deletes a resource by ID.", + "operationId": "DeploymentOperations_GetAtScope", + "description": "Gets a deployments operation.", "parameters": [ { - "name": "resourceId", + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", - "x-ms-skip-url-encoding": true + "description": "The ID of the operation to get." }, { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the operation." + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK" - }, - "204": { - "description": "No Content" + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } }, - "202": { - "description": "Accepted" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } - }, - "x-ms-long-running-operation": true - }, - "put": { + } + } + }, + "/{scope}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { "tags": [ - "Resources" + "DeploymentOperations" ], - "operationId": "Resources_CreateOrUpdateById", - "description": "Create a resource by ID.", + "operationId": "DeploymentOperations_ListAtScope", + "description": "Gets all deployments operations for a deployment.", "parameters": [ { - "name": "resourceId", - "in": "path", - "required": true, - "type": "string", - "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", - "x-ms-skip-url-encoding": true + "$ref": "#/parameters/ScopeParameter" }, { - "name": "api-version", + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the operation." + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." }, { - "name": "parameters", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/GenericResource" - }, - "description": "Create or update resource parameters." + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { - "201": { - "description": "Created - Returns information about the resource.", + "200": { + "description": "OK - Return an array of deployment operations.", "schema": { - "$ref": "#/definitions/GenericResource" + "$ref": "#/definitions/DeploymentOperationsListResult" } }, - "200": { - "description": "OK - Returns information about the resource.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/GenericResource" + "$ref": "#/definitions/CloudError" } - }, - "202": { - "description": "Accepted" } }, - "x-ms-long-running-operation": true - }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { "get": { "tags": [ - "Resources" + "DeploymentOperations" ], - "operationId": "Resources_GetById", - "description": "Gets a resource by ID.", + "operationId": "DeploymentOperations_GetAtTenantScope", + "description": "Gets a deployments operation.", "parameters": [ { - "name": "resourceId", + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the resource, including the resource name and resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/{resource-provider-namespace}/{resource-type}/{resource-name}", - "x-ms-skip-url-encoding": true + "description": "The ID of the operation to get." }, { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "The API version to use for the operation." + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK - Returns information about the resource.", + "description": "OK - Returns information about the deployment operation.", "schema": { - "$ref": "#/definitions/GenericResource" + "$ref": "#/definitions/DeploymentOperation" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/tagNames/{tagName}/tagValues/{tagValue}": { - "delete": { + "/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { "tags": [ - "Tags" + "DeploymentOperations" ], - "operationId": "Tags_DeleteValue", - "description": "Deletes a tag value.", + "operationId": "DeploymentOperations_ListAtTenantScope", + "description": "Gets all deployments operations for a deployment.", "parameters": [ { - "name": "tagName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the tag." + "$ref": "#/parameters/DeploymentNameParameter" }, { - "name": "tagValue", - "in": "path", - "required": true, - "type": "string", - "description": "The value of the tag to delete." + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK" + "description": "OK - Return an array of deployment operations.", + "schema": { + "$ref": "#/definitions/DeploymentOperationsListResult" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "put": { + } + }, + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { "tags": [ - "Tags" + "DeploymentOperations" ], - "operationId": "Tags_CreateOrUpdateValue", - "description": "Creates a tag value. The name of the tag must already exist.", + "operationId": "DeploymentOperations_GetAtManagementGroupScope", + "description": "Gets a deployments operation.", "parameters": [ { - "name": "tagName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the tag." + "$ref": "#/parameters/GroupIdParameter" }, { - "name": "tagValue", + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", "in": "path", "required": true, "type": "string", - "description": "The value of the tag to create." + "description": "The ID of the operation to get." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK - Returns information about the tag value.", + "description": "OK - Returns information about the deployment operation.", "schema": { - "$ref": "#/definitions/TagValue" + "$ref": "#/definitions/DeploymentOperation" } }, - "201": { - "description": "Created - Returns information about the tag value.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/TagValue" + "$ref": "#/definitions/CloudError" } } } } }, - "/subscriptions/{subscriptionId}/tagNames/{tagName}": { - "put": { + "/providers/Microsoft.Management/managementGroups/{groupId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { + "get": { "tags": [ - "Tags" + "DeploymentOperations" ], - "operationId": "Tags_CreateOrUpdate", - "summary": "Creates a tag in the subscription.", - "description": "The tag name can have a maximum of 512 characters and is case insensitive. Tag names created by Azure have prefixes of microsoft, azure, or windows. You cannot create tags with one of these prefixes.", + "operationId": "DeploymentOperations_ListAtManagementGroupScope", + "description": "Gets all deployments operations for a deployment.", "parameters": [ { - "name": "tagName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the tag to create." + "$ref": "#/parameters/GroupIdParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "#/parameters/DeploymentNameParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK - Returns information about the tag.", + "description": "OK - Return an array of deployment operations.", "schema": { - "$ref": "#/definitions/TagDetails" + "$ref": "#/definitions/DeploymentOperationsListResult" } }, - "201": { - "description": "Created - Returns information about the tag.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/TagDetails" + "$ref": "#/definitions/CloudError" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } - }, - "delete": { + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations/{operationId}": { + "get": { "tags": [ - "Tags" + "DeploymentOperations" ], - "operationId": "Tags_Delete", - "summary": "Deletes a tag from the subscription.", - "description": "You must remove all values from a resource tag before you can delete it.", + "operationId": "DeploymentOperations_GetAtSubscriptionScope", + "description": "Gets a deployments operation.", "parameters": [ { - "name": "tagName", + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "operationId", "in": "path", "required": true, "type": "string", - "description": "The name of the tag." + "description": "The ID of the operation to get." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -1605,22 +4119,39 @@ ], "responses": { "200": { - "description": "OK" + "description": "OK - Returns information about the deployment operation.", + "schema": { + "$ref": "#/definitions/DeploymentOperation" + } }, - "204": { - "description": "No Content" + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } }, - "/subscriptions/{subscriptionId}/tagNames": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Resources/deployments/{deploymentName}/operations": { "get": { "tags": [ - "Tags" + "DeploymentOperations" ], - "operationId": "Tags_List", - "description": "Gets the names and values of all resource tags that are defined in a subscription.", + "operationId": "DeploymentOperations_ListAtSubscriptionScope", + "description": "Gets all deployments operations for a deployment.", "parameters": [ + { + "$ref": "#/parameters/DeploymentNameParameter" + }, + { + "name": "$top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The number of results to return." + }, { "$ref": "#/parameters/ApiVersionParameter" }, @@ -1630,9 +4161,15 @@ ], "responses": { "200": { - "description": "OK - Returns an array of tag names and values.", + "description": "OK - Return an array of deployment operations.", "schema": { - "$ref": "#/definitions/TagsListResult" + "$ref": "#/definitions/DeploymentOperationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" } } }, @@ -1660,14 +4197,7 @@ "maxLength": 90 }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "name": "operationId", @@ -1689,6 +4219,12 @@ "schema": { "$ref": "#/definitions/DeploymentOperation" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } } @@ -1712,14 +4248,7 @@ "maxLength": 90 }, { - "name": "deploymentName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the deployment with the operation to get.", - "pattern": "^[-\\w\\._\\(\\)]+$", - "minLength": 1, - "maxLength": 64 + "$ref": "#/parameters/DeploymentNameParameter" }, { "name": "$top", @@ -1742,12 +4271,209 @@ "schema": { "$ref": "#/definitions/DeploymentOperationsListResult" } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } + }, + "/providers/Microsoft.Resources/calculateTemplateHash": { + "post": { + "tags": [ + "Deployments" + ], + "operationId": "Deployments_CalculateTemplateHash", + "description": "Calculate the hash of the given template.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "template", + "in": "body", + "required": true, + "schema": { + "type": "object" + }, + "description": "The template provided to calculate hash." + } + ], + "x-ms-examples": { + "Calculate template hash": { + "$ref": "./examples/CalculateTemplateHash.json" + } + }, + "responses": { + "200": { + "description": "OK - Returns the hash.", + "schema": { + "$ref": "#/definitions/TemplateHashResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/{scope}/providers/Microsoft.Resources/tags/default": { + "put": { + "tags": [ + "Tags" + ], + "operationId": "Tags_CreateOrUpdateAtScope", + "summary": "Creates or updates the entire set of tags on a resource or subscription.", + "description": "This operation allows adding or replacing the entire set of tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "Tags updated successfully. Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update tags on a resource": { + "$ref": "./examples/PutTagsResource.json" + }, + "Update tags on a subscription": { + "$ref": "./examples/PutTagsSubscription.json" + } + } + }, + "patch": { + "tags": [ + "Tags" + ], + "operationId": "Tags_UpdateAtScope", + "summary": "Selectively updates the set of tags on a resource or subscription.", + "description": "This operation allows replacing, merging or selectively deleting tags on the specified resource or subscription. The specified entity can have a maximum of 50 tags at the end of the operation. The 'replace' option replaces the entire set of existing tags with a new set. The 'merge' option allows adding tags with new names and updating the values of tags with existing names. The 'delete' option allows selectively deleting tags based on given names or name/value pairs.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/TagsPatchResource" + } + } + ], + "responses": { + "200": { + "description": "Tags updated successfully. Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "Tags" + ], + "operationId": "Tags_GetAtScope", + "summary": "Gets the entire set of tags on a resource or subscription.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Returns tags from the specified object.", + "schema": { + "$ref": "#/definitions/TagsResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get tags on a resource": { + "$ref": "./examples/GetTagsResource.json" + }, + "Get tags on a subscription": { + "$ref": "./examples/GetTagsSubscription.json" + } + } + }, + "delete": { + "tags": [ + "Tags" + ], + "operationId": "Tags_DeleteAtScope", + "summary": "Deletes the entire set of tags on a resource or subscription.", + "parameters": [ + { + "$ref": "#/parameters/ScopeParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Tags successfully deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } } }, "definitions": { @@ -1794,16 +4520,25 @@ "properties": { "uri": { "type": "string", - "description": "The URI of the template to deploy." + "description": "The URI of the template to deploy. Use either the uri or id property, but not both." + }, + "id": { + "type": "string", + "description": "The resource id of a Template Spec. Use either the id or uri property, but not both." + }, + "relativePath": { + "type": "string", + "description": "The relativePath property can be used to deploy a linked template at a location relative to the parent. If the parent template was linked with a TemplateSpec, this will reference an artifact in the TemplateSpec. If the parent was linked with a URI, the child deployment will be a combination of the parent and relativePath URIs" }, "contentVersion": { "type": "string", "description": "If included, must match the ContentVersion in the template." + }, + "queryString": { + "type": "string", + "description": "The query string (for example, a SAS token) to be used with the templateLink URI." } }, - "required": [ - "uri" - ], "description": "Entity representing the reference to the template." }, "ParametersLink": { @@ -1820,7 +4555,7 @@ "required": [ "uri" ], - "description": "Entity representing the reference to the deployment paramaters." + "description": "Entity representing the reference to the deployment parameters." }, "DeploymentProperties": { "properties": { @@ -1855,6 +4590,14 @@ "debugSetting": { "$ref": "#/definitions/DebugSetting", "description": "The debug setting of the deployment." + }, + "onErrorDeployment": { + "$ref": "#/definitions/OnErrorDeployment", + "description": "The deployment on error behavior." + }, + "expressionEvaluationOptions": { + "$ref": "#/definitions/ExpressionEvaluationOptions", + "description": "Specifies whether template expressions are evaluated within the scope of the parent template or nested template. Only applicable to nested templates. If not specified, default value is outer." } }, "required": [ @@ -1868,58 +4611,233 @@ "type": "string", "description": "Specifies the type of information to log for debugging. The permitted values are none, requestContent, responseContent, or both requestContent and responseContent separated by a comma. The default is none. When setting this value, carefully consider the type of information you are passing in during deployment. By logging information about the request or response, you could potentially expose sensitive data that is retrieved through the deployment operations." } - } + }, + "description": "The debug setting." }, "Deployment": { "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentProperties", + "description": "The deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" + } + }, + "required": [ + "properties" + ], + "description": "Deployment operation parameters." + }, + "ScopedDeployment": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, "properties": { "$ref": "#/definitions/DeploymentProperties", "description": "The deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" + } + }, + "required": [ + "location", + "properties" + ], + "description": "Deployment operation parameters." + }, + "DeploymentExportResult": { + "properties": { + "template": { + "type": "object", + "description": "The template content." + } + }, + "description": "The deployment export result. " + }, + "DeploymentWhatIf": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentWhatIfProperties", + "description": "The deployment properties." + } + }, + "required": [ + "properties" + ], + "description": "Deployment What-if operation parameters." + }, + "ScopedDeploymentWhatIf": { + "properties": { + "location": { + "type": "string", + "description": "The location to store the deployment data." + }, + "properties": { + "$ref": "#/definitions/DeploymentWhatIfProperties", + "description": "The deployment properties." + } + }, + "required": [ + "location", + "properties" + ], + "description": "Deployment What-if operation parameters." + }, + "DeploymentWhatIfProperties": { + "properties": { + "whatIfSettings": { + "$ref": "#/definitions/DeploymentWhatIfSettings", + "description": "Optional What-If operation settings." + } + }, + "allOf": [ + { + "$ref": "#/definitions/DeploymentProperties" + } + ], + "description": "Deployment What-if properties." + }, + "DeploymentWhatIfSettings": { + "properties": { + "resultFormat": { + "type": "string", + "description": "The format of the What-If results", + "enum": [ + "ResourceIdOnly", + "FullResourcePayloads" + ], + "x-ms-enum": { + "name": "WhatIfResultFormat", + "modelAsString": false + } } }, - "required": [ - "properties" - ], - "description": "Deployment operation parameters." + "description": "Deployment What-If operation settings." }, - "DeploymentExportResult": { + "CloudError": { + "x-ms-external": true, "properties": { - "template": { - "type": "object", - "description": "The template content." + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse" } }, - "description": "The deployment export result. " + "description": "An error response for a resource management request." }, - "ResourceManagementErrorWithDetails": { + "ApiProfile": { "properties": { - "code": { - "readOnly": true, + "profileVersion": { "type": "string", - "description": "The error code returned when exporting the template." - }, - "message": { "readOnly": true, - "type": "string", - "description": "The error message describing the export error." + "description": "The profile version." }, - "target": { + "apiVersion": { + "type": "string", "readOnly": true, + "description": "The API version." + } + } + }, + "AliasPathMetadata": { + "properties": { + "type": { "type": "string", - "description": "The target of the error." + "readOnly": true, + "enum": [ + "NotSpecified", + "Any", + "String", + "Object", + "Array", + "Integer", + "Number", + "Boolean" + ], + "x-ms-enum": { + "name": "AliasPathTokenType", + "modelAsString": true, + "values": [ + { + "value": "NotSpecified", + "description": "The token type is not specified." + }, + { + "value": "Any", + "description": "The token type can be anything." + }, + { + "value": "String", + "description": "The token type is string." + }, + { + "value": "Object", + "description": "The token type is object." + }, + { + "value": "Array", + "description": "The token type is array." + }, + { + "value": "Integer", + "description": "The token type is integer." + }, + { + "value": "Number", + "description": "The token type is number." + }, + { + "value": "Boolean", + "description": "The token type is boolean." + } + ] + }, + "description": "The type of the token that the alias path is referring to." }, - "details": { + "attributes": { + "type": "string", "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/ResourceManagementErrorWithDetails" - }, - "description": "Validation error." + "enum": [ + "None", + "Modifiable" + ], + "x-ms-enum": { + "name": "AliasPathAttributes", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "The token that the alias path is referring to has no attributes." + }, + { + "value": "Modifiable", + "description": "The token that the alias path is referring to is modifiable by policies with 'modify' effect." + } + ] + }, + "description": "The attributes of the token that the alias path is referring to." } - }, - "description": "The detailed error message of resource management." + } }, - "AliasPathType": { + "AliasPath": { "properties": { "path": { "type": "string", @@ -1931,11 +4849,55 @@ "type": "string" }, "description": "The API versions." + }, + "pattern": { + "$ref": "#/definitions/AliasPattern", + "description": "The pattern for an alias path." + }, + "metadata": { + "readOnly": true, + "$ref": "#/definitions/AliasPathMetadata", + "description": "The metadata of the alias path. If missing, fall back to the default metadata of the alias." + } + }, + "description": "The type of the paths for alias." + }, + "AliasPattern": { + "properties": { + "phrase": { + "type": "string", + "description": "The alias pattern phrase." + }, + "variable": { + "type": "string", + "description": "The alias pattern variable." + }, + "type": { + "type": "string", + "enum": [ + "NotSpecified", + "Extract" + ], + "x-ms-enum": { + "name": "AliasPatternType", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "NotSpecified is not allowed." + }, + { + "value": "Extract", + "description": "Extract is the only allowed value." + } + ] + }, + "description": "The type of alias pattern" } }, - "description": "The type of the paths for alias. " + "description": "The type of the pattern for an alias path." }, - "AliasType": { + "Alias": { "properties": { "name": { "type": "string", @@ -1944,13 +4906,73 @@ "paths": { "type": "array", "items": { - "$ref": "#/definitions/AliasPathType" + "$ref": "#/definitions/AliasPath" }, "description": "The paths for an alias." + }, + "type": { + "type": "string", + "description": "The type of the alias.", + "enum": [ + "NotSpecified", + "PlainText", + "Mask" + ], + "x-ms-enum": { + "name": "AliasType", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "Alias type is unknown (same as not providing alias type)." + }, + { + "value": "PlainText", + "description": "Alias value is not secret." + }, + { + "value": "Mask", + "description": "Alias value is secret." + } + ] + } + }, + "defaultPath": { + "type": "string", + "description": "The default path for an alias." + }, + "defaultPattern": { + "$ref": "#/definitions/AliasPattern", + "description": "The default pattern for an alias." + }, + "defaultMetadata": { + "readOnly": true, + "$ref": "#/definitions/AliasPathMetadata", + "description": "The default alias path metadata. Applies to the default path and to any alias path that doesn't have metadata" } }, "description": "The alias type. " }, + "ProviderExtendedLocation": { + "properties": { + "location": { + "type": "string", + "description": "The azure location." + }, + "type": { + "type": "string", + "description": "The extended location type." + }, + "extendedLocations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The extended locations for the azure location." + } + }, + "description": "The provider extended location. " + }, "ProviderResourceType": { "properties": { "resourceType": { @@ -1964,10 +4986,17 @@ }, "description": "The collection of locations where this resource type can be created." }, + "locationMappings": { + "type": "array", + "items": { + "$ref": "#/definitions/ProviderExtendedLocation" + }, + "description": "The location mappings that are supported by this resource type." + }, "aliases": { "type": "array", "items": { - "$ref": "#/definitions/AliasType" + "$ref": "#/definitions/Alias" }, "description": "The aliases that are supported by this resource type." }, @@ -1978,6 +5007,23 @@ }, "description": "The API version." }, + "defaultApiVersion": { + "type": "string", + "readOnly": true, + "description": "The default API version." + }, + "apiProfiles": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ApiProfile" + }, + "description": "The API profiles for the resource provider." + }, + "capabilities": { + "type": "string", + "description": "The additional capabilities offered by this resource type." + }, "properties": { "type": "object", "additionalProperties": { @@ -2003,7 +5049,12 @@ "registrationState": { "readOnly": true, "type": "string", - "description": "The registration state of the provider." + "description": "The registration state of the resource provider." + }, + "registrationPolicy": { + "readOnly": true, + "type": "string", + "description": "The registration policy of the resource provider." }, "resourceTypes": { "readOnly": true, @@ -2012,6 +5063,20 @@ "$ref": "#/definitions/ProviderResourceType" }, "description": "The collection of provider resource types." + }, + "providerAuthorizationConsentState": { + "type": "string", + "enum": [ + "NotSpecified", + "Required", + "NotRequired", + "Consented" + ], + "description": "The provider authorization consent state.", + "x-ms-enum": { + "name": "ProviderAuthorizationConsentState", + "modelAsString": true + } } }, "description": "Resource provider information." @@ -2060,9 +5125,27 @@ "DeploymentPropertiesExtended": { "properties": { "provisioningState": { - "readOnly": true, "type": "string", - "description": "The state of the provisioning." + "readOnly": true, + "description": "Denotes the state of provisioning.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } }, "correlationId": { "readOnly": true, @@ -2075,11 +5158,18 @@ "format": "date-time", "description": "The timestamp of the template deployment." }, + "duration": { + "readOnly": true, + "type": "string", + "description": "The duration of the template deployment." + }, "outputs": { + "readOnly": true, "type": "object", - "description": "Key/value pairs that represent deploymentoutput." + "description": "Key/value pairs that represent deployment output." }, "providers": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Provider" @@ -2087,29 +5177,30 @@ "description": "The list of resource providers needed for the deployment." }, "dependencies": { + "readOnly": true, "type": "array", "items": { "$ref": "#/definitions/Dependency" }, "description": "The list of deployment dependencies." }, - "template": { - "type": "object", - "description": "The template content. Use only one of Template or TemplateLink." - }, "templateLink": { + "readOnly": true, "$ref": "#/definitions/TemplateLink", - "description": "The URI referencing the template. Use only one of Template or TemplateLink." + "description": "The URI referencing the template." }, "parameters": { + "readOnly": true, "type": "object", - "description": "Deployment parameters. Use only one of Parameters or ParametersLink." + "description": "Deployment parameters. " }, "parametersLink": { + "readOnly": true, "$ref": "#/definitions/ParametersLink", - "description": "The URI referencing the parameters. Use only one of Parameters or ParametersLink." + "description": "The URI referencing the parameters. " }, "mode": { + "readOnly": true, "type": "string", "description": "The deployment mode. Possible values are Incremental and Complete.", "enum": [ @@ -2122,17 +5213,109 @@ } }, "debugSetting": { + "readOnly": true, "$ref": "#/definitions/DebugSetting", "description": "The debug setting of the deployment." + }, + "onErrorDeployment": { + "readOnly": true, + "$ref": "#/definitions/OnErrorDeploymentExtended", + "description": "The deployment on error behavior." + }, + "templateHash": { + "readOnly": true, + "type": "string", + "description": "The hash produced for the template." + }, + "outputResources": { + "readOnly": true, + "type": "array", + "description": "Array of provisioned resources.", + "items": { + "$ref": "#/definitions/ResourceReference", + "description": "Details of provisioned resources." + } + }, + "validatedResources": { + "readOnly": true, + "type": "array", + "description": "Array of validated resources.", + "items": { + "$ref": "#/definitions/ResourceReference", + "description": "Details of validated resources." + } + }, + "error": { + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The deployment error." } }, "description": "Deployment properties with additional details." }, + "ResourceReference": { + "description": "The resource Id model.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The fully qualified resource Id." + } + } + }, + "OnErrorDeployment": { + "properties": { + "type": { + "type": "string", + "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.", + "enum": [ + "LastSuccessful", + "SpecificDeployment" + ], + "x-ms-enum": { + "name": "OnErrorDeploymentType", + "modelAsString": false + } + }, + "deploymentName": { + "type": "string", + "description": "The deployment to be used on error case." + } + }, + "description": "Deployment on error behavior." + }, + "OnErrorDeploymentExtended": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The state of the provisioning for the on error deployment." + }, + "type": { + "type": "string", + "description": "The deployment on error behavior type. Possible values are LastSuccessful and SpecificDeployment.", + "enum": [ + "LastSuccessful", + "SpecificDeployment" + ], + "x-ms-enum": { + "name": "OnErrorDeploymentType", + "modelAsString": false + } + }, + "deploymentName": { + "type": "string", + "description": "The deployment to be used on error case." + } + }, + "description": "Deployment on error behavior with additional details." + }, "DeploymentValidateResult": { "properties": { "error": { - "$ref": "#/definitions/ResourceManagementErrorWithDetails", - "description": "Validation error." + "readOnly": true, + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The deployment validation error." }, "properties": { "$ref": "#/definitions/DeploymentPropertiesExtended", @@ -2144,21 +5327,37 @@ "DeploymentExtended": { "properties": { "id": { + "readOnly": true, "type": "string", "description": "The ID of the deployment." }, "name": { + "readOnly": true, "type": "string", "description": "The name of the deployment." }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the deployment." + }, + "location": { + "type": "string", + "description": "the location of the deployment." + }, "properties": { "$ref": "#/definitions/DeploymentPropertiesExtended", "description": "Deployment properties." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Deployment tags" } }, - "required": [ - "name" - ], + "x-ms-azure-resource": true, "description": "Deployment information." }, "DeploymentListResult": { @@ -2195,6 +5394,23 @@ }, "description": "List of resource providers." }, + "ProviderResourceTypeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProviderResourceType" + }, + "description": "An array of resource types." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of resource types of a resource provider." + }, "GenericResource": { "properties": { "plan": { @@ -2230,6 +5446,53 @@ ], "description": "Resource information." }, + "ExtendedLocation": { + "properties": { + "type": { + "type": "string", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationType", + "modelAsString": true + }, + "description": "The extended location type." + }, + "name": { + "type": "string", + "description": "The extended location name." + } + }, + "description": "Resource extended location." + }, + "GenericResourceExpanded": { + "properties": { + "createdTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The created time of the resource. This is only present if requested via the $expand query parameter." + }, + "changedTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The changed time of the resource. This is only present if requested via the $expand query parameter." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the resource. This is only present if requested via the $expand query parameter." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Resource information." + }, "Plan": { "properties": { "name": { @@ -2247,6 +5510,10 @@ "promotionCode": { "type": "string", "description": "The promotion code." + }, + "version": { + "type": "string", + "description": "The plan's version." } }, "description": "Plan for the resource." @@ -2297,12 +5564,35 @@ "type": "string", "description": "The identity type.", "enum": [ - "SystemAssigned" + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" ], "x-ms-enum": { "name": "ResourceIdentityType", "modelAsString": false } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "type": "object", + "x-ms-client-name": "IdentityUserAssignedIdentitiesValue", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." } }, "description": "Identity for the resource." @@ -2312,7 +5602,7 @@ "value": { "type": "array", "items": { - "$ref": "#/definitions/GenericResource" + "$ref": "#/definitions/GenericResourceExpanded" }, "description": "An array of resources." }, @@ -2332,15 +5622,22 @@ "description": "The ID of the resource group." }, "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource group." + }, + "type": { + "readOnly": true, "type": "string", - "description": "The name of the resource group." + "description": "The type of the resource group." }, "properties": { - "$ref": "#/definitions/ResourceGroupProperties" + "$ref": "#/definitions/ResourceGroupProperties", + "description": "The resource group properties." }, "location": { "type": "string", - "description": "The location of the resource group. It cannot be changed after the resource group has been created. It muct be one of the supported Azure locations." + "description": "The location of the resource group. It cannot be changed after the resource group has been created. It must be one of the supported Azure locations." }, "managedBy": { "type": "string", @@ -2358,6 +5655,7 @@ "required": [ "location" ], + "x-ms-azure-resource": true, "description": "Resource group information." }, "ResourceGroupPatchable": { @@ -2367,7 +5665,8 @@ "description": "The name of the resource group." }, "properties": { - "$ref": "#/definitions/ResourceGroupProperties" + "$ref": "#/definitions/ResourceGroupProperties", + "description": "The resource group properties." }, "managedBy": { "type": "string", @@ -2434,11 +5733,11 @@ "items": { "type": "string" }, - "description": "The IDs of the resources. The only supported string currently is '*' (all resources). Future updates will support exporting specific resources." + "description": "The IDs of the resources to filter the export by. To export all resources, supply an array with single entry '*'." }, "options": { "type": "string", - "description": "The export template options. Supported values include 'IncludeParameterDefaultValue', 'IncludeComments' or 'IncludeParameterDefaultValue, IncludeComments" + "description": "The export template options. A CSV-formatted list containing zero or more of the following: 'IncludeParameterDefaultValue', 'IncludeComments', 'SkipResourceNameParameterization', 'SkipAllParameterization'" } }, "description": "Export resource group template request parameters." @@ -2459,8 +5758,9 @@ "TagValue": { "properties": { "id": { + "readOnly": true, "type": "string", - "description": "The tag ID." + "description": "The tag value ID." }, "tagValue": { "type": "string", @@ -2471,13 +5771,15 @@ "description": "The tag value count." } }, + "x-ms-azure-resource": true, "description": "Tag information." }, "TagDetails": { "properties": { "id": { + "readOnly": true, "type": "string", - "description": "The tag ID." + "description": "The tag name ID." }, "tagName": { "type": "string", @@ -2495,6 +5797,7 @@ "description": "The list of tag values." } }, + "x-ms-azure-resource": true, "description": "Tag details." }, "TagsListResult": { @@ -2542,6 +5845,69 @@ }, "DeploymentOperationProperties": { "properties": { + "provisioningOperation": { + "readOnly": true, + "type": "string", + "description": "The name of the current provisioning operation.", + "enum": [ + "NotSpecified", + "Create", + "Delete", + "Waiting", + "AzureAsyncOperationWaiting", + "ResourceCacheWaiting", + "Action", + "Read", + "EvaluateDeploymentOutput", + "DeploymentCleanup" + ], + "x-ms-enum": { + "name": "ProvisioningOperation", + "modelAsString": false, + "values": [ + { + "value": "NotSpecified", + "description": "The provisioning operation is not specified." + }, + { + "value": "Create", + "description": "The provisioning operation is create." + }, + { + "value": "Delete", + "description": "The provisioning operation is delete." + }, + { + "value": "Waiting", + "description": "The provisioning operation is waiting." + }, + { + "value": "AzureAsyncOperationWaiting", + "description": "The provisioning operation is waiting Azure async operation." + }, + { + "value": "ResourceCacheWaiting", + "description": "The provisioning operation is waiting for resource cache." + }, + { + "value": "Action", + "description": "The provisioning operation is action." + }, + { + "value": "Read", + "description": "The provisioning operation is read." + }, + { + "value": "EvaluateDeploymentOutput", + "description": "The provisioning operation is evaluate output." + }, + { + "value": "DeploymentCleanup", + "description": "The provisioning operation is cleanup. This operation is part of the 'complete' mode deployment." + } + ] + } + }, "provisioningState": { "readOnly": true, "type": "string", @@ -2553,6 +5919,11 @@ "format": "date-time", "description": "The date and time of the operation." }, + "duration": { + "readOnly": true, + "type": "string", + "description": "The duration of the operation." + }, "serviceRequestId": { "readOnly": true, "type": "string", @@ -2561,12 +5932,12 @@ "statusCode": { "readOnly": true, "type": "string", - "description": "Operation status code." + "description": "Operation status code from the resource provider. This property may not be set if a response has not yet been received." }, "statusMessage": { "readOnly": true, - "type": "object", - "description": "Operation status message." + "description": "Operation status message from the resource provider. This property is optional. It will only be provided if an error was received from the resource provider.", + "$ref": "#/definitions/StatusMessage" }, "targetResource": { "readOnly": true, @@ -2638,7 +6009,7 @@ }, "operation": { "type": "string", - "description": "Operation." + "description": "Resource provider operation." }, "description": { "type": "string", @@ -2668,6 +6039,14 @@ "type": "string", "description": "Resource location" }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "Resource extended location." + }, "tags": { "type": "object", "additionalProperties": { @@ -2677,7 +6056,7 @@ } }, "x-ms-azure-resource": true, - "description": "Resource." + "description": "Specified resource." }, "SubResource": { "properties": { @@ -2696,20 +6075,530 @@ "description": "The template content." }, "error": { - "$ref": "#/definitions/ResourceManagementErrorWithDetails", - "description": "The error." + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The template export error." } }, "description": "Resource group export result." + }, + "Operation": { + "description": "Microsoft.Resources operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Resources", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Resources operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Resources operations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "TemplateHashResult": { + "description": "Result of the request to calculate template hash. It contains a string of minified template and its hash.", + "properties": { + "minifiedTemplate": { + "type": "string", + "description": "The minified template string." + }, + "templateHash": { + "type": "string", + "description": "The template hash." + } + } + }, + "WhatIfPropertyChange": { + "required": [ + "path", + "propertyChangeType" + ], + "properties": { + "path": { + "type": "string", + "description": "The path of the property." + }, + "propertyChangeType": { + "type": "string", + "description": "The type of property change.", + "enum": [ + "Create", + "Delete", + "Modify", + "Array", + "NoEffect" + ], + "x-ms-enum": { + "name": "PropertyChangeType", + "modelAsString": false, + "values": [ + { + "value": "Create", + "description": "The property does not exist in the current state but is present in the desired state. The property will be created when the deployment is executed." + }, + { + "value": "Delete", + "description": "The property exists in the current state and is missing from the desired state. It will be deleted when the deployment is executed." + }, + { + "value": "Modify", + "description": "The property exists in both current and desired state and is different. The value of the property will change when the deployment is executed." + }, + { + "value": "Array", + "description": "The property is an array and contains nested changes." + }, + { + "value": "NoEffect", + "description": "The property will not be set or updated." + } + ] + } + }, + "before": { + "type": "object", + "description": "The value of the property before the deployment is executed." + }, + "after": { + "type": "object", + "description": "The value of the property after the deployment is executed." + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfPropertyChange" + }, + "description": "Nested property changes." + } + }, + "description": "The predicted change to the resource property." + }, + "WhatIfChange": { + "description": "Information about a single resource change predicted by What-If operation.", + "required": [ + "resourceId", + "changeType" + ], + "properties": { + "resourceId": { + "type": "string", + "description": "Resource ID" + }, + "changeType": { + "type": "string", + "description": "Type of change that will be made to the resource when the deployment is executed.", + "enum": [ + "Create", + "Delete", + "Ignore", + "Deploy", + "NoChange", + "Modify", + "Unsupported" + ], + "x-ms-enum": { + "name": "ChangeType", + "modelAsString": false, + "values": [ + { + "value": "Create", + "description": "The resource does not exist in the current state but is present in the desired state. The resource will be created when the deployment is executed." + }, + { + "value": "Delete", + "description": "The resource exists in the current state and is missing from the desired state. The resource will be deleted when the deployment is executed." + }, + { + "value": "Ignore", + "description": "The resource exists in the current state and is missing from the desired state. The resource will not be deployed or modified when the deployment is executed." + }, + { + "value": "Deploy", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource may or may not change." + }, + { + "value": "NoChange", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will not change." + }, + { + "value": "Modify", + "description": "The resource exists in the current state and the desired state and will be redeployed when the deployment is executed. The properties of the resource will change." + }, + { + "value": "Unsupported", + "description": "The resource is not supported by What-If." + } + ] + } + }, + "unsupportedReason": { + "type": "string", + "description": "The explanation about why the resource is unsupported by What-If." + }, + "before": { + "type": "object", + "description": "The snapshot of the resource before the deployment is executed." + }, + "after": { + "type": "object", + "description": "The predicted snapshot of the resource after the deployment is executed." + }, + "delta": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfPropertyChange" + }, + "description": "The predicted changes to resource properties." + } + } + }, + "WhatIfOperationProperties": { + "description": "Deployment operation properties.", + "properties": { + "changes": { + "type": "array", + "items": { + "$ref": "#/definitions/WhatIfChange" + }, + "description": "List of resource changes predicted by What-If operation." + } + } + }, + "WhatIfOperationResult": { + "description": "Result of the What-If operation. Contains a list of predicted changes and a URL link to get to the next set of results.", + "properties": { + "status": { + "type": "string", + "description": "Status of the What-If operation." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WhatIfOperationProperties", + "description": "What-If operation properties." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "Error when What-If operation fails." + } + } + }, + "Tags": { + "description": "A dictionary of name and value pairs.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The tag value." + } + } + } + }, + "TagsPatchResource": { + "type": "object", + "description": "Wrapper resource for tags patch API request only.", + "properties": { + "operation": { + "type": "string", + "description": "The operation type for the patch API.", + "enum": [ + "Replace", + "Merge", + "Delete" + ], + "x-ms-enum": { + "name": "tagsPatchOperation", + "modelAsString": true, + "values": [ + { + "value": "Replace", + "description": "The 'replace' option replaces the entire set of existing tags with a new set." + }, + { + "value": "Merge", + "description": "The 'merge' option allows adding tags with new names and updating the values of tags with existing names." + }, + { + "value": "Delete", + "description": "The 'delete' option allows selectively deleting tags based on given names or name/value pairs." + } + ] + } + }, + "properties": { + "$ref": "#/definitions/Tags", + "description": "The set of tags." + } + } + }, + "TagsResource": { + "type": "object", + "description": "Wrapper resource for tags API requests and responses.", + "required": [ + "properties" + ], + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The ID of the tags wrapper resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the tags wrapper resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the tags wrapper resource." + }, + "properties": { + "$ref": "#/definitions/Tags", + "description": "The set of tags." + } + }, + "x-ms-azure-resource": true + }, + "Permission": { + "type": "object", + "readOnly": true, + "properties": { + "actions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed actions." + }, + "notActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Denied actions." + }, + "dataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed Data actions." + }, + "notDataActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Denied Data actions." + } + }, + "description": "Role definition permissions." + }, + "RoleDefinition": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "The role definition ID." + }, + "name": { + "type": "string", + "description": "The role definition name." + }, + "isServiceRole": { + "type": "boolean", + "description": "If this is a service role." + }, + "permissions": { + "type": "array", + "items": { + "$ref": "#/definitions/Permission" + }, + "description": "Role definition permissions." + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Role definition assignable scopes." + } + }, + "description": "Role definition properties." + }, + "ProviderPermission": { + "type": "object", + "description": "The provider permission", + "properties": { + "applicationId": { + "type": "string", + "description": "The application id." + }, + "roleDefinition": { + "$ref": "#/definitions/RoleDefinition", + "description": "Role definition properties." + }, + "managedByRoleDefinition": { + "$ref": "#/definitions/RoleDefinition", + "description": "Role definition properties." + }, + "providerAuthorizationConsentState": { + "type": "string", + "enum": [ + "NotSpecified", + "Required", + "NotRequired", + "Consented" + ], + "description": "The provider authorization consent state.", + "x-ms-enum": { + "name": "ProviderAuthorizationConsentState", + "modelAsString": true + } + } + } + }, + "ProviderPermissionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ProviderPermission" + }, + "description": "An array of provider permissions." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of provider permissions." + }, + "ProviderConsentDefinition": { + "type": "object", + "description": "The provider consent.", + "properties": { + "consentToAuthorization": { + "type": "boolean", + "description": "A value indicating whether authorization is consented or not." + } + } + }, + "ProviderRegistrationRequest": { + "type": "object", + "description": "The provider registration definition.", + "properties": { + "thirdPartyProviderConsent": { + "$ref": "#/definitions/ProviderConsentDefinition", + "description": "The provider consent." + } + } + }, + "StatusMessage": { + "type": "object", + "description": "Operation status message object.", + "properties": { + "status": { + "type": "string", + "description": "Status of the deployment operation." + }, + "error": { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ErrorResponse", + "description": "The error reported by the operation." + } + } + }, + "ExpressionEvaluationOptions": { + "properties": { + "scope": { + "type": "string", + "description": "The scope to be used for evaluation of parameters, variables and functions in a nested template.", + "enum": [ + "NotSpecified", + "Outer", + "Inner" + ], + "x-ms-enum": { + "name": "ExpressionEvaluationOptionsScopeType", + "modelAsString": true + } + } + }, + "description": "Specifies whether template expressions are evaluated within the scope of the parent template or nested template." } }, "parameters": { + "ScopeParameter": { + "name": "scope", + "in": "path", + "required": true, + "type": "string", + "description": "The resource scope.", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + }, + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "The management group ID.", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 90 + }, "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", "required": true, "type": "string", - "description": "The ID of the target subscription." + "description": "The Microsoft Azure subscription ID." + }, + "DeploymentNameParameter": { + "name": "deploymentName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method", + "minLength": 1, + "maxLength": 64, + "description": "The name of the deployment." }, "ApiVersionParameter": { "name": "api-version", diff --git a/App_Data/SwaggerSpecs/Microsoft.Search/search.json b/App_Data/SwaggerSpecs/Microsoft.Search/search.json index 50e60db7..1b59faa7 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Search/search.json +++ b/App_Data/SwaggerSpecs/Microsoft.Search/search.json @@ -2,20 +2,18 @@ "swagger": "2.0", "info": { "title": "SearchManagementClient", - "description": "Client that can be used to manage Azure Search services and API keys.", - "version": "2015-08-19" + "description": "Client that can be used to manage Azure Cognitive Search services and API keys.", + "version": "2020-08-01" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ - "application/json", - "text/json" + "application/json" ], "produces": [ - "application/json", - "text/json" + "application/json" ], "security": [ { @@ -36,13 +34,49 @@ } }, "paths": { + "/providers/Microsoft.Search/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available REST API operations of the Microsoft.Search provider.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Operations API failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listAdminKeys": { "post": { "tags": [ "AdminKeys" ], "operationId": "AdminKeys_Get", - "description": "Gets the primary and secondary admin API keys for the specified Azure Search service.", + "x-ms-examples": { + "SearchGetAdminKeys": { + "$ref": "./examples/SearchGetAdminKeys.json" + } + }, + "description": "Gets the primary and secondary admin API keys for the specified Azure Cognitive Search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -65,19 +99,13 @@ ], "responses": { "200": { - "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform any operations on your Search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", + "description": "The admin keys were successfully retrieved and are in the response. You can use either the primary or secondary key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform any operations on your search service, including privileged operations. Privileged operations include managing resources like indexes and data sources as well as uploading, modifying, or deleting data in your indexes.", "schema": { "$ref": "#/definitions/AdminKeyResult" - }, - "examples": { - "application/json": { - "primaryKey": "", - "secondaryKey": "" - } } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", "schema": { "$ref": "#/definitions/CloudError" } @@ -91,6 +119,11 @@ "AdminKeys" ], "operationId": "AdminKeys_Regenerate", + "x-ms-examples": { + "SearchRegenerateAdminKey": { + "$ref": "./examples/SearchRegenerateAdminKey.json" + } + }, "description": "Regenerates either the primary or secondary admin API key. You can only regenerate one key at a time.", "externalDocs": { "url": "https://aka.ms/search-manage" @@ -132,16 +165,10 @@ "description": "The specified admin key was successfully regenerated. Both admin keys are included in the response, including the newly-regenerated key.", "schema": { "$ref": "#/definitions/AdminKeyResult" - }, - "examples": { - "application/json": { - "primaryKey": "", - "secondaryKey": "" - } } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", "schema": { "$ref": "#/definitions/CloudError" } @@ -155,7 +182,12 @@ "QueryKeys" ], "operationId": "QueryKeys_Create", - "description": "Generates a new query key for the specified Search service. You can create up to 50 query keys per service.", + "x-ms-examples": { + "SearchCreateQueryKey": { + "$ref": "./examples/SearchCreateQueryKey.json" + } + }, + "description": "Generates a new query key for the specified search service. You can create up to 50 query keys per service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -185,19 +217,13 @@ ], "responses": { "200": { - "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "description": "The query key was successfully created and is in the response. You can use the query key as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", "schema": { "$ref": "#/definitions/QueryKey" - }, - "examples": { - "application/json": { - "name": "Query key for browser-based clients", - "key": "" - } - } + } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", "schema": { "$ref": "#/definitions/CloudError" } @@ -206,15 +232,20 @@ } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/listQueryKeys": { - "get": { + "post": { "tags": [ "QueryKeys" ], "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" }, "operationId": "QueryKeys_ListBySearchService", - "description": "Returns the list of query API keys for the given Azure Search service.", + "x-ms-examples": { + "SearchListQueryKeysBySearchService": { + "$ref": "./examples/SearchListQueryKeysBySearchService.json" + } + }, + "description": "Returns the list of query API keys for the given Azure Cognitive Search service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -237,28 +268,13 @@ ], "responses": { "200": { - "description": "All query keys for the given Search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", + "description": "All query keys for the given search service were successfully retrieved and are in the response. You can use any of the query keys as the value of the 'api-key' parameter in the Azure Cognitive Search Service REST API or SDK to perform read-only operations on your Search indexes such as querying and looking up documents by ID.", "schema": { "$ref": "#/definitions/ListQueryKeysResult" - }, - "examples": { - "application/json": { - "value": [ - { - "name": "Query key for browser-based clients", - "key": "" - }, - { - "name": "Query key for mobile clients", - "key": "" - } - ], - "nextLink": null - } } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", "schema": { "$ref": "#/definitions/CloudError" } @@ -272,6 +288,11 @@ "QueryKeys" ], "operationId": "QueryKeys_Delete", + "x-ms-examples": { + "SearchDeleteQueryKey": { + "$ref": "./examples/SearchDeleteQueryKey.json" + } + }, "description": "Deletes the specified query key. Unlike admin keys, query keys are not regenerated. The process for regenerating a query key is to delete and then recreate it.", "externalDocs": { "url": "https://aka.ms/search-manage" @@ -308,7 +329,7 @@ "description": "The query key was successfully deleted." }, "404": { - "description": "The subscription, resource group, Search service, or query key could not be found." + "description": "The subscription, resource group, search service, or query key could not be found." }, "default": { "description": "HTTP 409 (Conflict): The specified subscription is disabled.", @@ -325,7 +346,21 @@ "Services" ], "operationId": "Services_CreateOrUpdate", - "description": "Creates or updates a Search service in the given resource group. If the Search service already exists, all properties will be updated with the given values.", + "x-ms-examples": { + "SearchCreateOrUpdateService": { + "$ref": "./examples/SearchCreateOrUpdateService.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchCreateOrUpdateServiceToAllowAccessFromPrivateEndpoints.json" + }, + "SearchCreateOrUpdateServiceWithIdentity": { + "$ref": "./examples/SearchCreateOrUpdateServiceWithIdentity.json" + } + }, + "description": "Creates or updates a search service in the given resource group. If the search service already exists, all properties will be updated with the given values.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -338,7 +373,7 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the Azure Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." + "description": "The name of the Azure Cognitive Search service to create or update. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net). You cannot change the service name after the service is created." }, { "name": "service", @@ -347,7 +382,7 @@ "schema": { "$ref": "#/definitions/SearchService" }, - "description": "The definition of the Search service to create or update." + "description": "The definition of the search service to create or update." }, { "$ref": "#/parameters/ClientRequestIdParameter" @@ -364,56 +399,12 @@ "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", "schema": { "$ref": "#/definitions/SearchService" - }, - "examples": { - "application/json": { - "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here", - "name": "your-service-name-here", - "location": "westus", - "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties":{ - "replicaCount": 3, - "partitionCount": 1, - "status": "provisioning", - "statusDetails": "", - "hostingMode": "default", - "provisioningState": "provisioning" - } - } } }, "201": { - "description": "If you requested creation of a free Search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "description": "If you requested creation of a free search service, the service is now provisioned and ready to use, subject to DNS propagation delay. For other SKU types, provisioning happens asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", "schema": { "$ref": "#/definitions/SearchService" - }, - "examples": { - "application/json": { - "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here", - "name": "your-service-name-here", - "location": "westus", - "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties":{ - "replicaCount": 3, - "partitionCount": 1, - "status": "provisioning", - "statusDetails": "", - "hostingMode": "default", - "provisioningState": "provisioning" - } - } } }, "default": { @@ -422,6 +413,75 @@ "$ref": "#/definitions/CloudError" } } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Services" + ], + "operationId": "Services_Update", + "x-ms-examples": { + "SearchUpdateService": { + "$ref": "./examples/SearchUpdateService.json" + }, + "SearchUpdateServiceToRemoveIdentity": { + "$ref": "./examples/SearchUpdateServiceToRemoveIdentity.json" + }, + "searchUpdateServiceToAllowAccessFromPublicCustomIPs": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPublicCustomIPs.json" + }, + "searchUpdateServiceToAllowAccessFromPrivateEndpoints": { + "$ref": "./examples/SearchUpdateServiceToAllowAccessFromPrivateEndpoints.json" + } + }, + "description": "Updates an existing search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "name": "searchServiceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Cognitive Search service to update." + }, + { + "name": "service", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SearchServiceUpdate" + }, + "description": "The definition of the search service to update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The existing service definition was successfully updated. If you changed the number of replicas or partitions, the scale operation will happen asynchronously. You can periodically get your service definition and monitor progress via the provisioningState property.", + "schema": { + "$ref": "#/definitions/SearchService" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given service definition is invalid or you attempted to change a property that is immutable; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription or resource group could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } } }, "get": { @@ -429,7 +489,12 @@ "Services" ], "operationId": "Services_Get", - "description": "Gets the Search service with the given name in the given resource group.", + "x-ms-examples": { + "SearchGetService": { + "$ref": "./examples/SearchGetService.json" + } + }, + "description": "Gets the search service with the given name in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -452,35 +517,13 @@ ], "responses": { "200": { - "description": "The Search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", + "description": "The search service definition was successfully retrieved and is in the response. If you are polling for the completion of a provisioning or scale operation, you can check its status via the provisioningState property.", "schema": { "$ref": "#/definitions/SearchService" - }, - "examples": { - "application/json": { - "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here", - "name": "your-service-name-here", - "location": "westus", - "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties":{ - "replicaCount": 3, - "partitionCount": 1, - "status": "running", - "statusDetails": "", - "hostingMode": "default", - "provisioningState": "succeeded" - } - } } }, "default": { - "description": "HTTP 404 (Not Found): The subscription, resource group, or Search service name could not be found.", + "description": "HTTP 404 (Not Found): The subscription, resource group, or search service name could not be found.", "schema": { "$ref": "#/definitions/CloudError" } @@ -492,7 +535,12 @@ "Services" ], "operationId": "Services_Delete", - "description": "Deletes a Search service in the given resource group, along with its associated resources.", + "x-ms-examples": { + "SearchDeleteService": { + "$ref": "./examples/SearchDeleteService.json" + } + }, + "description": "Deletes a search service in the given resource group, along with its associated resources.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -515,13 +563,13 @@ ], "responses": { "200": { - "description": "The Search service was successfully deleted." + "description": "The search service was successfully deleted." }, "204": { - "description": "The Search service was successfully deleted." + "description": "The search service was successfully deleted." }, "404": { - "description": "The subscription, resource group, or Search service could not be found." + "description": "The subscription, resource group, or search service could not be found." }, "default": { "description": "An unexpected error occurred during the operation.", @@ -538,10 +586,15 @@ "Services" ], "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" }, "operationId": "Services_ListByResourceGroup", - "description": "Gets a list of all Search services in the given resource group.", + "x-ms-examples": { + "SearchListServicesByResourceGroup": { + "$ref": "./examples/SearchListServicesByResourceGroup.json" + } + }, + "description": "Gets a list of all search services in the given resource group.", "externalDocs": { "url": "https://aka.ms/search-manage" }, @@ -561,55 +614,9 @@ ], "responses": { "200": { - "description": "The operation succeeded. The response contains the list of all Search service definitions for the given resource group.", + "description": "The operation succeeded. The response contains the list of all search service definitions for the given resource group.", "schema": { "$ref": "#/definitions/SearchServiceListResult" - }, - "examples": { - "application/json": { - "value": [ - { - "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-service-name-here", - "name": "your-service-name-here", - "location": "westus", - "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "standard" - }, - "properties":{ - "replicaCount": 3, - "partitionCount": 1, - "status": "running", - "statusDetails": "", - "hostingMode": "default", - "provisioningState": "succeeded" - } - }, - { - "id": "/subscriptions//resourceGroups/Default-ResourceGroup/providers/Microsoft.Search/searchServices/your-second-service-name-here", - "name": "your-second-service-name-here", - "location": "eastus", - "type": "Microsoft.Search/searchServices", - "tags": { - "app-name": "My e-commerce app" - }, - "sku": { - "name": "basic" - }, - "properties":{ - "replicaCount": 1, - "partitionCount": 1, - "status": "running", - "statusDetails": "", - "hostingMode": "default", - "provisioningState": "succeeded" - } - } - ] - } } }, "default": { @@ -621,26 +628,90 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateLinkResources": { + "get": { "tags": [ - "Services" + "PrivateLinkResources" ], - "description": "Checks whether or not the given Search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "x-ms-pageable": { + "nextLinkName": null + }, + "operationId": "PrivateLinkResources_ListSupported", + "x-ms-examples": { + "ListSupportedPrivateLinkResources": { + "$ref": "./examples/ListSupportedPrivateLinkResources.json" + } + }, + "description": "Gets a list of all supported private link resource types for the given service.", "externalDocs": { "url": "https://aka.ms/search-manage" }, - "operationId": "Services_CheckNameAvailability", "parameters": [ { - "name": "checkNameAvailabilityInput", + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all supported private link resource types for the given service.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourcesResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Update", + "x-ms-examples": { + "PrivateEndpointConnectionUpdate": { + "$ref": "./examples/UpdatePrivateEndpointConnection.json" + } + }, + "description": "Updates a Private Endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "name": "privateEndpointConnection", "in": "body", - "description": "The resource name and type to check.", - "x-ms-client-flatten": true, "required": true, "schema": { - "$ref": "#/definitions/CheckNameAvailabilityInput" - } + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The definition of the private endpoint connection to update." }, { "$ref": "#/parameters/ClientRequestIdParameter" @@ -654,68 +725,529 @@ ], "responses": { "200": { - "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "description": "The existing private endpoint connection definition was successfully updated.", "schema": { - "$ref": "#/definitions/CheckNameAvailabilityOutput" - }, - "examples": { - "application/json": { - "nameAvailable": false, - "reason": "AlreadyExists", - "message": "" - } + "$ref": "#/definitions/PrivateEndpointConnection" } }, "default": { - "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "description": "HTTP 400 (Bad Request): The given private endpoint connection name or the private endpoint connection definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", "schema": { "$ref": "#/definitions/CloudError" } } } - } - } - }, - "definitions": { - "CheckNameAvailabilityInput": { - "type": "object", - "required": [ - "name", - "type" - ], - "properties": { - "name": { - "description": "The Search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", - "type": "string" + }, + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/GetPrivateEndpointConnection.json" + } }, - "type": { - "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", - "type": "string", - "enum": [ - "searchServices" - ], - "x-ms-enum": { - "name": "ResourceType", - "modelAsString": false + "description": "Gets the details of the private endpoint connection to the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the private endpoint connection was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or private endpoint connection could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } } } }, - "description": "Input of check name availability API.", - "example": { - "name": "your-service-name-here", - "type": "searchServices" - } - }, - "CheckNameAvailabilityOutput": { - "type": "object", - "properties": { - "nameAvailable": { - "x-ms-client-name": "IsNameAvailable", - "description": "A value indicating whether the name is available.", - "type": "boolean", - "readOnly": true + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/DeletePrivateEndpointConnection.json" + } }, - "reason": { + "description": "Disconnects the private endpoint connection and deletes it from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully disconnected and removed from the search service. The response will contain the updated definition of the private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "404": { + "description": "The subscription, resource group, search service or private endpoint connection could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "PrivateEndpointConnections_ListByService", + "x-ms-examples": { + "ListPrivateEndpointConnectionsByService": { + "$ref": "./examples/ListPrivateEndpointConnectionsByService.json" + } + }, + "description": "Gets a list of all private endpoint connections in the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all private endpoint connections for the given service.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "put": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_CreateOrUpdate", + "x-ms-examples": { + "SharedPrivateLinkResourceCreateOrUpdate": { + "$ref": "./examples/CreateOrUpdateSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the creation or update of a shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "name": "sharedPrivateLinkResource", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The definition of the shared private link resource to create or update." + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The details of the shared private link resource that was created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "202": { + "description": "The shared private link resource create or update operation has been accepted and will complete asynchronously." + }, + "default": { + "description": "HTTP 400 (Bad Request): The given shared private link resource name or the shared private link resource definition is invalid; See the error code and message in the response for details. HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found. HTTP 409 (Conflict): The specified subscription is disabled.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Get", + "x-ms-examples": { + "SharedPrivateLinkResourceGet": { + "$ref": "./examples/GetSharedPrivateLinkResource.json" + } + }, + "description": "Gets the details of the shared private link resource managed by the search service in the given resource group.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The definition of the shared private link resource was successfully retrieved and is in the response.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The subscription, resource group, search service or shared private link resource could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SharedPrivateLinkResources" + ], + "operationId": "SharedPrivateLinkResources_Delete", + "x-ms-examples": { + "SharedPrivateLinkResourceDelete": { + "$ref": "./examples/DeleteSharedPrivateLinkResource.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "description": "Initiates the deletion of the shared private link resource from the search service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceNameParameter" + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "The shared private link resource deletion operation was accepted and will complete asynchronously." + }, + "204": { + "description": "The backing private endpoint for the shared private link resource could not be found." + }, + "404": { + "description": "The subscription, resource group, search service or shared private link resource could not be found." + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Search/searchServices/{searchServiceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SharedPrivateLinkResources" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "SharedPrivateLinkResources_ListByService", + "x-ms-examples": { + "ListSharedPrivateLinkResourcesByService": { + "$ref": "./examples/ListSharedPrivateLinkResourcesByService.json" + } + }, + "description": "Gets a list of all shared private link resources managed by the given service.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SearchServiceNameParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all shared private link resources managed by the given service.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/searchServices": { + "get": { + "tags": [ + "Services" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "operationId": "Services_ListBySubscription", + "x-ms-examples": { + "SearchListServicesBySubscription": { + "$ref": "./examples/SearchListServicesBySubscription.json" + } + }, + "description": "Gets a list of all search services in the given subscription.", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "parameters": [ + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The operation succeeded. The response contains the list of all search service definitions for the given subscription.", + "schema": { + "$ref": "#/definitions/SearchServiceListResult" + } + }, + "default": { + "description": "An unexpected error occurred during the operation.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Search/checkNameAvailability": { + "post": { + "tags": [ + "Services" + ], + "description": "Checks whether or not the given search service name is available for use. Search service names must be globally unique since they are part of the service URI (https://.search.windows.net).", + "externalDocs": { + "url": "https://aka.ms/search-manage" + }, + "operationId": "Services_CheckNameAvailability", + "x-ms-examples": { + "SearchCheckNameAvailability": { + "$ref": "./examples/SearchCheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "The resource name and type to check.", + "x-ms-client-flatten": true, + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/ClientRequestIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The name check completed. The response contains details of whether the name is valid and available. If the name is invalid, the response also contains a message explaining why not.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "HTTP 400 (Bad Request): The given resource type is not 'searchServices'.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CheckNameAvailabilityInput": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The search service name to validate. Search service names must only contain lowercase letters, digits or dashes, cannot use dash as the first two or last one characters, cannot contain consecutive dashes, and must be between 2 and 60 characters in length.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated. This value must always be 'searchServices'.", + "type": "string", + "enum": [ + "searchServices" + ], + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": false + } + } + }, + "description": "Input of check name availability API." + }, + "CheckNameAvailabilityOutput": { + "type": "object", + "properties": { + "nameAvailable": { + "x-ms-client-name": "IsNameAvailable", + "description": "A value indicating whether the name is available.", + "type": "boolean", + "readOnly": true + }, + "reason": { "description": "The reason why the name is not available. 'Invalid' indicates the name provided does not match the naming requirements (incorrect length, unsupported characters, etc.). 'AlreadyExists' indicates that the name is already in use and is therefore unavailable.", "type": "string", "readOnly": true, @@ -728,119 +1260,438 @@ "modelAsString": true } }, - "message": { - "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "message": { + "description": "A message that explains why the name is invalid and provides resource naming requirements. Available only if 'Invalid' is returned in the 'reason' property.", + "type": "string", + "readOnly": true + } + }, + "description": "Output of check name availability API." + }, + "AdminKeyResult": { + "properties": { + "primaryKey": { + "readOnly": true, + "type": "string", + "description": "The primary admin API key of the search service." + }, + "secondaryKey": { + "readOnly": true, + "type": "string", + "description": "The secondary admin API key of the search service." + } + }, + "description": "Response containing the primary and secondary admin API keys for a given Azure Cognitive Search service." + }, + "QueryKey": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the query API key; may be empty." + }, + "key": { + "readOnly": true, + "type": "string", + "description": "The value of the query API key." + } + }, + "description": "Describes an API key for a given Azure Cognitive Search service that has permissions for query operations only." + }, + "ListQueryKeysResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/QueryKey" + }, + "description": "The query keys for the Azure Cognitive Search service." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of query keys. Returned when the total number of requested query keys exceed maximum page size." + } + }, + "description": "Response containing the query API keys for a given Azure Cognitive Search service.", + "x-ms-external": true + }, + "Sku": { + "properties": { + "name": { + "type": "string", + "description": "The SKU of the search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': The largest Standard offering with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity'). 'storage_optimized_l1': Supports 1TB per partition, up to 12 partitions. 'storage_optimized_l2': Supports 2TB per partition, up to 12 partitions.'", + "enum": [ + "free", + "basic", + "standard", + "standard2", + "standard3", + "storage_optimized_l1", + "storage_optimized_l2" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "Defines the SKU of an Azure Cognitive Search Service, which determines price tier and capacity limits.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" + } + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "NetworkRuleSet": { + "properties": { + "ipRules": { + "type": "array", + "description": "A list of IP restriction rules that defines the inbound network(s) with allowing access to the search service endpoint. At the meantime, all other public IP networks are blocked by the firewall. These restriction rules are applied only when the 'publicNetworkAccess' of the search service is 'enabled'; otherwise, traffic over public interface is not allowed even with any public IP rules, and private endpoint connections would be the exclusive access method.", + "items": { + "$ref": "#/definitions/IpRule" + } + } + }, + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "IpRule": { + "properties": { + "value": { + "type": "string", + "description": "Value corresponding to a single IPv4 address (eg., 123.1.2.3) or an IP range in CIDR format (eg., 123.1.2.3/24) to be allowed." + } + }, + "description": "The IP restriction rule of the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "properties": { + "id": { + "type": "string", + "description": "The resource id of the private endpoint resource from Microsoft.Network provider." + } + }, + "description": "The private endpoint resource from Microsoft.Network provider." + }, + "privateLinkServiceConnectionState": { + "type": "object", + "properties": { + "status": { + "type": "string", + "description": "Status of the the private link service connection. Can be Pending, Approved, Rejected, or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": false + } + }, + "description": { + "type": "string", + "description": "The description for the private link service connection state." + }, + "actionsRequired": { + "type": "string", + "description": "A description of any extra actions that may be required.", + "default": "None" + } + }, + "description": "Describes the current state of an existing Private Link Service connection to the Azure Private Endpoint." + } + }, + "description": "Describes the properties of an existing Private Endpoint connection to the Azure Cognitive Search service." + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of Private Endpoint connections." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size." + } + }, + "description": "Response containing a list of Private Endpoint connections.", + "x-ms-external": true + }, + "SharedPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/SharedPrivateLinkResourceProperties", + "description": "Describes the properties of a Shared Private Link Resource managed by the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceProperties": { + "properties": { + "privateLinkResourceId": { + "type": "string", + "description": "The resource id of the resource the shared private link resource is for." + }, + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "requestMessage": { + "type": "string", + "description": "The request message for requesting approval of the shared private link resource." + }, + "resourceRegion": { + "type": "string", + "description": "Optional. Can be used to specify the Azure Resource Manager location of the resource to which a shared private link is to be created. This is only required for those resources whose DNS configuration are regional (such as Azure Kubernetes Service).", + "externalDocs": { + "description": "List of all Azure resources which have a regional DNS configuration requirement can be found here.", + "url": "https://docs.microsoft.com/azure/private-link/private-endpoint-dns" + } + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected or Disconnected.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + }, + "provisioningState": { + "type": "string", + "description": "The provisioning state of the shared private link resource. Can be Updating, Deleting, Failed, Succeeded or Incomplete.", + "enum": [ + "Updating", + "Deleting", + "Failed", + "Succeeded", + "Incomplete" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceProvisioningState", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource managed by the Azure Cognitive Search service." + }, + "SharedPrivateLinkResourceListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of Shared Private Link Resources." + }, + "nextLink": { "type": "string", - "readOnly": true + "description": "The URL to get the next set of shared private link resources, if there are any." } }, - "description": "Output of check name availability API." + "description": "Response containing a list of Shared Private Link Resources.", + "x-ms-external": true }, - "AdminKeyResult": { + "PrivateLinkResourcesResult": { "properties": { - "primaryKey": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "description": "The list of supported Private Link Resources." + } + }, + "description": "Response containing a list of supported Private Link Resources.", + "x-ms-external": true + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "readOnly": true, + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" + } + ], + "description": "Describes a supported private link resource for the Azure Cognitive Search service." + }, + "PrivateLinkResourceProperties": { + "properties": { + "groupId": { "readOnly": true, "type": "string", - "description": "The primary admin API key of the Search service." + "description": "The group ID of the private link resource." }, - "secondaryKey": { + "requiredMembers": { "readOnly": true, - "type": "string", - "description": "The secondary admin API key of the Search service." + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required members of the private link resource." + }, + "requiredZoneNames": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The list of required DNS zone names of the private link resource." + }, + "shareablePrivateLinkResourceTypes": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "description": "The list of resources that are onboarded to private link service, that are supported by Azure Cognitive Search." } }, - "description": "Response containing the primary and secondary admin API keys for a given Azure Search service." + "description": "Describes the properties of a supported private link resource for the Azure Cognitive Search service. For a given API version, this represents the 'supported' groupIds when creating a shared private link resource." }, - "QueryKey": { + "ShareablePrivateLinkResourceType": { "properties": { "name": { "readOnly": true, "type": "string", - "description": "The name of the query API key; may be empty." + "description": "The name of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." }, - "key": { + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties", "readOnly": true, - "type": "string", - "description": "The value of the query API key." + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Describes an API key for a given Azure Search service that has permissions for query operations only." + "description": "Describes an resource type that has been onboarded to private link service, supported by Azure Cognitive Search." }, - "ListQueryKeysResult": { + "ShareablePrivateLinkResourceProperties": { "properties": { - "value": { + "type": { "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/QueryKey" - }, - "description": "The query keys for the Azure Search service." + "type": "string", + "description": "The resource provider type for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "groupId": { + "readOnly": true, + "type": "string", + "description": "The resource provider group id for the resource that has been onboarded to private link service, supported by Azure Cognitive Search." + }, + "description": { + "readOnly": true, + "type": "string", + "description": "The description of the resource type that has been onboarded to private link service, supported by Azure Cognitive Search." } }, - "description": "Response containing the query API keys for a given Azure Search service.", - "x-ms-external": true + "description": "Describes the properties of a resource type that has been onboarded to private link service, supported by Azure Cognitive Search." }, - "Sku": { + "SearchService": { "properties": { - "name": { - "type": "string", - "description": "The SKU of the Search service. Valid values include: 'free': Shared service. 'basic': Dedicated service with up to 3 replicas. 'standard': Dedicated service with up to 12 partitions and 12 replicas. 'standard2': Similar to standard, but with more capacity per search unit. 'standard3': Offers maximum capacity per search unit with up to 12 partitions and 12 replicas (or up to 3 partitions with more indexes if you also set the hostingMode property to 'highDensity').", - "enum": [ - "free", - "basic", - "standard", - "standard2", - "standard3" - ], - "x-ms-enum": { - "name": "SkuName", - "modelAsString": false + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SearchServiceProperties", + "description": "Properties of the search service." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", + "externalDocs": { + "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." } }, - "description": "Defines the SKU of an Azure Search Service, which determines price tier and capacity limits.", - "externalDocs": { - "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" - } + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource" + } + ], + "description": "Describes an Azure Cognitive Search service and its current state." }, - "SearchService" : { + "SearchServiceUpdate": { "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/SearchServiceProperties", - "description": "Properties of the Search service." + "description": "Properties of the search service." }, "sku": { "$ref": "#/definitions/Sku", - "description": "The SKU of the Search Service, which determines price tier and capacity limits.", + "description": "The SKU of the Search Service, which determines price tier and capacity limits. This property is required when creating a new Search Service.", "externalDocs": { "url": "https://azure.microsoft.com/documentation/articles/search-sku-tier/" } + }, + "location": { + "type": "string", + "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth). This property is required when creating a new resource.", + "externalDocs": { + "url": "https://aka.ms/search-rp-info" + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags to help categorize the resource in the Azure portal." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." } }, - "required": [ - "sku" - ], "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/Resource" } ], - "description": "Describes an Azure Search service and its current state.", - "example": { - "location": "westus", - "tags":{ - "app-name": "My e-commerce app" - }, - "sku":{ - "name": "standard" - }, - "properties":{ - "replicaCount": 3, - "partitionCount": 1, - "hostingMode": "default" - } - } + "description": "The parameters used to update an Azure Cognitive Search service." }, "SearchServiceProperties": { "properties": { @@ -850,7 +1701,7 @@ "minimum": 1, "maximum": 12, "default": 1, - "description": "The number of replicas in the Search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." + "description": "The number of replicas in the search service. If specified, it must be a value between 1 and 12 inclusive for standard SKUs or between 1 and 3 inclusive for basic SKU." }, "partitionCount": { "type": "integer", @@ -858,7 +1709,7 @@ "minimum": 1, "maximum": 12, "default": 1, - "description": "The number of partitions in the Search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." + "description": "The number of partitions in the search service; if specified, it can be 1, 2, 3, 4, 6, or 12. Values greater than 1 are only valid for standard SKUs. For 'standard3' services with hostingMode set to 'highDensity', the allowed values are between 1 and 3." }, "hostingMode": { "type": "string", @@ -873,10 +1724,23 @@ "modelAsString": false } }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "This value can be set to 'enabled' to avoid breaking changes on existing customer resources and templates. If set to 'disabled', traffic over public interface is not allowed, and private endpoint connections would be the exclusive access method.", + "enum": [ + "enabled", + "disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": false + } + }, "status": { "readOnly": true, "type": "string", - "description": "The status of the Search service. Possible values include: 'running': The Search service is running and no provisioning operations are underway. 'provisioning': The Search service is being provisioned or scaled up or down. 'deleting': The Search service is being deleted. 'degraded': The Search service is degraded. This can occur when the underlying search units are not healthy. The Search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The Search service is disabled. In this state, the service will reject all API requests. 'error': The Search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", + "description": "The status of the search service. Possible values include: 'running': The search service is running and no provisioning operations are underway. 'provisioning': The search service is being provisioned or scaled up or down. 'deleting': The search service is being deleted. 'degraded': The search service is degraded. This can occur when the underlying search units are not healthy. The search service is most likely operational, but performance might be slow and some requests might be dropped. 'disabled': The search service is disabled. In this state, the service will reject all API requests. 'error': The search service is in an error state. If your service is in the degraded, disabled, or error states, it means the Azure Cognitive Search team is actively investigating the underlying issue. Dedicated services in these states are still chargeable based on the number of search units provisioned.", "enum": [ "running", "provisioning", @@ -893,12 +1757,12 @@ "statusDetails": { "readOnly": true, "type": "string", - "description": "The details of the Search service status." + "description": "The details of the search service status." }, "provisioningState": { "readOnly": true, "type": "string", - "description": "The state of the last provisioning operation performed on the Search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create Search service. This is because the free service uses capacity that is already set up.", + "description": "The state of the last provisioning operation performed on the search service. Provisioning is an intermediate state that occurs while service capacity is being established. After capacity is set up, provisioningState changes to either 'succeeded' or 'failed'. Client applications can poll provisioning status (the recommended polling interval is from 30 seconds to one minute) by using the Get Search Service operation to see when an operation is completed. If you are using the free service, this value tends to come back as 'succeeded' directly in the call to Create search service. This is because the free service uses capacity that is already set up.", "enum": [ "succeeded", "provisioning", @@ -908,9 +1772,29 @@ "name": "ProvisioningState", "modelAsString": false } + }, + "networkRuleSet": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Network specific rules that determine how the Azure Cognitive Search service may be reached." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections to the Azure Cognitive Search service." + }, + "sharedPrivateLinkResources": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "description": "The list of shared private link resources managed by the Azure Cognitive Search service." } }, - "description": "Properties of the Search service." + "description": "Properties of the search service." }, "SearchServiceListResult": { "properties": { @@ -920,95 +1804,157 @@ "items": { "$ref": "#/definitions/SearchService" }, - "description": "The list of Search services." + "description": "The list of search services." + }, + "nextLink": { + "readOnly": true, + "type": "string", + "description": "Request URL that can be used to query next page of search services. Returned when the total number of requested search services exceed maximum page size." } }, - "description": "Response containing a list of Azure Search services.", + "description": "Response containing a list of Azure Cognitive Search services.", "x-ms-external": true }, - "Resource": { + "AsyncOperationResult": { + "type": "object", "properties": { - "id": { - "readOnly": true, - "type": "string", - "description": "The ID of the resource. This can be used with the Azure Resource Manager to link resources together.", - "externalDocs": { - "url": "https://aka.ms/search-linked-resources" - } - }, - "name": { - "readOnly": true, + "status": { "type": "string", - "description": "The name of the resource.", - "externalDocs": { - "url": "https://aka.ms/search-naming-rules" + "description": "The current status of the long running asynchronous shared private link resource operation.", + "enum": [ + "Running", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceAsyncOperationResult", + "modelAsString": true } - }, - "type": { - "readOnly": true, - "type": "string", - "description": "The resource type." - }, - "location": { - "type": "string", - "description": "The geographic location of the resource. This must be one of the supported and registered Azure Geo Regions (for example, West US, East US, Southeast Asia, and so forth).", - "externalDocs": { - "url": "https://aka.ms/search-rp-info" - }, - "x-ms-mutability": [ - "create", - "read" - ] - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Tags to help categorize the resource in the Azure portal." } }, - "required": [ - "location" - ], - "description": "Base type for all Azure resources.", - "x-ms-azure-resource": true + "description": "The details of a long running asynchronous shared private link resource operation" }, "CloudError": { "type": "object", "properties": { "error": { - "$ref": "#/definitions/CloudErrorBody" + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." } }, "description": "Contains information about an API error.", "x-ms-external": true }, "CloudErrorBody": { - "type": "object", - "description": "Describes a particular API error with an error code and a message.", - "properties": { - "code": { - "type": "string", - "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programatically handle specific error cases." + "type": "object", + "description": "Describes a particular API error with an error code and a message.", + "properties": { + "code": { + "type": "string", + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." + }, + "message": { + "type": "string", + "description": "A message that describes the error in detail and provides debugging information." + }, + "target": { + "type": "string", + "description": "The target of the particular error (for example, the name of the property in error)." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "description": "Contains nested errors that are related to this error." + } + }, + "x-ms-external": true + }, + "Operation": { + "description": "Describes a REST API operation.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation. This name is of the form {provider}/{resource}/{operation}.", + "readOnly": true, + "type": "string" + }, + "display": { + "description": "The object that describes the operation.", + "readOnly": true, + "properties": { + "provider": { + "description": "The friendly name of the resource provider.", + "readOnly": true, + "type": "string" }, - "message": { - "type": "string", - "description": "A message that describes the error in detail and provides debugging information." + "operation": { + "description": "The operation type: read, write, delete, listKeys/action, etc.", + "readOnly": true, + "type": "string" }, - "target": { - "type": "string", - "description": "The target of the particular error (for example, the name of the property in error)." + "resource": { + "description": "The resource type on which the operation is performed.", + "readOnly": true, + "type": "string" }, - "details": { - "type": "array", - "items": { - "$ref": "#/definitions/CloudErrorBody" - }, - "description": "Contains nested errors that are related to this error." + "description": { + "description": "The friendly name of the operation.", + "readOnly": true, + "type": "string" } + } + } + } + }, + "OperationListResult": { + "description": "The result of the request to list REST API operations. It contains a list of operations and a URL to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "description": "The list of operations supported by the resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "The URL to get the next set of operation list results, if any." + } + } + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." }, - "x-ms-external": true + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": false + } + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." } }, "parameters": { @@ -1025,7 +1971,31 @@ "in": "path", "required": true, "type": "string", - "description": "The name of the Azure Search service associated with the specified resource group.", + "description": "The name of the Azure Cognitive Search service associated with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionNameParameter": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the private endpoint connection to the Azure Cognitive Search service with the specified resource group.", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceNameParameter": { + "name": "sharedPrivateLinkResourceName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the shared private link resource managed by the Azure Cognitive Search service within the specified resource group.", + "x-ms-parameter-location": "method" + }, + "OperationNameParameter": { + "name": "operationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a shared private link resource operation.", "x-ms-parameter-location": "method" }, "ClientRequestIdParameter": { @@ -1037,7 +2007,9 @@ "format": "uuid", "description": "A client-generated GUID value that identifies this request. If specified, this will be included in response information as a way to track the request.", "x-ms-client-request-id": true, - "x-ms-parameter-grouping": { "name": "search-management-request-options" }, + "x-ms-parameter-grouping": { + "name": "search-management-request-options" + }, "x-ms-parameter-location": "method" }, "SubscriptionIdParameter": { @@ -1052,7 +2024,7 @@ "in": "query", "required": true, "type": "string", - "description": "The API version to use for each request. The current version is 2015-08-19." + "description": "The API version to use for each request." } } } diff --git a/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/application.json b/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/application.json index 33669cae..20c393cf 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/application.json +++ b/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/application.json @@ -3,7 +3,7 @@ "info": { "title": "ServiceFabricManagementClient", "description": "Azure Service Fabric Resource Provider API Client", - "version": "2020-03-01" + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -34,42 +34,6 @@ } ], "paths": { - "/providers/Microsoft.ServiceFabric/operations": { - "get": { - "tags": [ - "Operations" - ], - "summary": "Lists all of the available Service Fabric resource provider API operations.", - "description": "Get the list of available Service Fabric resource provider API operations.", - "operationId": "Operations_List", - "parameters": [ - { - "name": "api-version", - "in": "query", - "description": "The version of the Service Fabric resource provider API", - "required": true, - "type": "string" - } - ], - "responses": { - "200": { - "description": "OK. The request has succeeded.", - "schema": { - "$ref": "#/definitions/OperationListResult" - } - }, - "default": { - "description": "Error response describing why the operation failed.", - "schema": { - "$ref": "#/definitions/ErrorModel" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/applicationTypes/{applicationTypeName}": { "get": { "tags": [ @@ -544,6 +508,9 @@ }, "Put an application with maximum parameters": { "$ref": "./examples/ApplicationPutOperation_example_max.json" + }, + "Put an application with recreate option": { + "$ref": "./examples/ApplicationPutOperation_recreate_example.json" } }, "x-ms-long-running-operation": true, @@ -1010,16 +977,15 @@ } }, "ApplicationResource": { + "type": "object", "description": "The application resource.", "properties": { "identity": { - "$ref": "#/definitions/ManagedIdentity", - "description": "Describes the managed identities for an Azure resource." + "$ref": "#/definitions/ManagedIdentity" }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationResourceProperties", - "description": "The application resource properties." + "$ref": "#/definitions/ApplicationResourceProperties" } }, "allOf": [ @@ -1029,6 +995,7 @@ ] }, "ApplicationResourceList": { + "type": "object", "description": "The list of application resources.", "properties": { "value": { @@ -1045,6 +1012,7 @@ } }, "ApplicationResourceProperties": { + "type": "object", "description": "The application resource properties.", "allOf": [ { @@ -1058,18 +1026,17 @@ "description": "The current deployment or provisioning state, which only appears in the response" }, "typeName": { - "$ref": "#/definitions/ApplicationTypeName", - "description": "The application type name as defined in the application manifest." + "$ref": "#/definitions/ApplicationTypeName" } } }, "ApplicationResourceUpdate": { + "type": "object", "description": "The application resource for patch operations.", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationResourceUpdateProperties", - "description": "The application resource properties for patch operations." + "$ref": "#/definitions/ApplicationResourceUpdateProperties" } }, "allOf": [ @@ -1079,19 +1046,17 @@ ] }, "ApplicationResourceUpdateProperties": { + "type": "object", "description": "The application resource properties for patch operations.", "properties": { "typeVersion": { - "$ref": "#/definitions/ApplicationTypeVersion", - "description": "The version of the application type as defined in the application manifest." + "$ref": "#/definitions/ApplicationTypeVersion" }, "parameters": { - "$ref": "#/definitions/ApplicationParameterList", - "description": "List of application parameters with overridden values from their default values specified in the application manifest." + "$ref": "#/definitions/ApplicationParameterList" }, "upgradePolicy": { - "$ref": "#/definitions/ApplicationUpgradePolicy", - "description": "Describes the policy for a monitored application upgrade." + "$ref": "#/definitions/ApplicationUpgradePolicy" }, "minimumNodes": { "type": "integer", @@ -1111,8 +1076,7 @@ "description": "Remove the current application capacity settings." }, "metrics": { - "$ref": "#/definitions/ApplicationMetricDescriptionList", - "description": "List of application capacity metric description." + "$ref": "#/definitions/ApplicationMetricDescriptionList" }, "managedIdentities": { "description": "List of user assigned identities for the application, each mapped to a friendly name.", @@ -1135,12 +1099,12 @@ } }, "ApplicationTypeResource": { + "type": "object", "description": "The application type name resource", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationTypeResourceProperties", - "description": "The application type name properties" + "$ref": "#/definitions/ApplicationTypeResourceProperties" } }, "allOf": [ @@ -1150,6 +1114,7 @@ ] }, "ApplicationTypeResourceList": { + "type": "object", "description": "The list of application type names.", "properties": { "value": { @@ -1166,6 +1131,7 @@ } }, "ApplicationTypeResourceProperties": { + "type": "object", "description": "The application type name properties", "properties": { "provisioningState": { @@ -1180,12 +1146,12 @@ "description": "The version of the application type as defined in the application manifest." }, "ApplicationTypeVersionResource": { + "type": "object", "description": "An application type version resource for the specified application type name resource.", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplicationTypeVersionResourceProperties", - "description": "The properties of the application type version resource." + "$ref": "#/definitions/ApplicationTypeVersionResourceProperties" } }, "allOf": [ @@ -1195,6 +1161,7 @@ ] }, "ApplicationTypeVersionResourceList": { + "type": "object", "description": "The list of application type version resources for the specified application type name resource.", "properties": { "value": { @@ -1211,6 +1178,7 @@ } }, "ApplicationTypeVersionResourceProperties": { + "type": "object", "description": "The properties of the application type version resource.", "required": [ "appPackageUrl" @@ -1227,12 +1195,12 @@ }, "defaultParameterList": { "readOnly": true, - "$ref": "#/definitions/ApplicationTypeParameterList", - "description": "List of application type parameters that can be overridden when creating or updating the application." + "$ref": "#/definitions/ApplicationTypeParameterList" } } }, "ApplicationUpgradePolicy": { + "type": "object", "description": "Describes the policy for a monitored application upgrade.", "properties": { "upgradeReplicaSetCheckTimeout": { @@ -1240,24 +1208,25 @@ "description": "The maximum amount of time to block processing of an upgrade domain and prevent loss of availability when there are unexpected issues. When this timeout expires, processing of the upgrade domain will proceed regardless of availability loss issues. The timeout is reset at the start of each upgrade domain. Valid values are between 0 and 42949672925 inclusive. (unsigned 32-bit integer)." }, "forceRestart": { - "$ref": "#/definitions/ForceRestart", - "description": "If true, then processes are forcefully restarted during upgrade even when the code version has not changed (the upgrade only changes configuration or data)." + "$ref": "#/definitions/ForceRestart" }, "rollingUpgradeMonitoringPolicy": { - "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy", - "description": "The policy used for monitoring the application upgrade" + "$ref": "#/definitions/ArmRollingUpgradeMonitoringPolicy" }, "applicationHealthPolicy": { - "$ref": "#/definitions/ArmApplicationHealthPolicy", - "description": "Defines a health policy used to evaluate the health of an application or one of its children entities.\n" + "$ref": "#/definitions/ArmApplicationHealthPolicy" }, "upgradeMode": { - "$ref": "#/definitions/RollingUpgradeMode", - "description": "The mode used to monitor health during a rolling upgrade. The values are UnmonitoredAuto, UnmonitoredManual, and Monitored." + "$ref": "#/definitions/RollingUpgradeMode" + }, + "recreateApplication": { + "type": "boolean", + "description": "Determines whether the application should be recreated on update. If value=true, the rest of the upgrade policy parameters are not allowed and it will result in availability loss." } } }, "ApplicationUserAssignedIdentity": { + "type": "object", "required": [ "name", "principalId" @@ -1284,6 +1253,7 @@ }, "maxPercentUnhealthyDeployedApplications": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of unhealthy deployed applications. Allowed values are Byte values from zero to 100.\nThe percentage represents the maximum tolerated percentage of deployed applications that can be unhealthy before the application is considered in error.\nThis is calculated by dividing the number of unhealthy deployed applications over the number of nodes where the application is currently deployed on in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n", "default": 0 }, @@ -1298,6 +1268,7 @@ } }, "ArmRollingUpgradeMonitoringPolicy": { + "type": "object", "description": "The policy used for monitoring the application upgrade", "properties": { "failureAction": { @@ -1323,24 +1294,19 @@ } }, "healthCheckWaitDuration": { - "$ref": "#/definitions/HealthCheckWaitDuration", - "description": "The amount of time to wait after completing an upgrade domain before applying health policies. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "$ref": "#/definitions/HealthCheckWaitDuration" }, "healthCheckStableDuration": { - "$ref": "#/definitions/HealthCheckStableDuration", - "description": "The amount of time that the application or cluster must remain healthy before the upgrade proceeds to the next upgrade domain. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "$ref": "#/definitions/HealthCheckStableDuration" }, "healthCheckRetryTimeout": { - "$ref": "#/definitions/HealthCheckRetryTimeout", - "description": "The amount of time to retry health evaluation when the application or cluster is unhealthy before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "$ref": "#/definitions/HealthCheckRetryTimeout" }, "upgradeTimeout": { - "$ref": "#/definitions/UpgradeTimeout", - "description": "The amount of time the overall upgrade has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "$ref": "#/definitions/UpgradeTimeout" }, "upgradeDomainTimeout": { - "$ref": "#/definitions/UpgradeDomainTimeout", - "description": "The amount of time each upgrade domain has to complete before FailureAction is executed. It is first interpreted as a string representing an ISO 8601 duration. If that fails, then it is interpreted as a number representing the total number of milliseconds." + "$ref": "#/definitions/UpgradeDomainTimeout" } } }, @@ -1350,6 +1316,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1357,6 +1324,7 @@ }, "maxPercentUnhealthyPartitionsPerService": { "type": "integer", + "format": "int32", "description": "The maximum percentage of partitions per service allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1364,6 +1332,7 @@ }, "maxPercentUnhealthyReplicasPerPartition": { "type": "integer", + "format": "int32", "description": "The maximum percentage of replicas per partition allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1378,27 +1347,6 @@ "$ref": "#/definitions/ArmServiceTypeHealthPolicy" } }, - "AvailableOperationDisplay": { - "properties": { - "provider": { - "type": "string", - "description": "The name of the provider." - }, - "resource": { - "type": "string", - "description": "The resource on which the operation is performed" - }, - "operation": { - "type": "string", - "description": "The operation that can be performed." - }, - "description": { - "type": "string", - "description": "Operation description" - } - }, - "description": "Operation supported by the Service Fabric resource provider" - }, "CorrelationSchemeList": { "type": "array", "items": { @@ -1427,6 +1375,7 @@ "default": "0" }, "ManagedIdentity": { + "type": "object", "description": "Describes the managed identities for an Azure resource.", "properties": { "principalId": { @@ -1440,12 +1389,10 @@ "description": "The tenant id of the managed identity. This property will only be provided for a system assigned identity." }, "type": { - "$ref": "#/definitions/ManagedIdentityType", - "description": "The type of managed identity for the resource." + "$ref": "#/definitions/ManagedIdentityType" }, "userAssignedIdentities": { - "$ref": "#/definitions/UserAssignedIdentityMap", - "description": "The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form:\n'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.\n" + "$ref": "#/definitions/UserAssignedIdentityMap" } } }, @@ -1514,6 +1461,7 @@ } }, "NamedPartitionSchemeDescription": { + "type": "object", "description": "Describes the named partition scheme of the service.", "allOf": [ { @@ -1532,6 +1480,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "names": { @@ -1543,44 +1492,6 @@ } } }, - "OperationListResult": { - "properties": { - "value": { - "type": "array", - "description": "List of operations supported by the Service Fabric resource provider.", - "items": { - "$ref": "#/definitions/OperationResult" - } - }, - "nextLink": { - "type": "string", - "description": "URL to get the next set of operation list results if there are any.", - "readOnly": true - } - }, - "description": "Describes the result of the request to list Service Fabric resource provider operations." - }, - "OperationResult": { - "properties": { - "name": { - "type": "string", - "description": "The name of the operation." - }, - "display": { - "$ref": "#/definitions/AvailableOperationDisplay", - "description": "The object that represents the operation." - }, - "origin": { - "type": "string", - "description": "Origin result" - }, - "nextLink": { - "type": "string", - "description": "The URL to use for getting the next set of results." - } - }, - "description": "Available operation list result" - }, "PartitionScheme": { "type": "string", "description": "Enumerates the ways that a service can be partitioned.", @@ -1628,6 +1539,7 @@ } }, "ProxyResource": { + "type": "object", "properties": { "id": { "type": "string", @@ -1667,6 +1579,9 @@ "type": "string", "description": "Azure resource etag.", "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData" } }, "description": "The resource model definition for proxy-only resource.", @@ -1799,14 +1714,17 @@ }, "primaryDefaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Primary replica." }, "secondaryDefaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateful services. The default amount of load, as a number, that this service creates for this metric when it is a Secondary replica." }, "defaultLoad": { "type": "integer", + "format": "int32", "description": "Used only for Stateless services. The default amount of load, as a number, that this service creates for this metric." } } @@ -1870,8 +1788,7 @@ ], "properties": { "type": { - "$ref": "#/definitions/ServicePlacementPolicyType", - "description": "The type of placement policy for a service fabric service. Following are the possible values." + "$ref": "#/definitions/ServicePlacementPolicyType" } } }, @@ -1918,12 +1835,12 @@ } }, "ServiceResource": { + "type": "object", "description": "The service resource.", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ServiceResourceProperties", - "description": "The service resource properties." + "$ref": "#/definitions/ServiceResourceProperties" } }, "allOf": [ @@ -1933,6 +1850,7 @@ ] }, "ServiceResourceList": { + "type": "object", "description": "The list of service resources.", "properties": { "value": { @@ -1949,6 +1867,7 @@ } }, "ServiceResourceProperties": { + "type": "object", "description": "The service resource properties.", "allOf": [ { @@ -1966,16 +1885,14 @@ "description": "The current deployment or provisioning state, which only appears in the response" }, "serviceKind": { - "$ref": "#/definitions/ServiceKind", - "description": "The kind of service (Stateless or Stateful)." + "$ref": "#/definitions/ServiceKind" }, "serviceTypeName": { "type": "string", "description": "The name of the service type" }, "partitionDescription": { - "$ref": "#/definitions/PartitionSchemeDescription", - "description": "Describes how the service is partitioned." + "$ref": "#/definitions/PartitionSchemeDescription" }, "servicePackageActivationMode": { "type": "string", @@ -2006,6 +1923,7 @@ } }, "ServiceResourcePropertiesBase": { + "type": "object", "description": "The common service resource properties.", "properties": { "placementConstraints": { @@ -2013,30 +1931,26 @@ "description": "The placement constraints as a string. Placement constraints are boolean expressions on node properties and allow for restricting a service to particular nodes based on the service requirements. For example, to place a service on nodes where NodeType is blue specify the following: \"NodeColor == blue)\"." }, "correlationScheme": { - "$ref": "#/definitions/CorrelationSchemeList", - "description": "A list that describes the correlation of the service with other services." + "$ref": "#/definitions/CorrelationSchemeList" }, "serviceLoadMetrics": { - "$ref": "#/definitions/ServiceLoadMetricsList", - "description": "The service load metrics is given as an array of ServiceLoadMetricDescription objects." + "$ref": "#/definitions/ServiceLoadMetricsList" }, "servicePlacementPolicies": { - "$ref": "#/definitions/ServicePlacementPoliciesList", - "description": "A list that describes the correlation of the service with other services." + "$ref": "#/definitions/ServicePlacementPoliciesList" }, "defaultMoveCost": { - "$ref": "#/definitions/MoveCost", - "description": "Specifies the move cost for the service." + "$ref": "#/definitions/MoveCost" } } }, "ServiceResourceUpdate": { + "type": "object", "description": "The service resource for patch operations.", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ServiceResourceUpdateProperties", - "description": "The service resource properties for patch operations." + "$ref": "#/definitions/ServiceResourceUpdateProperties" } }, "allOf": [ @@ -2046,6 +1960,7 @@ ] }, "ServiceResourceUpdateProperties": { + "type": "object", "description": "The service resource properties for patch operations.", "allOf": [ { @@ -2058,8 +1973,7 @@ "discriminator": "serviceKind", "properties": { "serviceKind": { - "$ref": "#/definitions/ServiceKind", - "description": "The kind of service (Stateless or Stateful)." + "$ref": "#/definitions/ServiceKind" } } }, @@ -2077,6 +1991,7 @@ "x-ms-discriminator-value": "Singleton" }, "StatefulServiceProperties": { + "type": "object", "description": "The properties of a stateful service resource.", "allOf": [ { @@ -2091,11 +2006,13 @@ }, "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2117,6 +2034,7 @@ } }, "StatefulServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateful service resource for patch operations.", "allOf": [ { @@ -2127,11 +2045,13 @@ "properties": { "targetReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The target replica set size as a number." }, "minReplicaSetSize": { "type": "integer", + "format": "int32", "minimum": 1, "description": "The minimum replica set size as a number." }, @@ -2153,6 +2073,7 @@ } }, "StatelessServiceProperties": { + "type": "object", "description": "The properties of a stateless service resource.", "allOf": [ { @@ -2163,6 +2084,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2173,6 +2095,7 @@ } }, "StatelessServiceUpdateProperties": { + "type": "object", "description": "The properties of a stateless service resource for patch operations.", "allOf": [ { @@ -2183,6 +2106,7 @@ "properties": { "instanceCount": { "type": "integer", + "format": "int32", "minimum": -1, "description": "The instance count." }, @@ -2193,6 +2117,7 @@ } }, "UserAssignedIdentity": { + "type": "object", "properties": { "principalId": { "type": "string", @@ -2214,6 +2139,7 @@ } }, "UniformInt64RangePartitionSchemeDescription": { + "type": "object", "description": "Describes a partitioning scheme where an integer range is allocated evenly across a number of partitions.", "allOf": [ { @@ -2233,6 +2159,7 @@ "properties": { "count": { "type": "integer", + "format": "int32", "description": "The number of partitions." }, "lowKey": { @@ -2256,15 +2183,16 @@ "default": "P10675199DT02H48M05.4775807S" }, "ErrorModel": { + "type": "object", "properties": { "error": { - "$ref": "#/definitions/ErrorModelError", - "description": "The error details." + "$ref": "#/definitions/ErrorModelError" } }, "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -2276,19 +2204,52 @@ } }, "description": "The error details." + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + } } }, "parameters": { "api-version": { "name": "api-version", "in": "query", - "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2020-03-01\" for this specification.", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2021-06-01\" for this specification.", "required": true, "type": "string", "enum": [ - "2020-03-01" + "2021-06-01" ], - "default": "2020-03-01", + "default": "2021-06-01", "x-ms-parameter-location": "client" }, "applicationName": { diff --git a/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/cluster.json b/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/cluster.json index 9ef76c65..7f1b23b6 100644 --- a/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/cluster.json +++ b/App_Data/SwaggerSpecs/Microsoft.ServiceFabric/cluster.json @@ -3,7 +3,7 @@ "info": { "title": "ServiceFabricManagementClient", "description": "Azure Service Fabric Resource Provider API Client", - "version": "2020-03-01" + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -347,6 +347,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -387,6 +393,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -421,6 +433,12 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -458,6 +476,67 @@ "schema": { "$ref": "#/definitions/ClusterCodeVersionsListResult" } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceFabric/clusters/{clusterName}/listUpgradableVersions": { + "post": { + "operationId": "Clusters_ListUpgradableVersions", + "summary": "Operation to get the minimum and maximum upgradable version from the current cluster version, or the required path to get to the an specific target version.", + "description": "If a target is not provided, it will get the minimum and maximum versions available from the current cluster version. If a target is given, it will provide the required path to get from the current cluster version to the target version.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/clusterNameParameter" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "versionsDescription", + "in": "body", + "description": "The upgrade path description with target version.", + "schema": { + "$ref": "#/definitions/UpgradableVersionsDescription" + }, + "x-ms-parameter-location": "method" + } + ], + "x-ms-examples": { + "Get upgrade path": { + "$ref": "./examples/ListUpgradableVersionsPath_example.json" + }, + "Get minimum and maximum code versions": { + "$ref": "./examples/ListUpgradableVersionsMinMax_example.json" + } + }, + "tags": [ + "ListUpgradableVersions" + ], + "responses": { + "200": { + "description": "The operation completed successfully.", + "schema": { + "$ref": "#/definitions/UpgradableVersionPathResult" + } + }, + "default": { + "description": "The detailed error response.", + "schema": { + "$ref": "#/definitions/ErrorModel" + } } } } @@ -511,12 +590,14 @@ ] }, "ApplicationTypeVersionsCleanupPolicy": { + "type": "object", "required": [ "maxUnusedVersionsToKeep" ], "properties": { "maxUnusedVersionsToKeep": { "type": "integer", + "format": "int64", "minimum": 0, "description": "Number of unused versions per application type to keep." } @@ -565,6 +646,7 @@ } }, "AvailableOperationDisplay": { + "type": "object", "properties": { "provider": { "type": "string", @@ -586,6 +668,7 @@ "description": "Operation supported by the Service Fabric resource provider" }, "AzureActiveDirectory": { + "type": "object", "properties": { "tenantId": { "type": "string", @@ -603,6 +686,7 @@ "description": "The settings to enable AAD authentication on the cluster." }, "CertificateDescription": { + "type": "object", "required": [ "thumbprint" ], @@ -616,13 +700,13 @@ "description": "Thumbprint of the secondary certificate." }, "x509StoreName": { - "$ref": "#/definitions/StoreName", - "description": "The local certificate store location." + "$ref": "#/definitions/StoreName" } }, "description": "Describes the certificate details." }, "ClientCertificateCommonName": { + "type": "object", "required": [ "certificateCommonName", "isAdmin", @@ -645,6 +729,7 @@ "description": "Describes the client certificate details using common name." }, "ClientCertificateThumbprint": { + "type": "object", "required": [ "certificateThumbprint", "isAdmin" @@ -672,18 +757,19 @@ "$ref": "#/definitions/Resource" }, { - "type": "object", - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterProperties", - "description": "The cluster resource properties" - } - } + "type": "object" } - ] + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ClusterProperties", + "description": "The cluster resource properties" + } + } }, "ClusterCodeVersionsListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -699,6 +785,7 @@ "description": "The list results of the Service Fabric runtime versions." }, "ClusterCodeVersionsResult": { + "type": "object", "properties": { "id": { "type": "string", @@ -714,8 +801,7 @@ }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterVersionDetails", - "description": "The detail of the Service Fabric runtime version result" + "$ref": "#/definitions/ClusterVersionDetails" } }, "description": "The result of the Service Fabric runtime versions" @@ -734,6 +820,7 @@ "properties": { "maxPercentUnhealthyNodes": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of unhealthy nodes before reporting an error. For example, to allow 10% of nodes to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of nodes that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy node, the health is evaluated as Warning.\nThe percentage is calculated by dividing the number of unhealthy nodes over the total number of nodes in the cluster.\nThe computation rounds up to tolerate one failure on small numbers of nodes. Default percentage is zero.\n\nIn large clusters, some nodes will always be down or out for repairs, so this percentage should be configured to tolerate that.\n", "default": 0, "minimum": 0, @@ -741,6 +828,7 @@ }, "maxPercentUnhealthyApplications": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of unhealthy applications before reporting an error. For example, to allow 10% of applications to be unhealthy, this value would be 10.\n\nThe percentage represents the maximum tolerated percentage of applications that can be unhealthy before the cluster is considered in error.\nIf the percentage is respected but there is at least one unhealthy application, the health is evaluated as Warning.\nThis is calculated by dividing the number of unhealthy applications over the total number of application instances in the cluster, excluding applications of application types that are included in the ApplicationTypeHealthPolicyMap.\nThe computation rounds up to tolerate one failure on small numbers of applications. Default percentage is zero.\n", "default": 0, "minimum": 0, @@ -753,6 +841,7 @@ } }, "ClusterListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -768,6 +857,7 @@ "description": "Cluster list results" }, "ClusterProperties": { + "type": "object", "required": [ "managementEndpoint", "nodeTypes" @@ -797,8 +887,7 @@ "description": "The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client." }, "certificateCommonNames": { - "$ref": "#/definitions/ServerCertificateCommonNames", - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "$ref": "#/definitions/ServerCertificateCommonNames" }, "clientCertificateCommonNames": { "type": "array", @@ -830,8 +919,7 @@ }, "clusterState": { "readOnly": true, - "$ref": "#/definitions/ClusterState", - "description": "The current state of the cluster.\n\n - WaitingForNodes - Indicates that the cluster resource is created and the resource provider is waiting for Service Fabric VM extension to boot up and report to it.\n - Deploying - Indicates that the Service Fabric runtime is being installed on the VMs. Cluster resource will be in this state until the cluster boots up and system services are up.\n - BaselineUpgrade - Indicates that the cluster is upgrading to establishes the cluster version. This upgrade is automatically initiated when the cluster boots up for the first time.\n - UpdatingUserConfiguration - Indicates that the cluster is being upgraded with the user provided configuration.\n - UpdatingUserCertificate - Indicates that the cluster is being upgraded with the user provided certificate.\n - UpdatingInfrastructure - Indicates that the cluster is being upgraded with the latest Service Fabric runtime version. This happens only when the **upgradeMode** is set to 'Automatic'.\n - EnforcingClusterVersion - Indicates that cluster is on a different version than expected and the cluster is being upgraded to the expected version.\n - UpgradeServiceUnreachable - Indicates that the system service in the cluster is no longer polling the Resource Provider. Clusters in this state cannot be managed by the Resource Provider.\n - AutoScale - Indicates that the ReliabilityLevel of the cluster is being adjusted.\n - Ready - Indicates that the cluster is in a stable state.\n" + "$ref": "#/definitions/ClusterState" }, "diagnosticsStorageAccountConfig": { "$ref": "#/definitions/DiagnosticsStorageAccountConfig", @@ -875,24 +963,21 @@ } }, "reliabilityLevel": { - "$ref": "#/definitions/ReliabilityLevel", - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n" + "$ref": "#/definitions/ReliabilityLevel" }, "reverseProxyCertificate": { "$ref": "#/definitions/CertificateDescription", "description": "The server certificate used by reverse proxy." }, "reverseProxyCertificateCommonNames": { - "$ref": "#/definitions/ServerCertificateCommonNames", - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "$ref": "#/definitions/ServerCertificateCommonNames" }, "upgradeDescription": { "$ref": "#/definitions/ClusterUpgradePolicy", "description": "The policy to use when upgrading the cluster." }, "upgradeMode": { - "$ref": "#/definitions/UpgradeMode", - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n" + "$ref": "#/definitions/UpgradeMode" }, "applicationTypeVersionsCleanupPolicy": { "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy", @@ -901,11 +986,47 @@ "vmImage": { "type": "string", "description": "The VM image VMSS has been configured with. Generic names such as Windows or Linux can be used." + }, + "sfZonalUpgradeMode": { + "$ref": "#/definitions/SfZonalUpgradeMode" + }, + "vmssZonalUpgradeMode": { + "$ref": "#/definitions/VmssZonalUpgradeMode" + }, + "infrastructureServiceManager": { + "type": "boolean", + "description": "Indicates if infrastructure service manager is enabled." + }, + "upgradeWave": { + "$ref": "#/definitions/ClusterUpgradeCadence", + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **upgradeMode** is set to 'Automatic'." + }, + "upgradePauseStartTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Indicates the start date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC)." + }, + "upgradePauseEndTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "Indicates the end date and time to pause automatic runtime version upgrades on the cluster for an specific period of time on the cluster (UTC)." + }, + "waveUpgradePaused": { + "type": "boolean", + "description": "Boolean to pause automatic runtime version upgrades to the cluster." + }, + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" + }, + "description": "Indicates a list of notification channels for cluster events." } }, "description": "Describes the cluster resource properties." }, "ClusterPropertiesUpdateParameters": { + "type": "object", "properties": { "addOnFeatures": { "type": "array", @@ -919,8 +1040,7 @@ "description": "The certificate to use for securing the cluster. The certificate provided will be used for node to node security within the cluster, SSL certificate for cluster management endpoint and default admin client." }, "certificateCommonNames": { - "$ref": "#/definitions/ServerCertificateCommonNames", - "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster." + "$ref": "#/definitions/ServerCertificateCommonNames" }, "clientCertificateCommonNames": { "type": "array", @@ -959,8 +1079,7 @@ } }, "reliabilityLevel": { - "$ref": "#/definitions/ReliabilityLevel", - "description": "The reliability level sets the replica set size of system services. Learn about [ReliabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - None - Run the System services with a target replica set count of 1. This should only be used for test clusters.\n - Bronze - Run the System services with a target replica set count of 3. This should only be used for test clusters.\n - Silver - Run the System services with a target replica set count of 5.\n - Gold - Run the System services with a target replica set count of 7.\n - Platinum - Run the System services with a target replica set count of 9.\n" + "$ref": "#/definitions/ReliabilityLevel" }, "reverseProxyCertificate": { "$ref": "#/definitions/CertificateDescription", @@ -970,13 +1089,47 @@ "$ref": "#/definitions/ClusterUpgradePolicy", "description": "The policy to use when upgrading the cluster." }, - "upgradeMode": { - "$ref": "#/definitions/UpgradeMode", - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n" - }, "applicationTypeVersionsCleanupPolicy": { "$ref": "#/definitions/ApplicationTypeVersionsCleanupPolicy", "description": "The policy used to clean up unused versions." + }, + "upgradeMode": { + "$ref": "#/definitions/UpgradeMode" + }, + "sfZonalUpgradeMode": { + "$ref": "#/definitions/SfZonalUpgradeMode" + }, + "vmssZonalUpgradeMode": { + "$ref": "#/definitions/VmssZonalUpgradeMode" + }, + "infrastructureServiceManager": { + "type": "boolean", + "description": "Indicates if infrastructure service manager is enabled." + }, + "upgradeWave": { + "$ref": "#/definitions/ClusterUpgradeCadence", + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0. Only applies when **upgradeMode** is set to 'Automatic'." + }, + "upgradePauseStartTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "The start timestamp to pause runtime version upgrades on the cluster (UTC)." + }, + "upgradePauseEndTimestampUtc": { + "type": "string", + "format": "date-time", + "description": "The end timestamp of pause runtime version upgrades on the cluster (UTC)." + }, + "waveUpgradePaused": { + "type": "boolean", + "description": "Boolean to pause automatic runtime version upgrades to the cluster." + }, + "notifications": { + "type": "array", + "items": { + "$ref": "#/definitions/Notification" + }, + "description": "Indicates a list of notification channels for cluster events." } }, "description": "Describes the cluster resource properties that can be updated during PATCH operation." @@ -998,11 +1151,11 @@ ] }, "ClusterUpdateParameters": { + "type": "object", "properties": { "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/ClusterPropertiesUpdateParameters", - "description": "Describes the cluster resource properties that can be updated during PATCH operation." + "$ref": "#/definitions/ClusterPropertiesUpdateParameters" }, "tags": { "type": "object", @@ -1015,6 +1168,7 @@ "description": "Cluster update request" }, "ClusterUpgradeDeltaHealthPolicy": { + "type": "object", "description": "Describes the delta health policies for the cluster upgrade.", "required": [ "maxPercentDeltaUnhealthyApplications", @@ -1024,18 +1178,21 @@ "properties": { "maxPercentDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the nodes at the beginning of upgrade and the state of the nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n", "minimum": 0, "maximum": 100 }, "maxPercentUpgradeDomainDeltaUnhealthyNodes": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of upgrade domain nodes health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the upgrade domain nodes at the beginning of upgrade and the state of the upgrade domain nodes at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion for all completed upgrade domains to make sure the state of the upgrade domains is within tolerated limits.\n", "minimum": 0, "maximum": 100 }, "maxPercentDeltaUnhealthyApplications": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of applications health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the applications at the beginning of upgrade and the state of the applications at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits. System services are not included in this.\n", "minimum": 0, "maximum": 100 @@ -1046,7 +1203,35 @@ } } }, + "ClusterUpgradeCadence": { + "type": "string", + "enum": [ + "Wave0", + "Wave1", + "Wave2" + ], + "x-ms-enum": { + "name": "clusterUpgradeCadence", + "modelAsString": true, + "values": [ + { + "value": "Wave0", + "description": "Cluster upgrade starts immediately after a new version is rolled out. Recommended for Test/Dev clusters." + }, + { + "value": "Wave1", + "description": "Cluster upgrade starts 7 days after a new version is rolled out. Recommended for Pre-prod clusters." + }, + { + "value": "Wave2", + "description": "Cluster upgrade starts 14 days after a new version is rolled out. Recommended for Production clusters." + } + ] + }, + "description": "Indicates when new cluster runtime version upgrades will be applied after they are released. By default is Wave0." + }, "ClusterUpgradePolicy": { + "type": "object", "required": [ "healthCheckRetryTimeout", "healthCheckStableDuration", @@ -1097,6 +1282,7 @@ "description": "Describes the policy used when upgrading the cluster." }, "ClusterVersionDetails": { + "type": "object", "properties": { "codeVersion": { "type": "string", @@ -1114,6 +1300,7 @@ "description": "The detail of the Service Fabric runtime version result" }, "DiagnosticsStorageAccountConfig": { + "type": "object", "required": [ "blobEndpoint", "protectedAccountKeyName", @@ -1159,6 +1346,7 @@ ] }, "EndpointRangeDescription": { + "type": "object", "required": [ "endPort", "startPort" @@ -1166,16 +1354,19 @@ "properties": { "startPort": { "type": "integer", + "format": "int32", "description": "Starting port of a range of ports" }, "endPort": { "type": "integer", + "format": "int32", "description": "End port of a range of ports" } }, "description": "Port range details" }, "NodeTypeDescription": { + "type": "object", "required": [ "clientConnectionEndpointPort", "httpGatewayEndpointPort", @@ -1206,15 +1397,16 @@ }, "clientConnectionEndpointPort": { "type": "integer", + "format": "int32", "description": "The TCP cluster management endpoint port." }, "httpGatewayEndpointPort": { "type": "integer", + "format": "int32", "description": "The HTTP cluster management endpoint port." }, "durabilityLevel": { - "$ref": "#/definitions/DurabilityLevel", - "description": "The durability level of the node type. Learn about [DurabilityLevel](https://docs.microsoft.com/azure/service-fabric/service-fabric-cluster-capacity).\n\n - Bronze - No privileges. This is the default.\n - Silver - The infrastructure jobs can be paused for a duration of 10 minutes per UD.\n - Gold - The infrastructure jobs can be paused for a duration of 2 hours per UD. Gold durability can be enabled only on full node VM skus like D15_V2, G5 etc.\n" + "$ref": "#/definitions/DurabilityLevel" }, "applicationPorts": { "$ref": "#/definitions/EndpointRangeDescription", @@ -1230,18 +1422,130 @@ }, "vmInstanceCount": { "type": "integer", - "description": "The number of nodes in the node type. This count should match the capacity property in the corresponding VirtualMachineScaleSet resource.", - "minimum": 1, + "format": "int32", + "description": "VMInstanceCount should be 1 to n, where n indicates the number of VM instances corresponding to this nodeType. VMInstanceCount = 0 can be done only in these scenarios: NodeType is a secondary nodeType. Durability = Bronze or Durability >= Bronze and InfrastructureServiceManager = true. If VMInstanceCount = 0, implies the VMs for this nodeType will not be used for the initial cluster size computation.", + "minimum": 0, "maximum": 2147483647 }, "reverseProxyEndpointPort": { "type": "integer", + "format": "int32", "description": "The endpoint used by reverse proxy." + }, + "isStateless": { + "type": "boolean", + "description": "Indicates if the node type can only host Stateless workloads." + }, + "multipleAvailabilityZones": { + "type": "boolean", + "description": "Indicates if the node type is enabled to support multiple zones." } }, "description": "Describes a node type in the cluster, each node type represents sub set of nodes in the cluster." }, + "Notification": { + "type": "object", + "required": [ + "isEnabled", + "notificationCategory", + "notificationLevel", + "notificationTargets" + ], + "properties": { + "isEnabled": { + "type": "boolean", + "description": "Indicates if the notification is enabled." + }, + "notificationCategory": { + "type": "string", + "description": "The category of notification.", + "enum": [ + "WaveProgress" + ], + "x-ms-enum": { + "name": "notificationCategory", + "modelAsString": true, + "values": [ + { + "value": "WaveProgress", + "description": "Notification will be regarding wave progress." + } + ] + } + }, + "notificationLevel": { + "type": "string", + "description": "The level of notification.", + "enum": [ + "Critical", + "All" + ], + "x-ms-enum": { + "name": "notificationLevel", + "modelAsString": true, + "values": [ + { + "value": "Critical", + "description": "Receive only critical notifications." + }, + { + "value": "All", + "description": "Receive all notifications." + } + ] + } + }, + "notificationTargets": { + "type": "array", + "items": { + "$ref": "#/definitions/NotificationTarget" + }, + "description": "List of targets that subscribe to the notification." + } + }, + "description": "Describes the notification channel for cluster events." + }, + "NotificationTarget": { + "type": "object", + "required": [ + "notificationChannel", + "receivers" + ], + "properties": { + "notificationChannel": { + "type": "string", + "description": "The notification channel indicates the type of receivers subscribed to the notification, either user or subscription.", + "enum": [ + "EmailUser", + "EmailSubscription" + ], + "x-ms-enum": { + "name": "notificationChannel", + "modelAsString": true, + "values": [ + { + "value": "EmailUser", + "description": "For email user receivers. In this case, the parameter receivers should be a list of email addresses that will receive the notifications." + }, + { + "value": "EmailSubscription", + "description": "For subscription receivers. In this case, the parameter receivers should be a list of roles of the subscription for the cluster (eg. Owner, AccountAdmin, etc) that will receive the notifications." + } + ] + } + }, + "receivers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of targets that subscribe to the notification." + } + }, + "description": "Describes the notification target properties." + }, "OperationListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -1259,11 +1563,16 @@ "description": "Describes the result of the request to list Service Fabric resource provider operations." }, "OperationResult": { + "type": "object", "properties": { "name": { "type": "string", "description": "The name of the operation." }, + "isDataAction": { + "type": "boolean", + "description": "Indicates whether the operation is a data action" + }, "display": { "$ref": "#/definitions/AvailableOperationDisplay", "description": "The object that represents the operation." @@ -1291,6 +1600,7 @@ ] }, "Resource": { + "type": "object", "required": [ "location" ], @@ -1329,12 +1639,16 @@ "type": "string", "description": "Azure resource etag.", "readOnly": true + }, + "systemData": { + "$ref": "#/definitions/SystemData" } }, "description": "The resource model definition.", "x-ms-azure-resource": true }, "ServerCertificateCommonName": { + "type": "object", "description": "Describes the server certificate details using common name.", "required": [ "certificateCommonName", @@ -1352,6 +1666,7 @@ } }, "ServerCertificateCommonNames": { + "type": "object", "description": "Describes a list of server certificates referenced by common name that are used to secure the cluster.", "properties": { "commonNames": { @@ -1362,8 +1677,7 @@ } }, "x509StoreName": { - "$ref": "#/definitions/StoreName", - "description": "The local certificate store location." + "$ref": "#/definitions/StoreName" } } }, @@ -1373,6 +1687,7 @@ "properties": { "maxPercentDeltaUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum allowed percentage of services health degradation allowed during cluster upgrades.\nThe delta is measured between the state of the services at the beginning of upgrade and the state of the services at the time of the health evaluation.\nThe check is performed after every upgrade domain upgrade completion to make sure the global state of the cluster is within tolerated limits.\n", "default": 0, "minimum": 0, @@ -1388,6 +1703,7 @@ } }, "SettingsParameterDescription": { + "type": "object", "required": [ "name", "value" @@ -1405,6 +1721,7 @@ "description": "Describes a parameter in fabric settings of the cluster." }, "SettingsSectionDescription": { + "type": "object", "required": [ "name", "parameters" @@ -1438,24 +1755,109 @@ "TrustedPublisher" ] }, + "UpgradableVersionPathResult": { + "type": "object", + "properties": { + "supportedPath": { + "type": "array", + "items": { + "type": "string", + "description": "The cluster code version." + } + } + }, + "description": "The list of intermediate cluster code versions for an upgrade or downgrade. Or minimum and maximum upgradable version if no target was given" + }, + "UpgradableVersionsDescription": { + "type": "object", + "required": [ + "targetVersion" + ], + "properties": { + "targetVersion": { + "type": "string", + "description": "The target code version." + } + } + }, "UpgradeMode": { "type": "string", - "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.\n\n - Automatic - The cluster will be automatically upgraded to the latest Service Fabric runtime version as soon as it is available.\n - Manual - The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource.\n", + "description": "The upgrade mode of the cluster when new Service Fabric runtime version is available.", "enum": [ "Automatic", "Manual" - ] + ], + "default": "Automatic", + "x-ms-enum": { + "name": "UpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Automatic", + "description": "The cluster will be automatically upgraded to the latest Service Fabric runtime version, **upgradeWave** will determine when the upgrade starts after the new version becomes available." + }, + { + "value": "Manual", + "description": "The cluster will not be automatically upgraded to the latest Service Fabric runtime version. The cluster is upgraded by setting the **clusterCodeVersion** property in the cluster resource." + } + ] + } + }, + "SfZonalUpgradeMode": { + "type": "string", + "enum": [ + "Parallel", + "Hierarchical" + ], + "x-ms-enum": { + "name": "sfZonalUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Parallel", + "description": "VMs under the node type are grouped into UDs and ignore the zone info in five UDs. This setting causes UDs across all zones to be upgraded at the same time. This deployment mode is faster for upgrades, we don't recommend it because it goes against the SDP guidelines, which state that the updates should be applied to one zone at a time." + }, + { + "value": "Hierarchical", + "description": "If this value is omitted or set to Hierarchical, VMs are grouped to reflect the zonal distribution in up to 15 UDs. Each of the three zones has five UDs. This ensures that the zones are updated one at a time, moving to next zone only after completing five UDs within the first zone. This update process is safer for the cluster and the user application." + } + ] + }, + "description": "This property controls the logical grouping of VMs in upgrade domains (UDs). This property can't be modified if a node type with multiple Availability Zones is already present in the cluster." + }, + "VmssZonalUpgradeMode": { + "type": "string", + "enum": [ + "Parallel", + "Hierarchical" + ], + "x-ms-enum": { + "name": "vmssZonalUpgradeMode", + "modelAsString": true, + "values": [ + { + "value": "Parallel", + "description": "Updates will happen in all Availability Zones at once for the virtual machine scale sets." + }, + { + "value": "Hierarchical", + "description": "VMs are grouped to reflect the zonal distribution in up to 15 UDs. Each of the three zones has five UDs. This ensures that the zones are updated one at a time, moving to next zone only after completing five UDs within the first zone." + } + ] + }, + "description": "This property defines the upgrade mode for the virtual machine scale set, it is mandatory if a node type with multiple Availability Zones is added." }, "ErrorModel": { + "type": "object", "properties": { "error": { - "$ref": "#/definitions/ErrorModelError", - "description": "The error details." + "$ref": "#/definitions/ErrorModelError" } }, "description": "The structure of the error." }, "ErrorModelError": { + "type": "object", "properties": { "code": { "type": "string", @@ -1474,6 +1876,7 @@ "properties": { "maxPercentUnhealthyServices": { "type": "integer", + "format": "int32", "description": "The maximum percentage of services allowed to be unhealthy before your application is considered in error.\n", "default": 0, "minimum": 0, @@ -1487,19 +1890,52 @@ "additionalProperties": { "$ref": "#/definitions/ServiceTypeHealthPolicy" } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the resource." + }, + "createdByType": { + "type": "string", + "description": "The type of identity that created the resource." + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the resource." + }, + "lastModifiedByType": { + "type": "string", + "description": "The type of identity that last modified the resource." + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)." + } + } } }, "parameters": { "api-version": { "name": "api-version", "in": "query", - "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2020-03-01\" for this specification.", + "description": "The version of the Service Fabric resource provider API. This is a required parameter and it's value must be \"2021-06-01\" for this specification.", "required": true, "type": "string", "enum": [ - "2020-03-01" + "2021-06-01" ], - "default": "2020-03-01", + "default": "2021-06-01", "x-ms-parameter-location": "client" }, "clusterNameParameter": { diff --git a/App_Data/SwaggerSpecs/Microsoft.Solutions/managedapplications.json b/App_Data/SwaggerSpecs/Microsoft.Solutions/managedapplications.json index a5a94105..df4427a2 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Solutions/managedapplications.json +++ b/App_Data/SwaggerSpecs/Microsoft.Solutions/managedapplications.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "ManagedApplicationClient", - "version": "2016-09-01-preview", - "description": "ARM managed applications (appliances)" + "title": "ApplicationClient", + "version": "2019-07-01", + "description": "ARM applications" }, "host": "management.azure.com", "schemes": [ @@ -34,16 +34,46 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances/{applianceName}": { + "/providers/Microsoft.Solutions/operations": { "get": { "tags": [ - "Appliances" + "Operations" ], - "operationId": "Appliances_Get", - "description": "Gets the appliance.", + "operationId": "ListOperations", + "description": "Lists all of the available Microsoft.Solutions REST API operations.", "x-ms-examples": { - "Get an appliance": { - "$ref": "../examples/appliance/getAppliance.json" + "List Solutions operations": { + "$ref": "./examples/listSolutionsOperations.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}": { + "get": { + "tags": [ + "Applications" + ], + "operationId": "Applications_Get", + "description": "Gets the managed application.", + "x-ms-examples": { + "Get a managed application": { + "$ref": "./examples/getApplication.json" } }, "parameters": [ @@ -58,11 +88,11 @@ "maxLength": 90 }, { - "name": "applianceName", + "name": "applicationName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance.", + "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, @@ -75,14 +105,11 @@ ], "responses": { "200": { - "description": "OK - Returns the appliance.", + "description": "OK - Returns the managed application.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, - "404": { - "description": "Not Found" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -93,10 +120,10 @@ }, "delete": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_Delete", - "description": "Deletes the appliance.", + "operationId": "Applications_Delete", + "description": "Deletes the managed application.", "parameters": [ { "name": "resourceGroupName", @@ -109,11 +136,11 @@ "maxLength": 90 }, { - "name": "applianceName", + "name": "applicationName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance.", + "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, @@ -142,13 +169,13 @@ }, "put": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_CreateOrUpdate", - "description": "Creates a new appliance.", + "operationId": "Applications_CreateOrUpdate", + "description": "Creates a new managed application.", "x-ms-examples": { - "Create or update appliance": { - "$ref": "../examples/appliance/createOrUpdateAppliance.json" + "Create or update managed application": { + "$ref": "./examples/createOrUpdateApplication.json" } }, "parameters": [ @@ -163,11 +190,11 @@ "maxLength": 90 }, { - "name": "applianceName", + "name": "applicationName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance.", + "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, @@ -176,9 +203,9 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" }, - "description": "Parameters supplied to the create or update an appliance." + "description": "Parameters supplied to the create or update a managed application." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -189,15 +216,15 @@ ], "responses": { "200": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "201": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "default": { @@ -211,10 +238,10 @@ }, "patch": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_Update", - "description": "Updates an existing appliance. The only value that can be updated via PATCH currently is the tags.", + "operationId": "Applications_Update", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", "parameters": [ { "name": "resourceGroupName", @@ -227,11 +254,11 @@ "maxLength": 90 }, { - "name": "applianceName", + "name": "applicationName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance.", + "description": "The name of the managed application.", "minLength": 3, "maxLength": 64 }, @@ -239,9 +266,9 @@ "name": "parameters", "in": "body", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/ApplicationPatchable" }, - "description": "Parameters supplied to update an existing appliance." + "description": "Parameters supplied to update an existing managed application." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -252,9 +279,9 @@ ], "responses": { "200": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "default": { @@ -266,16 +293,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions/{applianceDefinitionName}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}": { "get": { "tags": [ - "ApplianceDefinitions" + "ApplicationDefinitions" ], - "operationId": "ApplianceDefinitions_Get", - "description": "Gets the appliance definition.", + "operationId": "ApplicationDefinitions_Get", + "description": "Gets the managed application definition.", "x-ms-examples": { - "Get appliance definition": { - "$ref": "../examples/appliancedefinition/getApplianceDefinition.json" + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" } }, "parameters": [ @@ -290,11 +317,11 @@ "maxLength": 90 }, { - "name": "applianceDefinitionName", + "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance definition.", + "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, @@ -307,14 +334,11 @@ ], "responses": { "200": { - "description": "OK - Returns the appliance definition.", + "description": "OK - Returns the managed application definition.", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/ApplicationDefinition" } }, - "404": { - "description": "Not Found" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -325,10 +349,10 @@ }, "delete": { "tags": [ - "ApplianceDefinitions" + "ApplicationDefinitions" ], - "operationId": "ApplianceDefinitions_Delete", - "description": "Deletes the appliance definition.", + "operationId": "ApplicationDefinitions_Delete", + "description": "Deletes the managed application definition.", "parameters": [ { "name": "resourceGroupName", @@ -341,11 +365,11 @@ "maxLength": 90 }, { - "name": "applianceDefinitionName", + "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance definition to delete.", + "description": "The name of the managed application definition to delete.", "minLength": 3, "maxLength": 64 }, @@ -377,13 +401,13 @@ }, "put": { "tags": [ - "ApplianceDefinitions" + "ApplicationDefinitions" ], - "operationId": "ApplianceDefinitions_CreateOrUpdate", - "description": "Creates a new appliance definition.", + "operationId": "ApplicationDefinitions_CreateOrUpdate", + "description": "Creates a new managed application definition.", "x-ms-examples": { - "Create or update appliance definition": { - "$ref": "../examples/appliancedefinition/createOrUpdateApplianceDefinition.json" + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" } }, "parameters": [ @@ -398,11 +422,11 @@ "maxLength": 90 }, { - "name": "applianceDefinitionName", + "name": "applicationDefinitionName", "in": "path", "required": true, "type": "string", - "description": "The name of the appliance definition.", + "description": "The name of the managed application definition.", "minLength": 3, "maxLength": 64 }, @@ -411,9 +435,9 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/ApplicationDefinition" }, - "description": "Parameters supplied to the create or update an appliance definition." + "description": "Parameters supplied to the create or update an managed application definition." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -424,15 +448,15 @@ ], "responses": { "200": { - "description": "OK - Returns information about the appliance definition, including provisioning status.", + "description": "OK - Returns information about the managed application definition, including provisioning status.", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/ApplicationDefinition" } }, "201": { - "description": "Created - Returns information about the appliance definition, including provisioning status.", + "description": "Created - Returns information about the managed application definition, including provisioning status.", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/ApplicationDefinition" } }, "default": { @@ -445,16 +469,16 @@ "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applianceDefinitions": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions": { "get": { "tags": [ - "ApplianceDefinitions" + "ApplicationDefinitions" ], - "operationId": "ApplianceDefinitions_ListByResourceGroup", - "description": "Lists the appliance definitions in a resource group.", + "operationId": "ApplicationDefinitions_ListByResourceGroup", + "description": "Lists the managed application definitions in a resource group.", "x-ms-examples": { - "List appliance definitions": { - "$ref": "../examples/appliancedefinition/listApplianceDefinitionsByResourceGroup.json" + "List managed application definitions": { + "$ref": "./examples/listApplicationDefinitionsByResourceGroup.json" } }, "parameters": [ @@ -477,9 +501,9 @@ ], "responses": { "200": { - "description": "OK - Returns an array of appliance definitions.", + "description": "OK - Returns an array of managed application definitions.", "schema": { - "$ref": "#/definitions/ApplianceDefinitionListResult" + "$ref": "#/definitions/ApplicationDefinitionListResult" } }, "default": { @@ -494,16 +518,16 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/appliances": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications": { "get": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_ListByResourceGroup", - "description": "Gets all the appliances within a resource group.", + "operationId": "Applications_ListByResourceGroup", + "description": "Gets all the applications within a resource group.", "x-ms-examples": { - "Lists appliances": { - "$ref": "../examples/appliance/listAppliancesByResourceGroup.json" + "Lists applications": { + "$ref": "./examples/listApplicationsByResourceGroup.json" } }, "parameters": [ @@ -526,9 +550,9 @@ ], "responses": { "200": { - "description": "OK - Returns an array of appliances.", + "description": "OK - Returns an array of applications.", "schema": { - "$ref": "#/definitions/ApplianceListResult" + "$ref": "#/definitions/ApplicationListResult" } }, "default": { @@ -543,13 +567,13 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/appliances": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/applications": { "get": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_ListBySubscription", - "description": "Gets all the appliances within a subscription.", + "operationId": "Applications_ListBySubscription", + "description": "Gets all the applications within a subscription.", "parameters": [ { "$ref": "#/parameters/ApiVersionParameter" @@ -560,9 +584,9 @@ ], "responses": { "200": { - "description": "OK - Returns an array of appliances.", + "description": "OK - Returns an array of applications.", "schema": { - "$ref": "#/definitions/ApplianceListResult" + "$ref": "#/definitions/ApplicationListResult" } }, "default": { @@ -577,39 +601,33 @@ } } }, - "/{applianceId}": { + "/{applicationId}": { "get": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_GetById", - "description": "Gets the appliance.", + "operationId": "Applications_GetById", + "description": "Gets the managed application.", "parameters": [ { - "name": "applianceId", + "name": "applicationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance, including the appliance name and the appliance resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name}", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "OK - Returns the appliance.", + "description": "OK - Returns the managed application.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, - "404": { - "description": "Not Found" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -620,24 +638,21 @@ }, "delete": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_DeleteById", - "description": "Deletes the appliance.", + "operationId": "Applications_DeleteById", + "description": "Deletes the managed application.", "parameters": [ { - "name": "applianceId", + "name": "applicationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance, including the appliance name and the appliance resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name}", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -658,17 +673,17 @@ }, "put": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_CreateOrUpdateById", - "description": "Creates a new appliance.", + "operationId": "Applications_CreateOrUpdateById", + "description": "Creates a new managed application.", "parameters": [ { - "name": "applianceId", + "name": "applicationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance, including the appliance name and the appliance resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name}", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { @@ -676,28 +691,25 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" }, - "description": "Parameters supplied to the create or update an appliance." + "description": "Parameters supplied to the create or update a managed application." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "201": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "default": { @@ -711,39 +723,36 @@ }, "patch": { "tags": [ - "Appliances" + "Applications" ], - "operationId": "Appliances_UpdateById", - "description": "Updates an existing appliance. The only value that can be updated via PATCH currently is the tags.", + "operationId": "Applications_UpdateById", + "description": "Updates an existing managed application. The only value that can be updated via PATCH currently is the tags.", "parameters": [ { - "name": "applianceId", + "name": "applicationId", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance, including the appliance name and the appliance resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/appliances/{appliance-name}", + "description": "The fully qualified ID of the managed application, including the managed application name and the managed application resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applications/{application-name}", "x-ms-skip-url-encoding": true }, { "name": "parameters", "in": "body", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" }, - "description": "Parameters supplied to update an existing appliance." + "description": "Parameters supplied to update an existing managed application." }, { "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" } ], "responses": { "200": { - "description": "Created - Returns information about the appliance, including provisioning status.", + "description": "Created - Returns information about the managed application, including provisioning status.", "schema": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/Application" } }, "default": { @@ -755,21 +764,30 @@ } } }, - "/{applianceDefinitionId}": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests/{jitRequestName}": { "get": { "tags": [ - "ApplianceDefinitions" + "JitRequests" ], - "operationId": "ApplianceDefinitions_GetById", - "description": "Gets the appliance definition.", + "operationId": "JitRequests_Get", + "description": "Gets the JIT request.", "parameters": [ { - "name": "applianceDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance definition, including the appliance name and the appliance definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -780,14 +798,11 @@ ], "responses": { "200": { - "description": "OK - Returns the appliance definition.", + "description": "OK - Returns the JIT request", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/JitRequestDefinition" } }, - "404": { - "description": "Not Found" - }, "default": { "description": "Error response describing why the operation failed.", "schema": { @@ -796,20 +811,38 @@ } } }, - "delete": { + "put": { "tags": [ - "ApplianceDefinitions" + "JitRequests" ], - "operationId": "ApplianceDefinitions_DeleteById", - "description": "Deletes the appliance definition.", + "operationId": "jitRequests_CreateOrUpdate", + "description": "Creates or updates the JIT request.", "parameters": [ { - "name": "applianceDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance definition, including the appliance name and the appliance definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + }, + "description": "Parameters supplied to the update JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -819,14 +852,17 @@ } ], "responses": { - "204": { - "description": "NoContent" + "201": { + "description": "Created - Returns information about the JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } }, "200": { - "description": "OK" - }, - "202": { - "description": "Accepted - Returns this status until the asynchronous operation has completed." + "description": "Ok - Returns information about existing JIT request.", + "schema": { + "$ref": "#/definitions/JitRequestDefinition" + } }, "default": { "description": "Error response describing why the operation failed.", @@ -837,29 +873,38 @@ }, "x-ms-long-running-operation": true }, - "put": { + "patch": { "tags": [ - "ApplianceDefinitions" + "JitRequests" ], - "operationId": "ApplianceDefinitions_CreateOrUpdateById", - "description": "Creates a new appliance definition.", + "operationId": "JitRequests_Update", + "description": "Updates the JIT request.", "parameters": [ { - "name": "applianceDefinitionId", + "name": "resourceGroupName", "in": "path", "required": true, "type": "string", - "description": "The fully qualified ID of the appliance definition, including the appliance name and the appliance definition resource type. Use the format, /subscriptions/{guid}/resourceGroups/{resource-group-name}/Microsoft.Solutions/applianceDefinitions/{applianceDefinition-name}", - "x-ms-skip-url-encoding": true + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." }, { "name": "parameters", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/JitRequestPatchable" }, - "description": "Parameters supplied to the create or update an appliance definition." + "description": "Parameters supplied to the update JIT request." }, { "$ref": "#/parameters/ApiVersionParameter" @@ -870,16 +915,56 @@ ], "responses": { "200": { - "description": "OK - Returns information about the appliance definition, including provisioning status.", + "description": "Ok - Returns information about the JIT request.", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/JitRequestDefinition" } }, - "201": { - "description": "Created - Returns information about the appliance definition, including provisioning status.", + "default": { + "description": "Error response describing why the operation failed.", "schema": { - "$ref": "#/definitions/ApplianceDefinition" + "$ref": "#/definitions/ErrorResponse" } + } + } + }, + "delete": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_Delete", + "description": "Deletes the JIT request.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "jitRequestName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the JIT request." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" }, "default": { "description": "Error response describing why the operation failed.", @@ -887,186 +972,573 @@ "$ref": "#/definitions/ErrorResponse" } } - }, - "x-ms-long-running-operation": true - } - } - }, - "definitions": { - "Appliance": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplianceProperties", - "description": "The appliance properties." - }, - "plan": { - "$ref": "#/definitions/Plan", - "description": "The plan information." - }, - "kind": { - "type": "string", - "description": "The kind of the appliance. Allowed values are MarketPlace and ServiceCatalog.", - "pattern": "^[-\\w\\._,\\(\\)]+$" - } - }, - "required": [ - "properties", - "kind" - ], - "allOf": [ - { - "$ref": "#/definitions/GenericResource" } - ], - "description": "Information about appliance." + } }, - "AppliancePatchable": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/AppliancePropertiesPatchable", - "description": "The appliance properties." - }, - "plan": { - "$ref": "#/definitions/PlanPatchable", - "description": "The plan information." - }, - "kind": { - "type": "string", - "description": "The kind of the appliance. Allowed values are MarketPlace and ServiceCatalog.", - "pattern": "^[-\\w\\._,\\(\\)]+$" - } - }, - "allOf": [ - { - "$ref": "#/definitions/GenericResource" + "/subscriptions/{subscriptionId}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListBySubscription", + "description": "Retrieves all JIT requests within the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } - ], - "description": "Information about appliance." + } }, - "ApplianceDefinition": { - "properties": { - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/ApplianceDefinitionProperties", - "description": "The appliance definition properties." - } - }, - "required": [ - "properties" - ], - "allOf": [ - { - "$ref": "#/definitions/GenericResource" + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/jitRequests": { + "get": { + "tags": [ + "JitRequests" + ], + "operationId": "jitRequests_ListByResourceGroup", + "description": "Retrieves all JIT requests within the resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns an array of JIT requests.", + "schema": { + "$ref": "#/definitions/JitRequestDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } } - ], - "description": "Information about appliance definition." + } }, - "ApplianceProperties": { - "properties": { - "managedResourceGroupId": { - "type": "string", - "description": "The managed resource group Id." - }, - "applianceDefinitionId": { - "type": "string", - "description": "The fully qualified path of appliance definition Id." - }, - "parameters": { - "type": "object", - "description": "Name and value pairs that define the appliance parameters. It can be a JObject or a well formed JSON string." - }, - "outputs": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applications/{applicationName}/refreshPermissions": { + "post": { + "tags": [ + "Applications" + ], + "operationId": "Applications_RefreshPermissions", + "description": "Refresh Permissions for application.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "x-ms-paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?disambiguation_dummy": { + "get": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_GetById", + "description": "Gets the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/getApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK - Returns the managed application definition.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_DeleteById", + "description": "Deletes the managed application definition.", + "x-ms-examples": { + "Get managed application definition": { + "$ref": "./examples/deleteApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted - Returns this status until the asynchronous operation has completed." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "put": { + "tags": [ + "ApplicationDefinitions" + ], + "operationId": "ApplicationDefinitions_CreateOrUpdateById", + "description": "Creates a new managed application definition.", + "x-ms-examples": { + "Create or update managed application definition": { + "$ref": "./examples/createOrUpdateApplicationDefinition.json" + } + }, + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90 + }, + { + "name": "applicationDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed application definition.", + "minLength": 3, + "maxLength": 64 + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "Parameters supplied to the create or update a managed application definition." + } + ], + "responses": { + "200": { + "description": "OK - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "201": { + "description": "Created - Returns information about the managed application definition, including provisioning status.", + "schema": { + "$ref": "#/definitions/ApplicationDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Application": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/Plan", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "required": [ + "properties", + "kind" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationPatchable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "description": "The managed application properties." + }, + "plan": { + "$ref": "#/definitions/PlanPatchable", + "description": "The plan information." + }, + "kind": { + "type": "string", + "description": "The kind of the managed application. Allowed values are MarketPlace and ServiceCatalog.", + "pattern": "^[-\\w\\._,\\(\\)]+$" + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + } + }, + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application." + }, + "ApplicationDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationDefinitionProperties", + "description": "The managed application definition properties." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/GenericResource" + } + ], + "description": "Information about managed application definition." + }, + "ApplicationProperties": { + "properties": { + "managedResourceGroupId": { + "type": "string", + "description": "The managed resource group Id." + }, + "applicationDefinitionId": { + "type": "string", + "description": "The fully qualified path of managed application definition Id." + }, + "parameters": { + "type": "object", + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." + }, + "outputs": { "readOnly": true, "type": "object", - "description": "Name and value pairs that define the appliance outputs." + "description": "Name and value pairs that define the managed application outputs." }, "provisioningState": { "readOnly": true, "$ref": "#/definitions/ProvisioningState", - "description": "The appliance provisioning state." + "description": "The managed application provisioning state." + }, + "billingDetails": { + "readOnly": true, + "$ref": "#/definitions/ApplicationBillingDetailsDefinition", + "description": "The managed application billing details." + }, + "jitAccessPolicy": { + "$ref": "#/definitions/ApplicationJitAccessPolicy", + "description": "The managed application Jit access policy." }, - "uiDefinitionUri": { + "publisherTenantId": { "type": "string", - "description": "The blob URI where the UI definition file is located." + "description": "The publisher tenant Id.", + "readOnly": true + }, + "authorizations": { + "description": "The read-only authorizations property that is retrieved from the application package.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + }, + "readOnly": true + }, + "managementMode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode.", + "readOnly": true + }, + "customerSupport": { + "$ref": "#/definitions/ApplicationPackageContact", + "description": "The read-only customer support property that is retrieved from the application package.", + "readOnly": true + }, + "supportUrls": { + "$ref": "#/definitions/ApplicationPackageSupportUrls", + "description": "The read-only support URLs property that is retrieved from the application package.", + "readOnly": true + }, + "artifacts": { + "description": "The collection of managed application artifacts.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationArtifact" + }, + "readOnly": true + }, + "createdBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request." + }, + "updatedBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request." } }, - "required": [ - "managedResourceGroupId" - ], - "description": "The appliance properties." + "description": "The managed application properties." }, - "AppliancePropertiesPatchable": { + "ApplicationPropertiesPatchable": { "properties": { "managedResourceGroupId": { "type": "string", "description": "The managed resource group Id." }, - "applianceDefinitionId": { + "applicationDefinitionId": { "type": "string", - "description": "The fully qualified path of appliance definition Id." + "description": "The fully qualified path of managed application definition Id." }, "parameters": { "type": "object", - "description": "Name and value pairs that define the appliance parameters. It can be a JObject or a well formed JSON string." + "description": "Name and value pairs that define the managed application parameters. It can be a JObject or a well formed JSON string." }, "outputs": { "readOnly": true, "type": "object", - "description": "Name and value pairs that define the appliance outputs." + "description": "Name and value pairs that define the managed application outputs." }, "provisioningState": { "readOnly": true, "$ref": "#/definitions/ProvisioningState", - "description": "The appliance provisioning state." - }, - "uiDefinitionUri": { - "type": "string", - "description": "The blob URI where the UI definition file is located." + "description": "The managed application provisioning state." } }, - "description": "The appliance properties." + "description": "The managed application properties." }, - "ApplianceDefinitionProperties": { + "ApplicationDefinitionProperties": { "properties": { "lockLevel": { - "$ref": "#/definitions/ApplianceLockLevel", - "description": "The appliance lock level." + "$ref": "#/definitions/ApplicationLockLevel", + "description": "The managed application lock level." }, "displayName": { "type": "string", - "description": "The appliance definition display name." + "description": "The managed application definition display name." + }, + "isEnabled": { + "type": "boolean", + "description": "A value indicating whether the package is enabled or not." }, "authorizations": { - "description": "The appliance provider authorizations.", + "description": "The managed application provider authorizations.", + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationAuthorization" + } + }, + "artifacts": { + "description": "The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition.", "type": "array", "items": { - "$ref": "#/definitions/ApplianceProviderAuthorization" + "$ref": "#/definitions/ApplicationDefinitionArtifact" } }, - "artifacts": { - "description": "The collection of appliance artifacts. The portal will use the files specified as artifacts to construct the user experience of creating an appliance from an appliance definition.", + "description": { + "type": "string", + "description": "The managed application definition description." + }, + "packageFileUri": { + "type": "string", + "description": "The managed application definition package file Uri. Use this element" + }, + "mainTemplate": { + "type": "object", + "description": "The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string." + }, + "createUiDefinition": { + "type": "object", + "description": "The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string." + }, + "notificationPolicy": { + "$ref": "#/definitions/ApplicationNotificationPolicy", + "description": "The managed application notification policy." + }, + "lockingPolicy": { + "$ref": "#/definitions/ApplicationPackageLockingPolicyDefinition", + "description": "The managed application locking policy." + }, + "deploymentPolicy": { + "$ref": "#/definitions/ApplicationDeploymentPolicy", + "description": "The managed application deployment policy." + }, + "managementPolicy": { + "$ref": "#/definitions/ApplicationManagementPolicy", + "description": "The managed application management policy that determines publisher's access to the managed resource group." + }, + "policies": { + "description": "The managed application provider policies.", "type": "array", "items": { - "$ref": "#/definitions/ApplianceArtifact" + "$ref": "#/definitions/ApplicationPolicy" } - }, - "description": { - "type": "string", - "description": "The appliance definition description." - }, - "packageFileUri": { - "type": "string", - "description": "The appliance definition package file Uri." } }, "required": [ - "lockLevel", - "authorizations", - "packageFileUri" + "lockLevel" ], - "description": "The appliance definition properties." + "description": "The managed application definition properties." }, "Plan": { "properties": { @@ -1097,7 +1569,7 @@ "product", "version" ], - "description": "Plan for the appliance." + "description": "Plan for the managed application." }, "PlanPatchable": { "properties": { @@ -1122,7 +1594,7 @@ "description": "The plan's version." } }, - "description": "Plan for the appliance." + "description": "Plan for the managed application." }, "GenericResource": { "properties": { @@ -1133,10 +1605,6 @@ "sku": { "$ref": "#/definitions/Sku", "description": "The SKU of the resource." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." } }, "allOf": [ @@ -1150,223 +1618,747 @@ "properties": { "name": { "type": "string", - "description": "The SKU name." + "description": "The SKU name." + }, + "tier": { + "type": "string", + "description": "The SKU tier." + }, + "size": { + "type": "string", + "description": "The SKU size." + }, + "family": { + "type": "string", + "description": "The SKU family." + }, + "model": { + "type": "string", + "description": "The SKU model." + }, + "capacity": { + "type": "integer", + "format": "int32", + "description": "The SKU capacity." + } + }, + "required": [ + "name" + ], + "description": "SKU for the resource." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/userAssignedResourceIdentity" + }, + "description": "The list of user identities associated with the resource. The user identity dictionary key references will be resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'." + } + }, + "description": "Identity for the resource." + }, + "userAssignedResourceIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id of user assigned identity." + } + }, + "description": "Represents the user assigned identity that is contained within the UserAssignedIdentities dictionary on ResourceIdentity" + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource ID" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "description": "Resource information.", + "x-ms-azure-resource": true + }, + "ApplicationListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Application" + }, + "description": "The array of managed applications." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed applications." + }, + "ApplicationDefinitionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationDefinition" + }, + "description": "The array of managed application definitions." + }, + "nextLink": { + "type": "string", + "description": "The URL to use for getting the next set of results." + } + }, + "description": "List of managed application definitions." + }, + "ProvisioningState": { + "description": "Provisioning status of the managed application.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Ready", + "Creating", + "Created", + "Deleting", + "Deleted", + "Canceled", + "Failed", + "Succeeded", + "Updating" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "ApplicationLockLevel": { + "description": "The managed application lock level.", + "enum": [ + "CanNotDelete", + "ReadOnly", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationLockLevel", + "modelAsString": false + } + }, + "ApplicationArtifactType": { + "description": "The managed application artifact type.", + "enum": [ + "NotSpecified", + "Template", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactType", + "modelAsString": false + } + }, + "ApplicationDefinitionArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ApplicationResourceTemplate", + "CreateUiDefinition", + "MainTemplateParameters" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationDefinitionArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifactName": { + "description": "The managed application artifact name.", + "enum": [ + "NotSpecified", + "ViewDefinition", + "Authorizations", + "CustomRoleDefinition" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationArtifactName", + "modelAsString": true + } + }, + "ApplicationArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationArtifactName", + "description": "The managed application artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Managed application artifact." + }, + "ApplicationDefinitionArtifact": { + "properties": { + "name": { + "$ref": "#/definitions/ApplicationDefinitionArtifactName", + "description": "The managed application definition artifact name." + }, + "uri": { + "type": "string", + "description": "The managed application definition artifact blob uri." + }, + "type": { + "$ref": "#/definitions/ApplicationArtifactType", + "description": "The managed application definition artifact type." + } + }, + "required": [ + "name", + "type", + "uri" + ], + "description": "Application definition artifact." + }, + "ApplicationNotificationPolicy": { + "properties": { + "notificationEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationNotificationEndpoint" + }, + "description": "The managed application notification endpoint." + } + }, + "required": [ + "notificationEndpoints" + ], + "description": "Managed application notification policy." + }, + "ApplicationNotificationEndpoint": { + "properties": { + "uri": { + "type": "string", + "description": "The managed application notification endpoint uri." + } + }, + "required": [ + "uri" + ], + "description": "Managed application notification endpoint." + }, + "ApplicationPackageLockingPolicyDefinition": { + "properties": { + "allowedActions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The deny assignment excluded actions." + } + }, + "description": "Managed application locking policy." + }, + "ApplicationDeploymentPolicy": { + "properties": { + "deploymentMode": { + "$ref": "#/definitions/DeploymentMode", + "description": "The managed application deployment mode." + } + }, + "required": [ + "deploymentMode" + ], + "description": "Managed application deployment policy." + }, + "ApplicationManagementPolicy": { + "properties": { + "mode": { + "$ref": "#/definitions/ApplicationManagementMode", + "description": "The managed application management mode." + } + }, + "description": "Managed application management policy." + }, + "ApplicationPolicy": { + "properties": { + "name": { + "type": "string", + "description": "The policy name" }, - "tier": { + "policyDefinitionId": { "type": "string", - "description": "The SKU tier." + "description": "The policy definition Id." }, - "size": { + "parameters": { "type": "string", - "description": "The SKU size." - }, - "family": { + "description": "The policy parameters." + } + }, + "description": "Managed application policy." + }, + "ApplicationAuthorization": { + "properties": { + "principalId": { "type": "string", - "description": "The SKU family." + "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources." }, - "model": { + "roleDefinitionId": { "type": "string", - "description": "The SKU model." - }, - "capacity": { - "type": "integer", - "format": "int32", - "description": "The SKU capacity." + "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group." } }, "required": [ - "name" + "principalId", + "roleDefinitionId" ], - "description": "SKU for the resource." + "description": "The managed application provider authorization." }, - "Identity": { + "ApplicationPackageContact": { "properties": { - "principalId": { - "readOnly": true, + "contactName": { "type": "string", - "description": "The principal ID of resource identity." + "description": "The contact name." }, - "tenantId": { - "readOnly": true, + "email": { "type": "string", - "description": "The tenant ID of resource." + "description": "The contact email." }, - "type": { + "phone": { "type": "string", - "description": "The identity type.", - "enum": [ - "SystemAssigned" - ], - "x-ms-enum": { - "name": "ResourceIdentityType", - "modelAsString": false - } + "description": "The contact phone number." } }, - "description": "Identity for the resource." + "required": [ + "email", + "phone" + ], + "description": "The application package contact information." }, - "Resource": { + "ApplicationPackageSupportUrls": { "properties": { - "id": { - "readOnly": true, + "publicAzure": { "type": "string", - "description": "Resource ID" + "description": "The public azure support URL." }, - "name": { - "readOnly": true, + "governmentCloud": { "type": "string", - "description": "Resource name" - }, - "type": { - "readOnly": true, + "description": "The government cloud support URL." + } + }, + "description": "The appliance package support URLs." + }, + "ApplicationBillingDetailsDefinition": { + "properties": { + "resourceUsageId": { "type": "string", - "description": "Resource type" + "description": "The managed application resource usage Id." + } + }, + "description": "Managed application billing details definition." + }, + "ApplicationJitAccessPolicy": { + "properties": { + "jitAccessEnabled": { + "type": "boolean", + "description": "Whether the JIT access is enabled." }, - "location": { + "jitApprovalMode": { + "$ref": "#/definitions/JitApprovalMode", + "description": "JIT approval mode." + }, + "jitApprovers": { + "type": "array", + "items": { + "$ref": "#/definitions/JitApproverDefinition" + }, + "description": "The JIT approvers" + }, + "maximumJitAccessDuration": { "type": "string", - "description": "Resource location" + "description": "The maximum duration JIT access is granted. This is an ISO8601 time period value." + } + }, + "required": [ + "jitAccessEnabled" + ], + "description": "Managed application Jit access policy." + }, + "ErrorResponse": { + "description": "Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "httpStatus": { + "description": "Http status code.", + "type": "string" + }, + "errorCode": { + "description": "Error code.", + "type": "string" }, + "errorMessage": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "JitRequestDefinition": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/JitRequestProperties", + "description": "The JIT request properties." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Information about JIT request definition." + }, + "JitRequestPatchable": { + "properties": { "tags": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "Resource tags" + "description": "Jit request tags" } }, - "description": "Resource information.", - "x-ms-azure-resource": true + "description": "Information about JIT request." }, - "ApplianceListResult": { + "JitRequestDefinitionListResult": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Appliance" + "$ref": "#/definitions/JitRequestDefinition" }, - "description": "The array of appliances." + "description": "The array of Jit request definition." }, "nextLink": { "type": "string", "description": "The URL to use for getting the next set of results." } }, - "description": "List of appliances." + "description": "List of JIT requests." }, - "ApplianceDefinitionListResult": { + "JitRequestProperties": { "properties": { - "value": { + "applicationResourceId": { + "type": "string", + "description": "The parent application id." + }, + "publisherTenantId": { + "readOnly": true, + "type": "string", + "description": "The publisher tenant id." + }, + "jitAuthorizationPolicies": { + "description": "The JIT authorization policies.", "type": "array", "items": { - "$ref": "#/definitions/ApplianceDefinition" - }, - "description": "The array of appliance definitions." + "$ref": "#/definitions/JitAuthorizationPolicies" + } }, - "nextLink": { - "type": "string", - "description": "The URL to use for getting the next set of results." + "jitSchedulingPolicy": { + "$ref": "#/definitions/JitSchedulingPolicy", + "description": "The JIT request properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The JIT request provisioning state." + }, + "jitRequestState": { + "readOnly": true, + "$ref": "#/definitions/JitRequestState", + "description": "The JIT request state." + }, + "createdBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that created the JIT request." + }, + "updatedBy": { + "readOnly": true, + "$ref": "#/definitions/ApplicationClientDetails", + "description": "The client entity that last updated the JIT request." } }, - "description": "List of appliance definitions." + "required": [ + "applicationResourceId", + "jitAuthorizationPolicies", + "jitSchedulingPolicy" + ], + "description": "Information about JIT request properties" }, - "ProvisioningState": { - "description": "Provisioning status of the appliance.", - "readOnly": true, - "enum": [ - "Accepted", - "Running", - "Ready", - "Creating", - "Created", - "Deleting", - "Deleted", - "Canceled", - "Failed", - "Succeeded", - "Updating" + "JitAuthorizationPolicies": { + "properties": { + "principalId": { + "type": "string", + "description": "The the principal id that will be granted JIT access." + }, + "roleDefinitionId": { + "type": "string", + "description": "The role definition id that will be granted to the Principal." + } + }, + "required": [ + "principalId", + "roleDefinitionId" ], - "type": "string", - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": true - } + "description": "The JIT authorization policies." }, - "ApplianceLockLevel": { - "description": "The appliance lock level.", - "enum": [ - "CanNotDelete", - "ReadOnly", - "None" + "JitSchedulingPolicy": { + "properties": { + "type": { + "$ref": "#/definitions/JitSchedulingType", + "description": "The type of JIT schedule." + }, + "duration": { + "type": "string", + "format": "duration", + "title": "The required duration of the JIT request." + }, + "startTime": { + "type": "string", + "format": "date-time", + "description": "The start time of the request." + } + }, + "required": [ + "type", + "duration", + "startTime" ], - "type": "string", - "x-ms-enum": { - "name": "ApplianceLockLevel", - "modelAsString": false - } + "description": "The JIT scheduling policies." }, - "ApplianceArtifactType": { - "description": "The appliance artifact type.", + "JitApprovalMode": { + "description": "The Jit approval mode.", "enum": [ - "Template", - "Custom" + "NotSpecified", + "AutoApprove", + "ManualApprove" ], "type": "string", "x-ms-enum": { - "name": "ApplianceArtifactType", - "modelAsString": false + "name": "JitApprovalMode", + "modelAsString": true } }, - "ApplianceArtifact": { + "JitApproverDefinition": { "properties": { - "name": { + "id": { "type": "string", - "description": "The appliance artifact name." + "description": "The approver service principal Id." }, - "uri": { + "type": { "type": "string", - "description": "The appliance artifact blob uri." + "description": "The approver type.", + "enum": [ + "user", + "group" + ], + "x-ms-enum": { + "name": "JitApproverType", + "modelAsString": true + } }, - "type": { - "$ref": "#/definitions/ApplianceArtifactType", - "description": "The the appliance artifact type." + "displayName": { + "type": "string", + "description": "The approver display name." } }, - "description": "Appliance artifact." + "required": [ + "id" + ], + "description": "JIT approver definition." }, - "ApplianceProviderAuthorization": { + "ApplicationClientDetails": { + "readOnly": true, "properties": { - "principalId": { + "oid": { "type": "string", - "description": "The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the appliance resources." + "description": "The client Oid." }, - "roleDefinitionId": { + "puid": { "type": "string", - "description": "The provider's role definition identifier. This role will define all the permissions that the provider must have on the appliance's container resource group. This role definition cannot have permission to delete the resource group." + "description": "The client Puid" + }, + "applicationId": { + "type": "string", + "description": "The client application Id." } }, - "required": [ - "principalId", - "roleDefinitionId" + "description": "The application client details to track the entity creating/updating the managed app resource." + }, + "JitRequestState": { + "description": "The JIT request state.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Pending", + "Approved", + "Denied", + "Failed", + "Canceled", + "Expired", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "JitRequestState", + "modelAsString": true + } + }, + "JitSchedulingType": { + "description": "The JIT request scheduling type.", + "readOnly": true, + "enum": [ + "NotSpecified", + "Once", + "Recurring" ], - "description": "The appliance provider authorization." + "type": "string", + "x-ms-enum": { + "name": "JitSchedulingType", + "modelAsString": true + } }, - "ErrorResponse": { - "description": "Error reponse indicates ARM appliance is not able to process the incoming request. The reason is provided in the error message.", + "Operation": { + "description": "Microsoft.Solutions operation", "type": "object", "properties": { - "httpStatus": { - "description": "Http status code.", + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", "type": "string" }, - "errorCode": { - "description": "Error code.", - "type": "string" + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Solutions", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Application, JitRequest, etc.", + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "type": "string" + } + } + } + } + }, + "OperationListResult": { + "description": "Result of the request to list Microsoft.Solutions operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Microsoft.Solutions operations." }, - "errorMessage": { - "description": "Error message indicating why the operation failed.", - "type": "string" + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." } } + }, + "DeploymentMode": { + "description": "The deployment mode.", + "enum": [ + "NotSpecified", + "Incremental", + "Complete" + ], + "type": "string", + "x-ms-enum": { + "name": "DeploymentMode", + "modelAsString": true + } + }, + "ApplicationManagementMode": { + "description": "The management mode.", + "enum": [ + "NotSpecified", + "Unmanaged", + "Managed" + ], + "type": "string", + "x-ms-enum": { + "name": "ApplicationManagementMode", + "modelAsString": true + } } }, "parameters": { @@ -1385,4 +2377,4 @@ "description": "The API version to use for this operation." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Sql/usages.json b/App_Data/SwaggerSpecs/Microsoft.Sql/usages.json index eeca65fe..03ce7493 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Sql/usages.json +++ b/App_Data/SwaggerSpecs/Microsoft.Sql/usages.json @@ -1,9 +1,9 @@ { "swagger": "2.0", "info": { - "title": "Azure SQL Database", - "description": "Provides create, read, update and delete functionality for Azure SQL Database resources including servers, databases, elastic pools, recommendations, operations, and usage metrics.", - "version": "2014-04-01" + "version": "2015-05-01", + "title": "SqlManagementClient", + "description": "The Azure SQL Database management API provides a RESTful set of web APIs that interact with Azure SQL Database services to manage your databases. The API enables users to create, retrieve, update, and delete databases, servers, and other entities." }, "host": "management.azure.com", "schemes": [ @@ -16,213 +16,158 @@ "application/json" ], "paths": { - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/usages": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages": { "get": { "tags": [ - "Servers" + "SubscriptionUsages" ], - "operationId": "Servers_ListUsages", - "description": "Returns server usages.", - "x-ms-examples":{ - "List servers usages": { "$ref": "../examples/ServerUsageMetricsList.json" } - }, + "description": "Gets all subscription usage metrics in a given location.", + "operationId": "SubscriptionUsages_ListByLocation", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" }, { "$ref": "#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupParameter" - }, - { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Successfully retrieved the subscription location usages.", "schema": { - "$ref": "#/definitions/ServerUsageListResult" + "$ref": "#/definitions/SubscriptionUsageListResult" } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified." } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List subscription usages in the given location.": { + "$ref": "./examples/SubscriptionUsageListByLocation.json" + } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName}/usages": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/usages/{usageName}": { "get": { "tags": [ - "Databases" + "SubscriptionUsages" ], - "operationId": "Databases_ListUsages", - "description": "Returns database usages.", - "x-ms-examples": { - "List database usage metrics": { "$ref": "../examples/DatabaseUsageMetricsList.json" } - }, + "description": "Gets a subscription usage metric.", + "operationId": "SubscriptionUsages_Get", "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" - }, - { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "locationName", + "in": "path", + "description": "The name of the region where the resource is located.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ResourceGroupParameter" + "name": "usageName", + "in": "path", + "description": "Name of usage metric to return.", + "required": true, + "type": "string" }, { - "$ref": "#/parameters/ServerNameParameter" + "$ref": "#/parameters/SubscriptionIdParameter" }, { - "name": "databaseName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the database." + "$ref": "#/parameters/ApiVersionParameter" } ], "responses": { "200": { - "description": "OK", + "description": "Successfully retrieved particular subscription location usage.", "schema": { - "$ref": "#/definitions/DatabaseUsageListResult" + "$ref": "#/definitions/SubscriptionUsage" } + }, + "default": { + "description": "*** Error Responses: ***\n\n * 400 SubscriptionNotFound - The requested subscription was not found.\n\n * 400 InvalidLocation - An invalid location was specified." } }, - "x-ms-pageable": { - "nextLinkName": null + "x-ms-examples": { + "Get specific subscription usage in the given location.": { + "$ref": "./examples/SubscriptionUsageGet.json" + } } } } }, "definitions": { - "ServerUsage": { - "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Name of the server usage metric." - }, - "resourceName": { - "readOnly": true, - "type": "string", - "description": "The name of the resource." - }, - "displayName": { - "readOnly": true, - "type": "string", - "description": "The metric display name." - }, - "currentValue": { - "readOnly": true, - "type": "number", - "format": "double", - "description": "The current value of the metric." - }, - "limit": { - "readOnly": true, - "type": "number", - "format": "double", - "description": "The current limit of the metric." - }, - "unit": { - "readOnly": true, - "type": "string", - "description": "The units of the metric." - }, - "nextResetTime": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "The next reset time for the metric (ISO8601 format)." - } - }, - "description": "Represents server metrics." - }, - "ServerUsageListResult": { + "SubscriptionUsageListResult": { + "description": "A list of subscription usage metrics in a location.", + "type": "object", "properties": { "value": { + "description": "Array of results.", "type": "array", "items": { - "$ref": "#/definitions/ServerUsage" + "$ref": "#/definitions/SubscriptionUsage" }, - "description": "The list of server metrics for the server." + "readOnly": true + }, + "nextLink": { + "description": "Link to retrieve next page of results.", + "type": "string", + "readOnly": true } - }, - "required": ["value"], - "description": "Represents the response to a list server metrics request." + } }, - "DatabaseUsage": { + "SubscriptionUsageProperties": { + "description": "Properties of a subscription usage.", + "type": "object", "properties": { - "resourceName": { - "readOnly": true, - "type": "string", - "description": "The name of the resource." - }, "displayName": { - "readOnly": true, + "description": "User-readable name of the metric.", "type": "string", - "description": "The usage metric display name." + "readOnly": true }, "currentValue": { - "readOnly": true, - "type": "number", "format": "double", - "description": "The current value of the usage metric." + "description": "Current value of the metric.", + "type": "number", + "readOnly": true }, "limit": { - "readOnly": true, - "type": "number", "format": "double", - "description": "The current limit of the usage metric." + "description": "Boundary value of the metric.", + "type": "number", + "readOnly": true }, "unit": { - "readOnly": true, - "type": "string", - "description": "The units of the usage metric." - }, - "nextResetTime": { - "readOnly": true, + "description": "Unit of the metric.", "type": "string", - "format": "date-time", - "description": "The next reset time for the usage metric (ISO8601 format)." + "readOnly": true } - }, - "description": "The database usages.", + } + }, + "SubscriptionUsage": { + "description": "Usage Metric of a Subscription in a Location.", + "type": "object", "allOf": [ { - "$ref": "#/definitions/SubResource" - } - ] - }, - "DatabaseUsageListResult": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/DatabaseUsage" - }, - "description": "The list of database usages for the database." + "$ref": "../../../common/v1/types.json#/definitions/ProxyResource" } - }, - "required": ["value"], - "description": "The response to a list database metrics request." - }, - "SubResource": { - "description": "Subresource properties", + ], "properties": { - "name": { - "readOnly": true, - "type": "string", - "description": "Resource name" - }, - "id": { - "readOnly": true, - "type": "string", - "description": "The resource ID." + "properties": { + "$ref": "#/definitions/SubscriptionUsageProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true } } } @@ -231,31 +176,73 @@ "SubscriptionIdParameter": { "name": "subscriptionId", "in": "path", + "description": "The subscription ID that identifies an Azure subscription.", "required": true, "type": "string", - "description": "The subscription ID that identifies an Azure subscription." + "x-ms-parameter-location": "client" }, "ApiVersionParameter": { "name": "api-version", "in": "query", + "description": "The API version to use for the request.", "required": true, "type": "string", - "description": "The API version to use for the request." + "x-ms-parameter-location": "client" }, "ResourceGroupParameter": { "name": "resourceGroupName", "in": "path", + "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", "required": true, "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", "x-ms-parameter-location": "method" }, "ServerNameParameter": { "name": "serverName", "in": "path", + "description": "The name of the server.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ManagedInstanceNameParameter": { + "name": "managedInstanceName", + "in": "path", + "description": "The name of the managed instance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "description": "The name of the database.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineInstanceNameParameter": { + "name": "sqlVirtualMachineInstanceName", + "in": "path", + "description": "The name of the SqlVirtualMachineInstance.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "SqlVirtualMachineContainerNameParameter": { + "name": "sqlVirtualMachineContainerName", + "in": "path", + "description": "The name of the SqlVirtualMachineContainer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "VirtualClusterNameParameter": { + "name": "virtualClusterName", + "in": "path", + "description": "The name of the virtual cluster.", "required": true, "type": "string", - "description": "The name of the server.", "x-ms-parameter-location": "method" } }, diff --git a/App_Data/SwaggerSpecs/Microsoft.Storage/storage.json b/App_Data/SwaggerSpecs/Microsoft.Storage/storage.json index 3da4bea5..fe7d6a35 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Storage/storage.json +++ b/App_Data/SwaggerSpecs/Microsoft.Storage/storage.json @@ -1,12 +1,9 @@ { "swagger": "2.0", "info": { - "title": "StorageManagement", + "title": "StorageManagementClient", "description": "The Azure Storage Management API.", - "version": "2017-10-01", - "x-ms-code-generation-settings": { - "name": "StorageManagementClient" - } + "version": "2021-06-01" }, "host": "management.azure.com", "schemes": [ @@ -16,8 +13,7 @@ "application/json" ], "produces": [ - "application/json", - "text/json" + "application/json" ], "paths": { "/providers/Microsoft.Storage/operations": { @@ -28,11 +24,13 @@ "description": "Lists all of the available Storage Rest API operations.", "operationId": "Operations_List", "x-ms-examples": { - "OperationsList": { "$ref": "./examples/OperationsList.json" } + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -56,14 +54,16 @@ "operationId": "Skus_List", "description": "Lists the available SKUs supported by Microsoft.Storage for given subscription.", "x-ms-examples": { - "SkuList": { "$ref": "./examples/SKUList.json" } + "SkuList": { + "$ref": "./examples/SKUList.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -87,7 +87,9 @@ "operationId": "StorageAccounts_CheckNameAvailability", "description": "Checks that the storage account name is valid and is not already in use.", "x-ms-examples": { - "StorageAccountCheckNameAvailability": { "$ref": "./examples/StorageAccountCheckNameAvailability.json" } + "StorageAccountCheckNameAvailability": { + "$ref": "./examples/StorageAccountCheckNameAvailability.json" + } }, "parameters": [ { @@ -100,10 +102,10 @@ "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -124,20 +126,31 @@ "operationId": "StorageAccounts_Create", "description": "Asynchronously creates a new storage account with the specified parameters. If an account is already created and a subsequent create request is issued with different properties, the account properties will be updated. If an account is already created and a subsequent create or update request is issued with the exact same set of properties, the request will succeed.", "x-ms-examples": { - "StorageAccountCreate": { "$ref": "./examples/StorageAccountCreate.json" } + "StorageAccountCreate": { + "$ref": "./examples/StorageAccountCreate.json" + }, + "NfsV3AccountCreate": { + "$ref": "./examples/NfsV3AccountCreate.json" + }, + "StorageAccountCreateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountCreateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountCreateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountCreateWithImmutabilityPolicy.json" + }, + "StorageAccountCreateDisallowPublicNetworkAccess.": { + "$ref": "./examples/StorageAccountCreateDisallowPublicNetworkAccess.json" + }, + "StorageAccountCreateEnablePublicNetworkAccess.": { + "$ref": "./examples/StorageAccountCreateEnablePublicNetworkAccess.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { "name": "parameters", @@ -149,10 +162,10 @@ "description": "The parameters to provide for the created account." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -175,26 +188,22 @@ "operationId": "StorageAccounts_Delete", "description": "Deletes a storage account in Microsoft Azure.", "x-ms-examples": { - "StorageAccountDelete": { "$ref": "./examples/StorageAccountDelete.json" } + "StorageAccountDelete": { + "$ref": "./examples/StorageAccountDelete.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -213,26 +222,40 @@ "operationId": "StorageAccounts_GetProperties", "description": "Returns the properties for the specified storage account including but not limited to name, SKU name, location, and account status. The ListKeys operation should be used to retrieve storage keys.", "x-ms-examples": { - "StorageAccountGetProperties": { "$ref": "./examples/StorageAccountGetProperties.json" } + "StorageAccountGetProperties": { + "$ref": "./examples/StorageAccountGetProperties.json" + }, + "StorageAccountGetPropertiesCMKEnabled": { + "$ref": "./examples/StorageAccountGetPropertiesCMKEnabled.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. ", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "$expand", + "description": "May be used to expand the properties within account's properties. By default, data is not included when fetching properties. Currently we only support geoReplicationStats and blobRestoreStatus.", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "geoReplicationStats", + "blobRestoreStatus" + ], + "x-ms-enum": { + "name": "StorageAccountExpand", + "modelAsString": false + } } ], "responses": { @@ -251,20 +274,31 @@ "operationId": "StorageAccounts_Update", "description": "The update operation can be used to update the SKU, encryption, access tier, or tags for a storage account. It can also be used to map the account to a custom domain. Only one custom domain is supported per storage account; the replacement/change of custom domain is not supported. In order to replace an old custom domain, the old value must be cleared/unregistered before a new value can be set. The update of multiple properties is supported. This call does not change the storage keys for the account. If you want to change the storage account keys, use the regenerate keys operation. The location and name of the storage account cannot be changed after creation.", "x-ms-examples": { - "StorageAccountUpdate": { "$ref": "./examples/StorageAccountUpdate.json" } + "StorageAccountUpdate": { + "$ref": "./examples/StorageAccountUpdate.json" + }, + "StorageAccountEnableAD": { + "$ref": "./examples/StorageAccountEnableAD.json" + }, + "StorageAccountEnableCMK": { + "$ref": "./examples/StorageAccountEnableCMK.json" + }, + "StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK": { + "$ref": "./examples/StorageAccountUpdateUserAssignedEncryptionIdentityWithCMK.json" + }, + "StorageAccountUpdateDisablePublicNetworkAccess": { + "$ref": "./examples/StorageAccountUpdateDisablePublicNetworkAccess.json" + }, + "StorageAccountUpdateWithImmutabilityPolicy": { + "$ref": "./examples/StorageAccountUpdateWithImmutabilityPolicy.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { "name": "parameters", @@ -276,10 +310,10 @@ "description": "The parameters to provide for the updated account." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -292,6 +326,91 @@ } } }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/deletedAccounts": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_List", + "description": "Lists deleted accounts under the subscription.", + "x-ms-examples": { + "DeletedAccountList": { + "$ref": "./examples/DeletedAccountList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List of deleted accounts was retrieved and returned successfully.", + "schema": { + "$ref": "#/definitions/DeletedAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/deletedAccounts/{deletedAccountName}": { + "get": { + "tags": [ + "DeletedAccounts" + ], + "operationId": "DeletedAccounts_Get", + "description": "Get properties of specified deleted account resource.", + "x-ms-examples": { + "DeletedAccountGet": { + "$ref": "./examples/DeletedAccountGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/DeletedAccountName" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted storage account." + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- properties retrieved and returned successfully for the deleted account.", + "schema": { + "$ref": "#/definitions/DeletedAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/storageAccounts": { "get": { "tags": [ @@ -300,14 +419,16 @@ "operationId": "StorageAccounts_List", "description": "Lists all the storage accounts available under the subscription. Note that storage keys are not returned; use the ListKeys operation for this.", "x-ms-examples": { - "StorageAccountList": { "$ref": "./examples/StorageAccountList.json" } + "StorageAccountList": { + "$ref": "./examples/StorageAccountList.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -319,7 +440,7 @@ } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, @@ -331,17 +452,19 @@ "operationId": "StorageAccounts_ListByResourceGroup", "description": "Lists all the storage accounts available under the given resource group. Note that storage keys are not returned; use the ListKeys operation for this.", "x-ms-examples": { - "StorageAccountListByResourceGroup": { "$ref": "./examples/StorageAccountListByResourceGroup.json" } + "StorageAccountListByResourceGroup": { + "$ref": "./examples/StorageAccountListByResourceGroup.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -353,7 +476,7 @@ } }, "x-ms-pageable": { - "nextLinkName": null + "nextLinkName": "nextLink" } } }, @@ -363,28 +486,37 @@ "StorageAccounts" ], "operationId": "StorageAccounts_ListKeys", - "description": "Lists the access keys for the specified storage account.", + "description": "Lists the access keys or Kerberos keys (if active directory enabled) for the specified storage account.", "x-ms-examples": { - "StorageAccountListKeys": { "$ref": "./examples/StorageAccountListKeys.json" } + "StorageAccountListKeys": { + "$ref": "./examples/StorageAccountListKeys.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "enum": [ + "kerb" + ], + "x-ms-enum": { + "name": "ListKeyExpand" + }, + "description": "Specifies type of the key to be listed. Possible value is kerb." } ], "responses": { @@ -403,22 +535,21 @@ "StorageAccounts" ], "operationId": "StorageAccounts_RegenerateKey", - "description": "Regenerates one of the access keys for the specified storage account.", + "description": "Regenerates one of the access keys or Kerberos keys for the specified storage account.", "x-ms-examples": { - "StorageAccountRegenerateKey": { "$ref": "./examples/StorageAccountRegenerateKey.json" } + "StorageAccountRegenerateKey": { + "$ref": "./examples/StorageAccountRegenerateKey.json" + }, + "StorageAccountRegenerateKerbKey": { + "$ref": "./examples/StorageAccountRegenerateKerbKey.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { "name": "regenerateKey", @@ -427,13 +558,13 @@ "schema": { "$ref": "#/definitions/StorageAccountRegenerateKeyParameters" }, - "description": "Specifies name of the key which should be regenerated -- key1 or key2." + "description": "Specifies name of the key which should be regenerated -- key1, key2, kerb1, kerb2." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -446,27 +577,36 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/usages": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Storage/locations/{location}/usages": { "get": { "tags": [ - "Usage" + "LocationUsage" ], - "operationId": "Usage_List", - "description": "Gets the current usage count and the limit for the resources under the subscription.", + "operationId": "Usages_ListByLocation", + "description": "Gets the current usage count and the limit for the resources of the location under the subscription.", "x-ms-examples": { - "UsageList": { "$ref": "./examples/UsageList.json" } + "UsageList": { + "$ref": "./examples/StorageAccountListLocationUsage.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the Azure Storage resource." } ], "responses": { "200": { - "description": "OK -- current usage acount and limit retrieved and returned successfully.", + "description": "OK -- current usage count and limit retrieved and returned successfully.", "schema": { "$ref": "#/definitions/UsageListResult" } @@ -485,20 +625,16 @@ "operationId": "StorageAccounts_ListAccountSAS", "description": "List SAS credentials of a storage account.", "x-ms-examples": { - "StorageAccountListAccountSAS": { "$ref": "./examples/StorageAccountListAccountSAS.json" } + "StorageAccountListAccountSAS": { + "$ref": "./examples/StorageAccountListAccountSAS.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only. ", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { "name": "parameters", @@ -510,10 +646,10 @@ "description": "The parameters to provide to list SAS credentials for the storage account." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -534,20 +670,16 @@ "operationId": "StorageAccounts_ListServiceSAS", "description": "List service SAS credentials of a specific resource.", "x-ms-examples": { - "StorageAccountListServiceSAS": { "$ref": "./examples/StorageAccountListServiceSAS.json" } + "StorageAccountListServiceSAS": { + "$ref": "./examples/StorageAccountListServiceSAS.json" + } }, "parameters": [ { "$ref": "#/parameters/ResourceGroupName" }, { - "name": "accountName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", - "maxLength": 24, - "minLength": 3 + "$ref": "#/parameters/StorageAccountName" }, { "name": "parameters", @@ -559,10 +691,10 @@ "description": "The parameters to provide to list service SAS credentials." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -574,1352 +706,4055 @@ } } } - } - }, - "definitions": { - "OperationListResult": { - "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/Operation" + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/failover": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_Failover", + "description": "Failover request can be triggered for a storage account in case of availability issues. The failover occurs from the storage account's primary cluster to secondary cluster for RA-GRS accounts. The secondary cluster will become primary after failover.", + "x-ms-examples": { + "StorageAccountFailover": { + "$ref": "./examples/StorageAccountFailover.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" }, - "description": "List of Storage operations supported by the Storage resource provider." + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account failover is completed, and the secondary cluster has become primary." + }, + "202": { + "description": "Accepted -- Failover request accepted; operation will complete asynchronously." + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, - "Operation": { - "description": "Storage REST API operation definition.", - "type": "object", - "properties": { - "name": { - "description": "Operation name: {provider}/{resource}/{operation}", - "type": "string" + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/hnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_HierarchicalNamespaceMigration", + "description": "Live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountHierarchicalNamespaceMigration.json" + } }, - "display": { - "description": "Display metadata associated with the operation.", - "properties": { - "provider": { - "description": "Service provider: Microsoft Storage.", - "type": "string" - }, - "resource": { - "description": "Resource on which the operation is performed etc.", - "type": "string" - }, - "operation": { - "description": "Type of operation: get, read, delete, etc.", - "type": "string" + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "requestType", + "in": "query", + "required": true, + "type": "string", + "description": "Required. Hierarchical namespace migration type can either be a hierarchical namespace validation request 'HnsOnValidationRequest' or a hydration request 'HnsOnHydrationRequest'. The validation request will validate the migration whereas the hydration request will migrate the account." + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is completed." + }, + "202": { + "description": "Accepted -- Hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" } } }, - "origin": { - "type" : "string", - "description": "The origin of operations." - }, - "properties": { - "description": "Properties of operation, include metric specifications.", - "x-ms-client-flatten": true, - "x-ms-client-name": "OperationProperties", - "$ref" : "#/definitions/OperationProperties" - } - } - }, - "OperationProperties": - { - "description": "Properties of operation, include metric specifications.", - "properties": { - "serviceSpecification": { - "$ref" : "#/definitions/ServiceSpecification", - "description": "One property of operation, include metric specifications." + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" } } }, - "ServiceSpecification": - { - "description": "One property of operation, include metric specifications.", - "properties": { - "metricSpecifications": - { - "description": "Metric specifications of operation.", - "type":"array", - "items": { - "$ref" : "#/definitions/MetricSpecification" - } + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/aborthnsonmigration": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_AbortHierarchicalNamespaceMigration", + "description": "Abort live Migration of storage account to enable Hns", + "x-ms-examples": { + "StorageAccountAbortHierarchicalNamespaceMigration": { + "$ref": "./examples/StorageAccountAbortHierarchicalNamespaceMigration.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Returned when the storage account migration to hierarchical namespace is aborted." + }, + "202": { + "description": "Accepted -- Abort hierarchical namespace migration request accepted; operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/restoreBlobRanges": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RestoreBlobRanges", + "description": "Restore blobs in the specified blob ranges", + "x-ms-examples": { + "BlobRangesRestore": { + "$ref": "./examples/BlobRangesRestore.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobRestoreParameters" + }, + "description": "The parameters to provide for restore blob ranges." + } + ], + "responses": { + "200": { + "description": "OK -- returned when blob ranges are restored completely with the same properties specified in the request body.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + }, + "202": { + "description": "Accepted -- Blob restore request accepted; operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/BlobRestoreStatus" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/managementPolicies/{managementPolicyName}": { + "get": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Get", + "description": "Gets the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetManagementPolicies": { + "$ref": "./examples/StorageAccountGetManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "put": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_CreateOrUpdate", + "description": "Sets the managementpolicy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetManagementPolicies": { + "$ref": "./examples/StorageAccountSetManagementPolicy.json" + }, + "StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions": { + "$ref": "./examples/StorageAccountSetManagementPolicy_LastAccessTimeBasedBlobActions.json" + }, + "StorageAccountSetManagementPolicyWithSnapshotAndVersion": { + "$ref": "./examples/StorageAccountSetManagementPolicyWithSnapshotAndVersion.json" + }, + "StorageAccountSetManagementPolicyForBlockAndAppendBlobs": { + "$ref": "./examples/StorageAccountSetManagementPolicyForBlockAndAppendBlobs.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagementPolicy" + }, + "description": "The ManagementPolicy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put managementpolicy successfully.", + "schema": { + "$ref": "#/definitions/ManagementPolicy" + } + } + } + }, + "delete": { + "tags": [ + "ManagementPolicies" + ], + "operationId": "ManagementPolicies_Delete", + "description": "Deletes the managementpolicy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteManagementPolicies": { + "$ref": "./examples/StorageAccountDeleteManagementPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagementPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the managementpolicy successfully." + }, + "204": { + "description": "No Content -- The managementpolicy does not exist." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies/{blobInventoryPolicyName}": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Get", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountGetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_CreateOrUpdate", + "description": "Sets the blob inventory policy to the specified storage account.", + "x-ms-examples": { + "StorageAccountSetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountSetBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + }, + "description": "The blob inventory policy set to a storage account." + } + ], + "responses": { + "200": { + "description": "OK -- Put blob inventory policy successfully.", + "schema": { + "$ref": "#/definitions/BlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_Delete", + "description": "Deletes the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountDeleteBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BlobInventoryPolicyName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the blob inventory policy successfully." + }, + "204": { + "description": "No Content -- The blob inventory policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/inventoryPolicies": { + "get": { + "tags": [ + "BlobInventoryPolicies" + ], + "operationId": "BlobInventoryPolicies_List", + "description": "Gets the blob inventory policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountGetBlobInventoryPolicy": { + "$ref": "./examples/StorageAccountListBlobInventoryPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Get the blob inventory policies successfully.", + "schema": { + "$ref": "#/definitions/ListBlobInventoryPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_List", + "description": "List all the private endpoint connections associated with the storage account.", + "x-ms-examples": { + "StorageAccountListPrivateEndpointConnections": { + "$ref": "./examples/StorageAccountListPrivateEndpointConnections.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Successfully retrieved private endpoint connections.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountGetPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountGetPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Get the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Update the state of specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountPutPrivateEndpointConnection": { + "$ref": "./examples/StorageAccountPutPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "The private endpoint connection properties." + } + ], + "responses": { + "200": { + "description": "OK -- Update the private endpoint connection properties successfully.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the storage account.", + "x-ms-examples": { + "StorageAccountDeletePrivateEndpointConnection": { + "$ref": "./examples/StorageAccountDeletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the private endpoint connection successfully." + }, + "204": { + "description": "No Content -- The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByStorageAccount", + "description": "Gets the private link resources that need to be created for a storage account.", + "x-ms-examples": { + "StorageAccountListPrivateLinkResources": { + "$ref": "./examples/StorageAccountListPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "./privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_List", + "description": "List the object replication policies associated with the storage account.", + "x-ms-examples": { + "StorageAccountListObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountListObjectReplicationPolicies.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List object replication policies successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicies" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}": { + "get": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Get", + "description": "Get the object replication policy of the storage account by policy ID.", + "x-ms-examples": { + "StorageAccountGetObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountGetObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Get the object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_CreateOrUpdate", + "description": "Create or update the object replication policy of the storage account.", + "x-ms-examples": { + "StorageAccountCreateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountCreateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountCreateObjectReplicationPolicyOnSource.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnDestination": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json" + }, + "StorageAccountUpdateObjectReplicationPolicyOnSource": { + "$ref": "./examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + }, + "description": "The object replication policy set to a storage account. A unique policy ID will be created if absent." + } + ], + "responses": { + "200": { + "description": "OK -- Put object replication policy successfully.", + "schema": { + "$ref": "#/definitions/ObjectReplicationPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "ObjectReplicationPolicies" + ], + "operationId": "ObjectReplicationPolicies_Delete", + "description": "Deletes the object replication policy associated with the specified storage account.", + "x-ms-examples": { + "StorageAccountDeleteObjectReplicationPolicies": { + "$ref": "./examples/StorageAccountDeleteObjectReplicationPolicy.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ObjectReplicationPolicyId" + } + ], + "responses": { + "200": { + "description": "OK -- Delete the object replication policy successfully." + }, + "204": { + "description": "No Content -- The object replication policy does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/revokeUserDelegationKeys": { + "post": { + "tags": [ + "StorageAccounts" + ], + "operationId": "StorageAccounts_RevokeUserDelegationKeys", + "description": "Revoke user delegation keys.", + "x-ms-examples": { + "StorageAccountRevokeUserDelegationKeys": { + "$ref": "./examples/StorageAccountRevokeUserDelegationKeys.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3 + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- revoke user delegation keys succeeded." + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes/{encryptionScopeName}": { + "put": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Put", + "description": "Synchronously creates or updates an encryption scope under the specified storage account. If an encryption scope is already created and a subsequent request is issued with different properties, the encryption scope properties will be updated per the specified request.", + "x-ms-examples": { + "StorageAccountPutEncryptionScope": { + "$ref": "./examples/StorageAccountPutEncryptionScope.json" + }, + "StorageAccountPutEncryptionScopeWithInfrastructureEncryption": { + "$ref": "./examples/StorageAccountPutEncryptionScopeWithInfrastructureEncryption.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the create or update." + } + ], + "responses": { + "201": { + "description": "Created -- Create encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Patch", + "description": "Update encryption scope properties as specified in the request body. Update fails if the specified encryption scope does not already exist.", + "x-ms-examples": { + "StorageAccountPatchEncryptionScope": { + "$ref": "./examples/StorageAccountPatchEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + }, + { + "name": "encryptionScope", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "Encryption scope properties to be used for the update." + } + ], + "responses": { + "200": { + "description": "OK -- Update encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_Get", + "description": "Returns the properties for the specified encryption scope.", + "x-ms-examples": { + "StorageAccountGetEncryptionScope": { + "$ref": "./examples/StorageAccountGetEncryptionScope.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/EncryptionScopeName" + } + ], + "responses": { + "200": { + "description": "OK -- Get encryption scope operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScope" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/encryptionScopes": { + "get": { + "tags": [ + "EncryptionScopes" + ], + "operationId": "EncryptionScopes_List", + "description": "Lists all the encryption scopes available under the specified storage account.", + "x-ms-examples": { + "StorageAccountEncryptionScopeList": { + "$ref": "./examples/StorageAccountEncryptionScopeList.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/StorageAccountName" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- List encryption scopes operation completed successfully.", + "schema": { + "$ref": "#/definitions/EncryptionScopeListResult" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "OperationListResult": { + "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "description": "List of Storage operations supported by the Storage resource provider." + } + } + }, + "Operation": { + "description": "Storage REST API operation definition.", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft Storage.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed etc.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of the operation.", + "type": "string" + } + } + }, + "origin": { + "type": "string", + "description": "The origin of operations." + }, + "properties": { + "description": "Properties of operation, include metric specifications.", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "fillGapWithZero": { + "type": "boolean", + "description": "The property to decide fill gap with zero or not." + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "StorageAccountCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The storage account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.Storage/storageAccounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.Storage/storageAccounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the storage account name." + }, + "SKUCapability": { + "properties": { + "name": { + "readOnly": true, + "type": "string", + "description": "The name of capability, The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "value": { + "readOnly": true, + "type": "string", + "description": "A string value to indicate states of given capability. Possibly 'true' or 'false'." + } + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "Restriction": { + "properties": { + "type": { + "readOnly": true, + "type": "string", + "description": "The type of restrictions. As of now only possible value for this is location." + }, + "values": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." + }, + "reasonCode": { + "type": "string", + "enum": [ + "QuotaId", + "NotAvailableForSubscription" + ], + "x-ms-enum": { + "name": "ReasonCode", + "modelAsString": true + }, + "description": "The reason for the restriction. As of now this can be \"QuotaId\" or \"NotAvailableForSubscription\". Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The \"NotAvailableForSubscription\" is related to capacity at DC." + } + }, + "description": "The restriction because of which SKU cannot be used." + }, + "StorageSkuListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SkuInformation" + }, + "description": "Get the list result of storage SKUs and their properties." + } + }, + "description": "The response from the List Storage SKUs operation." + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": false + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + }, + "SkuInformation": { + "properties": { + "name": { + "$ref": "./common.json#/definitions/SkuName" + }, + "tier": { + "$ref": "./common.json#/definitions/Tier" + }, + "resourceType": { + "readOnly": true, + "type": "string", + "description": "The type of the resource, usually it is 'storageAccounts'." + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "locations": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." + }, + "capabilities": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/SKUCapability" + }, + "description": "The capability information in the specified SKU, including file encryption, network ACLs, change notification, etc." + }, + "restrictions": { + "type": "array", + "items": { + "$ref": "#/definitions/Restriction" + }, + "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." + } + }, + "required": [ + "name" + ], + "description": "Storage SKU and its properties" + }, + "CustomDomain": { + "properties": { + "name": { + "type": "string", + "description": "Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source." + }, + "useSubDomainName": { + "type": "boolean", + "description": "Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates." + } + }, + "required": [ + "name" + ], + "description": "The custom domain assigned to this storage account. This can be set via Update." + }, + "SasPolicy": { + "properties": { + "sasExpirationPeriod": { + "type": "string", + "example": "1.15:59:59", + "description": "The SAS expiration period, DD.HH:MM:SS." + }, + "expirationAction": { + "type": "string", + "enum": [ + "Log" + ], + "x-ms-enum": { + "name": "ExpirationAction", + "modelAsString": true + }, + "default": "Log", + "description": "The SAS expiration action. Can only be Log." + } + }, + "required": [ + "sasExpirationPeriod", + "expirationAction" + ], + "description": "SasPolicy assigned to the storage account." + }, + "KeyPolicy": { + "properties": { + "keyExpirationPeriodInDays": { + "type": "integer", + "description": "The key expiration period in days.", + "format": "int32" + } + }, + "required": [ + "keyExpirationPeriodInDays" + ], + "description": "KeyPolicy assigned to the storage account." + }, + "KeyCreationTime": { + "properties": { + "key1": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + }, + "key2": { + "type": "string", + "format": "date-time", + "example": "2021-02-03T05:57:30.917Z" + } + }, + "description": "Storage account keys creation time." + }, + "EncryptionService": { + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean indicating whether or not the service encrypts the data as it is stored." + }, + "lastEnabledTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a rough estimate." + }, + "keyType": { + "type": "string", + "description": "Encryption key type to be used for the encryption service. 'Account' key type implies that an account-scoped encryption key will be used. 'Service' key type implies that a default service key is used.", + "enum": [ + "Service", + "Account" + ], + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "description": "A service that allows server-side encryption to be used." + }, + "EncryptionServices": { + "properties": { + "blob": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the blob storage service." + }, + "file": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the file storage service." + }, + "table": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the table storage service." + }, + "queue": { + "$ref": "#/definitions/EncryptionService", + "description": "The encryption function of the queue storage service." + } + }, + "description": "A list of services that support encryption." + }, + "KeyVaultProperties": { + "description": "Properties of key vault.", + "properties": { + "keyname": { + "type": "string", + "description": "The name of KeyVault key.", + "x-ms-client-name": "KeyName" + }, + "keyversion": { + "type": "string", + "description": "The version of KeyVault key.", + "x-ms-client-name": "KeyVersion" + }, + "keyvaulturi": { + "type": "string", + "description": "The Uri of KeyVault.", + "x-ms-client-name": "KeyVaultUri" + }, + "currentVersionedKeyIdentifier": { + "type": "string", + "readOnly": true, + "description": "The object identifier of the current versioned Key Vault Key in use.", + "x-ms-client-name": "CurrentVersionedKeyIdentifier" + }, + "lastKeyRotationTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key.", + "x-ms-client-name": "LastKeyRotationTimestamp" + } + } + }, + "Encryption": { + "properties": { + "services": { + "$ref": "#/definitions/EncryptionServices", + "description": "List of services which support encryption." + }, + "keySource": { + "type": "string", + "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault", + "enum": [ + "Microsoft.Storage", + "Microsoft.Keyvault" + ], + "x-ms-enum": { + "name": "KeySource", + "modelAsString": true + }, + "default": "Microsoft.Storage" + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "x-ms-client-name": "RequireInfrastructureEncryption", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." + }, + "keyvaultproperties": { + "$ref": "#/definitions/KeyVaultProperties", + "x-ms-client-name": "KeyVaultProperties", + "description": "Properties provided by key vault." + }, + "identity": { + "$ref": "#/definitions/EncryptionIdentity", + "x-ms-client-name": "EncryptionIdentity", + "description": "The identity to be used with service-side encryption at rest." + } + }, + "required": [ + "keySource" + ], + "description": "The encryption settings on the storage account." + }, + "EncryptionIdentity": { + "properties": { + "userAssignedIdentity": { + "type": "string", + "description": "Resource identifier of the UserAssigned identity to be associated with server-side encryption on the storage account.", + "x-ms-client-name": "EncryptionUserAssignedIdentity" + } + }, + "description": "Encryption identity for the storage account." + }, + "UserAssignedIdentity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of the identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client ID of the identity." + } + }, + "description": "UserAssignedIdentity for the resource." + }, + "ResourceAccessRule": { + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant Id" + }, + "resourceId": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "Resource Access Rule." + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "x-ms-client-name": "VirtualNetworkResourceId", + "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of virtual network rule." + }, + "state": { + "type": "string", + "enum": [ + "Provisioning", + "Deprovisioning", + "Succeeded", + "Failed", + "NetworkSourceDeleted" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true + }, + "description": "Gets the state of virtual network rule." + } + }, + "required": [ + "id" + ], + "description": "Virtual Network rule." + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "x-ms-client-name": "IPAddressOrRange", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + }, + "action": { + "type": "string", + "enum": [ + "Allow" + ], + "x-ms-enum": { + "name": "Action", + "modelAsString": false + }, + "default": "Allow", + "description": "The action of IP ACL rule." + } + }, + "required": [ + "value" + ], + "description": "IP rule with specific IP or IP range in CIDR format." + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "enum": [ + "None", + "Logging", + "Metrics", + "AzureServices" + ], + "x-ms-enum": { + "name": "Bypass", + "modelAsString": true + }, + "x-ms-client-name": "Bypass", + "default": "AzureServices", + "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, \"Logging, Metrics\"), or None to bypass none of those traffics." + }, + "resourceAccessRules": { + "type": "array", + "items": { + "description": "Resource Access Rules.", + "$ref": "#/definitions/ResourceAccessRule" + }, + "description": "Sets the resource access rules" + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "description": "Virtual Network rule.", + "$ref": "#/definitions/VirtualNetworkRule" + }, + "description": "Sets the virtual network rules" + }, + "ipRules": { + "type": "array", + "items": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "$ref": "#/definitions/IPRule" + }, + "description": "Sets the IP ACL rules" + }, + "defaultAction": { + "type": "string", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "DefaultAction", + "modelAsString": false + }, + "default": "Allow", + "description": "Specifies the default action of allow or deny when no other rules match." + } + }, + "required": [ + "defaultAction" + ], + "description": "Network rule set" + }, + "AzureFilesIdentityBasedAuthentication": { + "properties": { + "directoryServiceOptions": { + "type": "string", + "description": "Indicates the directory service used.", + "enum": [ + "None", + "AADDS", + "AD" + ], + "x-ms-enum": { + "name": "DirectoryServiceOptions", + "modelAsString": true + } + }, + "activeDirectoryProperties": { + "$ref": "#/definitions/ActiveDirectoryProperties", + "description": "Required if choose AD." + }, + "defaultSharePermission": { + "type": "string", + "description": "Default share permission for users using Kerberos authentication if RBAC role is not assigned.", + "enum": [ + "None", + "StorageFileDataSmbShareReader", + "StorageFileDataSmbShareContributor", + "StorageFileDataSmbShareElevatedContributor" + ], + "x-ms-enum": { + "name": "DefaultSharePermission", + "modelAsString": true + } + } + }, + "required": [ + "directoryServiceOptions" + ], + "description": "Settings for Azure Files identity based authentication." + }, + "ActiveDirectoryProperties": { + "properties": { + "domainName": { + "type": "string", + "description": "Specifies the primary domain that the AD DNS server is authoritative for." + }, + "netBiosDomainName": { + "type": "string", + "description": "Specifies the NetBIOS domain name." + }, + "forestName": { + "type": "string", + "description": "Specifies the Active Directory forest to get." + }, + "domainGuid": { + "type": "string", + "description": "Specifies the domain GUID." + }, + "domainSid": { + "type": "string", + "description": "Specifies the security identifier (SID)." + }, + "azureStorageSid": { + "type": "string", + "description": "Specifies the security identifier (SID) for Azure Storage." + } + }, + "required": [ + "domainName", + "netBiosDomainName", + "forestName", + "domainGuid", + "domainSid", + "azureStorageSid" + ], + "description": "Settings properties for Active Directory (AD)." + }, + "StorageAccountPropertiesCreateParameters": { + "properties": { + "publicNetworkAccess": { + "type": "string", + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Not applicable. Azure Storage encryption is enabled for all storage accounts and cannot be disabled." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set" + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true. The default value is true since API version 2019-04-01." + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the new containers in the account by default." + } + }, + "description": "The parameters used to create the storage account." + }, + "Identity": { + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal ID of resource identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant ID of resource." + }, + "type": { + "type": "string", + "description": "The identity type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned", + "SystemAssigned,UserAssigned" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + }, + "description": "Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here." + } + }, + "required": [ + "type" + ], + "description": "Identity for the resource." + }, + "ExtendedLocationType": { + "type": "string", + "description": "The type of extendedLocation.", + "enum": [ + "EdgeZone" + ], + "x-ms-enum": { + "name": "ExtendedLocationTypes", + "modelAsString": true + } + }, + "ExtendedLocation": { + "description": "The complex type of the extended location.", + "properties": { + "name": { + "type": "string", + "description": "The name of the extended location." + }, + "type": { + "$ref": "#/definitions/ExtendedLocationType", + "description": "The type of the extended location." + } + } + }, + "StorageAccountCreateParameters": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Required. Gets or sets the SKU name." + }, + "kind": { + "type": "string", + "description": "Required. Indicates the type of storage account.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "location": { + "type": "string", + "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "Optional. Set the extended location of the resource. If not set, the storage account will be created in Azure main region. Otherwise it will be created in the specified extended location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesCreateParameters", + "description": "The parameters used to create the storage account." + } + }, + "required": [ + "sku", + "kind", + "location" + ], + "description": "The parameters used when creating a storage account." + }, + "Endpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + }, + "microsoftEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountMicrosoftEndpoints", + "description": "Gets the microsoft routing storage endpoints." + }, + "internetEndpoints": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/StorageAccountInternetEndpoints", + "description": "Gets the internet routing storage endpoints" + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object." + }, + "StorageAccountMicrosoftEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "queue": { + "readOnly": true, + "type": "string", + "description": "Gets the queue endpoint." + }, + "table": { + "readOnly": true, + "type": "string", + "description": "Gets the table endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, queue, table, web or dfs object via a microsoft routing endpoint." + }, + "StorageAccountInternetEndpoints": { + "properties": { + "blob": { + "readOnly": true, + "type": "string", + "description": "Gets the blob endpoint." + }, + "file": { + "readOnly": true, + "type": "string", + "description": "Gets the file endpoint." + }, + "web": { + "readOnly": true, + "type": "string", + "description": "Gets the web endpoint." + }, + "dfs": { + "readOnly": true, + "type": "string", + "description": "Gets the dfs endpoint." + } + }, + "description": "The URIs that are used to perform a retrieval of a public blob, file, web or dfs object via a internet routing endpoint." + }, + "GeoReplicationStats": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of the secondary location. Possible values are: - Live: Indicates that the secondary location is active and operational. - Bootstrap: Indicates initial synchronization from the primary location to the secondary location is in progress.This typically occurs when replication is first enabled. - Unavailable: Indicates that the secondary location is temporarily unavailable.", + "enum": [ + "Live", + "Bootstrap", + "Unavailable" + ], + "x-ms-enum": { + "name": "GeoReplicationStatus", + "modelAsString": true + } + }, + "lastSyncTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "All primary writes preceding this UTC date/time value are guaranteed to be available for read operations. Primary writes following this point in time may or may not be available for reads. Element may be default value if value of LastSyncTime is not available, this can happen if secondary is offline or we are in bootstrap." + }, + "canFailover": { + "readOnly": true, + "type": "boolean", + "description": "A boolean flag which indicates whether or not account failover is supported for the account." + } + }, + "description": "Statistics related to replication for storage account's Blob, Table, Queue and File services. It is only available when geo-redundant replication is enabled for the storage account." + }, + "RoutingPreference": { + "properties": { + "routingChoice": { + "type": "string", + "description": "Routing Choice defines the kind of network routing opted by the user.", + "enum": [ + "MicrosoftRouting", + "InternetRouting" + ], + "x-ms-enum": { + "name": "RoutingChoice", + "modelAsString": true + } + }, + "publishMicrosoftEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether microsoft routing storage endpoints are to be published" + }, + "publishInternetEndpoints": { + "type": "boolean", + "description": "A boolean flag which indicates whether internet routing storage endpoints are to be published" + } + }, + "description": "Routing preference defines the type of network, either microsoft or internet routing to be used to deliver the user data, the default option is microsoft routing" + }, + "ImmutableStorageAccount": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "A boolean flag which enables account-level immutability. All the containers under such an account have object-level immutability enabled by default." + }, + "immutabilityPolicy": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/AccountImmutabilityPolicyProperties", + "description": "Specifies the default account-level immutability policy which is inherited and applied to objects that do not possess an explicit immutability policy at the object level. The object-level immutability policy has higher precedence than the container-level immutability policy, which has a higher precedence than the account-level immutability policy." + } + }, + "description": "This property enables and defines account-level immutability. Enabling the feature auto-enables Blob Versioning." + }, + "AccountImmutabilityPolicyProperties": { + "type": "object", + "properties": { + "immutabilityPeriodSinceCreationInDays": { + "type": "integer", + "minimum": 1, + "maximum": 146000, + "format": "int32", + "description": "The immutability period for the blobs in the container since the policy creation, in days." + }, + "state": { + "type": "string", + "description": "The ImmutabilityPolicy state defines the mode of the policy. Disabled state disables the policy, Unlocked state allows increase and decrease of immutability retention time and also allows toggling allowProtectedAppendWrites property, Locked state only allows the increase of the immutability retention time. A policy can only be created in a Disabled or Unlocked state and can be toggled between the two states. Only a policy in an Unlocked state can transition to a Locked state which cannot be reverted.", + "enum": [ + "Unlocked", + "Locked", + "Disabled" + ], + "x-ms-enum": { + "name": "AccountImmutabilityPolicyState", + "modelAsString": true + } + }, + "allowProtectedAppendWrites": { + "type": "boolean", + "description": "This property can only be changed for disabled and unlocked time-based retention policies. When enabled, new blocks can be written to an append blob while maintaining immutability protection and compliance. Only new blocks can be added and any existing blocks cannot be modified or deleted." + } + }, + "description": "This defines account-level immutability policy properties." + }, + "BlobRestoreStatus": { + "properties": { + "status": { + "readOnly": true, + "type": "string", + "description": "The status of blob restore progress. Possible values are: - InProgress: Indicates that blob restore is ongoing. - Complete: Indicates that blob restore has been completed successfully. - Failed: Indicates that blob restore is failed.", + "enum": [ + "InProgress", + "Complete", + "Failed" + ], + "x-ms-enum": { + "name": "BlobRestoreProgressStatus", + "modelAsString": true + } + }, + "failureReason": { + "readOnly": true, + "type": "string", + "description": "Failure reason when blob restore is failed." + }, + "restoreId": { + "readOnly": true, + "type": "string", + "description": "Id for tracking blob restore request." + }, + "parameters": { + "readOnly": true, + "$ref": "#/definitions/BlobRestoreParameters", + "description": "Blob restore request parameters." + } + }, + "description": "Blob restore status." + }, + "DeletedAccountProperties": { + "properties": { + "storageAccountResourceId": { + "readOnly": true, + "type": "string", + "description": "Full resource id of the original storage account." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Location of the deleted account." + }, + "restoreReference": { + "readOnly": true, + "type": "string", + "description": "Can be used to attempt recovering this deleted account via PutStorageAccount API." + }, + "creationTime": { + "readOnly": true, + "type": "string", + "description": "Creation time of the deleted account." + }, + "deletionTime": { + "readOnly": true, + "type": "string", + "description": "Deletion time of the deleted account." + } + }, + "description": "Attributes of a deleted storage account." + }, + "StorageAccountProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the storage account at the time the operation was called.", + "enum": [ + "Creating", + "ResolvingDNS", + "Succeeded" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": false + } + }, + "primaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint." + }, + "primaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the primary data center for the storage account." + }, + "statusOfPrimary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "lastGeoFailoverTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "secondaryLocation": { + "readOnly": true, + "type": "string", + "description": "Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS." + }, + "statusOfSecondary": { + "readOnly": true, + "type": "string", + "description": "Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.", + "enum": [ + "available", + "unavailable" + ], + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": false + } + }, + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Gets the creation date and time of the storage account in UTC." + }, + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "readOnly": true, + "description": "Gets the custom domain the user assigned to this storage account." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "readOnly": true, + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "readOnly": true, + "description": "KeyPolicy assigned to the storage account." + }, + "keyCreationTime": { + "readOnly": true, + "$ref": "#/definitions/KeyCreationTime", + "description": "Storage account keys creation time." + }, + "secondaryEndpoints": { + "$ref": "#/definitions/Endpoints", + "readOnly": true, + "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "readOnly": true, + "description": "Gets the encryption settings on the account. If unspecified, the account is unencrypted." + }, + "accessTier": { + "readOnly": true, + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false + } + }, + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." + }, + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "x-ms-client-name": "NetworkRuleSet", + "description": "Network rule set", + "readOnly": true + }, + "isHnsEnabled": { + "type": "boolean", + "x-ms-client-name": "IsHnsEnabled", + "description": "Account HierarchicalNamespace enabled if sets to true." + }, + "geoReplicationStats": { + "$ref": "#/definitions/GeoReplicationStats", + "x-ms-client-name": "GeoReplicationStats", + "description": "Geo Replication Stats", + "readOnly": true + }, + "failoverInProgress": { + "type": "boolean", + "x-ms-client-name": "FailoverInProgress", + "description": "If the failover is in progress, the value will be true, otherwise, it will be null.", + "readOnly": true + }, + "largeFileSharesState": { + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "blobRestoreStatus": { + "$ref": "#/definitions/BlobRestoreStatus", + "x-ms-client-name": "BlobRestoreStatus", + "description": "Blob restore status", + "readOnly": true + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { + "type": "string", + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "isNfsV3Enabled": { + "type": "boolean", + "x-ms-client-name": "EnableNfsV3", + "description": "NFS 3.0 protocol support enabled if set to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." } - } + }, + "description": "Properties of the storage account." }, - "MetricSpecification": { - "description": "Metric specification of operation.", + "DeletedAccount": { "properties": { - "name": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeletedAccountProperties", + "description": "Properties of the deleted account." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource" + } + ], + "description": "Deleted storage account" + }, + "StorageAccount": { + "properties": { + "sku": { + "$ref": "./common.json#/definitions/Sku", + "readOnly": true, + "description": "Gets the SKU." + }, + "kind": { + "readOnly": true, "type": "string", - "description": "Name of metric specification." + "description": "Gets the Kind.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation", + "description": "The extendedLocation of the resource." }, - "displayName": + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountProperties", + "description": "Properties of the storage account." + } + }, + "allOf": [ { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource" + } + ], + "description": "The storage account." + }, + "StorageAccountKey": { + "properties": { + "keyName": { + "readOnly": true, "type": "string", - "description": "Display name of metric specification." + "description": "Name of the key." }, - "displayDescription": { + "value": { + "readOnly": true, "type": "string", - "description": "Display description of metric specification." + "description": "Base 64-encoded value of the key." }, - "unit": { - "type" : "string", - "description": "Unit could be Bytes or Count." + "permissions": { + "readOnly": true, + "type": "string", + "description": "Permissions for the key -- read-only or full permissions.", + "enum": [ + "Read", + "Full" + ], + "x-ms-enum": { + "name": "KeyPermission", + "modelAsString": false + } }, - "dimensions": { - "description": "Dimensions of blobs, including blob type and access tier.", - "type" : "array", + "creationTime": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "Creation time of the key, in round trip date format." + } + }, + "description": "An access key for the storage account." + }, + "StorageAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/StorageAccount" + }, + "description": "Gets the list of storage accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of storage accounts. Returned when total number of requested storage accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Storage Accounts operation." + }, + "DeletedAccountListResult": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DeletedAccount" + }, + "description": "Gets the list of deleted accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of deleted accounts. Returned when total number of requested deleted accounts exceed maximum page size.", + "readOnly": true + } + }, + "description": "The response from the List Deleted Accounts operation." + }, + "StorageAccountListKeysResult": { + "properties": { + "keys": { + "readOnly": true, + "type": "array", "items": { - "$ref" : "#/definitions/Dimension" + "$ref": "#/definitions/StorageAccountKey" + }, + "description": "Gets the list of storage account keys and their properties for the specified storage account." + } + }, + "description": "The response from the ListKeys operation." + }, + "StorageAccountRegenerateKeyParameters": { + "properties": { + "keyName": { + "type": "string", + "description": "The name of storage keys that want to be regenerated, possible values are key1, key2, kerb1, kerb2." + } + }, + "required": [ + "keyName" + ], + "description": "The parameters used to regenerate the storage account key." + }, + "StorageAccountPropertiesUpdateParameters": { + "properties": { + "customDomain": { + "$ref": "#/definitions/CustomDomain", + "description": "Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Provides the encryption settings on the account. The default setting is unencrypted." + }, + "sasPolicy": { + "$ref": "#/definitions/SasPolicy", + "description": "SasPolicy assigned to the storage account." + }, + "keyPolicy": { + "$ref": "#/definitions/KeyPolicy", + "description": "KeyPolicy assigned to the storage account." + }, + "accessTier": { + "type": "string", + "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", + "enum": [ + "Hot", + "Cool" + ], + "x-ms-enum": { + "name": "AccessTier", + "modelAsString": false } }, - "aggregationType": { - "type" : "string", - "description": "Aggregation type could be Average." - } , - "fillGapWithZero": - { - "type" : "boolean", - "description": "The property to decide fill gap with zero or not." + "azureFilesIdentityBasedAuthentication": { + "$ref": "#/definitions/AzureFilesIdentityBasedAuthentication", + "description": "Provides the identity based authentication settings for Azure Files." }, - "category": { + "supportsHttpsTrafficOnly": { + "type": "boolean", + "x-ms-client-name": "EnableHttpsTrafficOnly", + "description": "Allows https traffic only to storage service if sets to true." + }, + "networkAcls": { + "description": "Network rule set", + "x-ms-client-name": "NetworkRuleSet", + "$ref": "#/definitions/NetworkRuleSet" + }, + "largeFileSharesState": { "type": "string", - "description": "The category this metric specification belong to, could be Capacity." + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LargeFileSharesState", + "modelAsString": true + }, + "description": "Allow large file shares if sets to Enabled. It cannot be disabled once it is enabled." }, - "resourceIdDimensionNameOverride": { + "routingPreference": { + "$ref": "#/definitions/RoutingPreference", + "x-ms-client-name": "RoutingPreference", + "description": "Maintains information about the network routing choice opted by the user for data transfer" + }, + "allowBlobPublicAccess": { + "type": "boolean", + "x-ms-client-name": "AllowBlobPublicAccess", + "description": "Allow or disallow public access to all blobs or containers in the storage account. The default interpretation is true for this property." + }, + "minimumTlsVersion": { "type": "string", - "description": "Account Resource Id." + "enum": [ + "TLS1_0", + "TLS1_1", + "TLS1_2" + ], + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": true + }, + "description": "Set the minimum TLS version to be permitted on requests to storage. The default interpretation is TLS 1.0 for this property." + }, + "allowSharedKeyAccess": { + "type": "boolean", + "description": "Indicates whether the storage account permits requests to be authorized with the account access key via Shared Key. If false, then all requests, including shared access signatures, must be authorized with Azure Active Directory (Azure AD). The default value is null, which is equivalent to true." + }, + "allowCrossTenantReplication": { + "type": "boolean", + "description": "Allow or disallow cross AAD tenant object replication. The default interpretation is true for this property." + }, + "defaultToOAuthAuthentication": { + "type": "boolean", + "description": "A boolean flag which indicates whether the default authentication is OAuth or not. The default interpretation is false for this property." + }, + "publicNetworkAccess": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "description": "Allow or disallow public network access to Storage Account. Value is optional but if passed in, must be 'Enabled' or 'Disabled'." + }, + "immutableStorageWithVersioning": { + "$ref": "#/definitions/ImmutableStorageAccount", + "x-ms-client-name": "ImmutableStorageWithVersioning", + "description": "The property is immutable and can only be set to true at the account creation time. When set to true, it enables object level immutability for all the containers in the account by default." } - } + }, + "description": "The parameters used when updating a storage account." }, - "Dimension": { - "description": "Dimension of blobs, possiblly be blob type or access tier.", + "StorageAccountUpdateParameters": { "properties": { - "name" : { - "type" : "string", - "description": "Display name of dimension." + "sku": { + "$ref": "./common.json#/definitions/Sku", + "description": "Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS, Premium_LRS or Premium_ZRS, nor can accounts of those SKU names be updated to any other value." }, - "displayName" : { - "type" : "string", - "description": "Display name of dimension." + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "The identity of the resource." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/StorageAccountPropertiesUpdateParameters", + "description": "The parameters used when updating a storage account." + }, + "kind": { + "type": "string", + "description": "Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server.", + "enum": [ + "Storage", + "StorageV2", + "BlobStorage", + "FileStorage", + "BlockBlobStorage" + ], + "x-ms-enum": { + "name": "Kind", + "modelAsString": true + } } - } + }, + "description": "The parameters that can be provided when updating the storage account properties." + }, + "BlobRestoreParameters": { + "properties": { + "timeToRestore": { + "type": "string", + "format": "date-time", + "description": "Restore blob to the specified time." + }, + "blobRanges": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobRestoreRange" + }, + "description": "Blob ranges to restore." + } + }, + "required": [ + "timeToRestore", + "blobRanges" + ], + "description": "Blob restore parameters" }, - "StorageAccountCheckNameAvailabilityParameters": { + "BlobRestoreRange": { "properties": { - "name": { + "startRange": { "type": "string", - "description": "The storage account name." + "description": "Blob start range. This is inclusive. Empty means account start." }, - "type": { + "endRange": { "type": "string", - "enum": [ "Microsoft.Storage/storageAccounts" ], - "x-ms-enum": { - "name": "Type", - "modelAsString": false - }, - "description": "The type of resource, Microsoft.Storage/storageAccounts" + "description": "Blob end range. This is exclusive. Empty means account end." } }, "required": [ - "name", - "type" + "startRange", + "endRange" ], - "description": "The parameters used to check the availabity of the storage account name." + "description": "Blob range" }, - "SKUCapability": { + "UsageName": { "properties": { - "name": { + "value": { "readOnly": true, "type": "string", - "description": "The name of capability, The capability information in the specified sku, including file encryption, network acls, change notification, etc." + "description": "Gets a string describing the resource name." }, - "value": { + "localizedValue": { "readOnly": true, "type": "string", - "description": "A string value to indicate states of given capability. Possibly 'true' or 'false'." + "description": "Gets a localized string describing the resource name." } }, - "description": "The capability information in the specified sku, including file encryption, network acls, change notification, etc." + "description": "The usage names that can be used; currently limited to StorageAccount." }, - "Restriction": { + "Usage": { "properties": { - "type": { - "readOnly": true, - "type": "string", - "description": "The type of restrictions. As of now only possible value for this is location." - }, - "values": { + "unit": { "readOnly": true, - "type": "array", - "items": { - "type": "string" - }, - "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted." - }, - "reasonCode": { "type": "string", + "description": "Gets the unit of measurement.", "enum": [ - "QuotaId", - "NotAvailableForSubscription" + "Count", + "Bytes", + "Seconds", + "Percent", + "CountsPerSecond", + "BytesPerSecond" ], "x-ms-enum": { - "name": "ReasonCode", - "modelAsString": true - }, - "description": "The reason for the restriction. As of now this can be “QuotaId†or “NotAvailableForSubscriptionâ€. Quota Id is set when the SKU has requiredQuotas parameter as the subscription does not belong to that quota. The “NotAvailableForSubscription†is related to capacity at DC." + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the current count of the allocated resources in the subscription." + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "Gets the maximum count of the resources that can be allocated in the subscription." + }, + "name": { + "$ref": "#/definitions/UsageName", + "readOnly": true, + "description": "Gets the name of the type of usage." } }, - "description": "The restriction because of which SKU cannot be used." + "description": "Describes Storage Resource Usage." }, - "StorageSkuListResult": { + "UsageListResult": { "properties": { "value": { - "readOnly": true, "type": "array", "items": { - "$ref": "#/definitions/Sku" + "$ref": "#/definitions/Usage" }, - "description": "Get the list result of storage SKUs and their properties." + "description": "Gets or sets the list of Storage Resource Usages." } }, - "description": "The response from the List Storage SKUs operation." + "description": "The response from the List Usages operation." }, - "CheckNameAvailabilityResult": { + "AccountSasParameters": { "properties": { - "nameAvailable": { - "readOnly": true, - "type": "boolean", - "description": "Gets a boolean value that indicates whether the name is available for you to use. If true, the name is available. If false, the name has already been taken or is invalid and cannot be used." - }, - "reason": { - "readOnly": true, + "signedServices": { "type": "string", - "description": "Gets the reason that a storage account name could not be used. The Reason element is only returned if NameAvailable is false.", "enum": [ - "AccountNameInvalid", - "AlreadyExists" + "b", + "q", + "t", + "f" ], "x-ms-enum": { - "name": "Reason", - "modelAsString": false - } + "name": "Services", + "modelAsString": true + }, + "x-ms-client-name": "Services", + "description": "The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f)." }, - "message": { - "readOnly": true, - "type": "string", - "description": "Gets an error message explaining the Reason value in more detail." - } - }, - "description": "The CheckNameAvailability operation response." - }, - "Sku": { - "properties": { - "name": { + "signedResourceTypes": { "type": "string", - "description": "Gets or sets the sku name. Required for account creation; optional for update. Note that in older versions, sku name was called accountType.", "enum": [ - "Standard_LRS", - "Standard_GRS", - "Standard_RAGRS", - "Standard_ZRS", - "Premium_LRS" + "s", + "c", + "o" ], "x-ms-enum": { - "name": "SkuName", - "modelAsString": false - } + "name": "SignedResourceTypes", + "modelAsString": true + }, + "x-ms-client-name": "ResourceTypes", + "description": "The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files." }, - "tier": { - "readOnly": true, + "signedPermission": { "type": "string", - "description": "Gets the sku tier. This is based on the SKU name.", "enum": [ - "Standard", - "Premium" + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" ], "x-ms-enum": { - "name": "SkuTier", - "modelAsString": false - } + "name": "Permissions", + "modelAsString": true + }, + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." }, - "resourceType":{ - "readOnly": true, + "signedIp": { "type": "string", - "description": "The type of the resource, usually it is 'storageAccounts'." + "x-ms-client-name": "IPAddressOrRange", + "description": "An IP address or a range of IP addresses from which to accept requests." }, - "kind": { - "readOnly": true, + "signedProtocol": { "type": "string", - "description": "Indicates the type of storage account.", "enum": [ - "Storage", - "StorageV2", - "BlobStorage" + "https,http", + "https" ], "x-ms-enum": { - "name": "Kind", + "name": "HttpProtocol", "modelAsString": false - } - }, - "locations": { - "readOnly": true, - "type": "array", - "items": { - "type": "string" - }, - "description": "The set of locations that the SKU is available. This will be supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.)." - }, - "capabilities": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/SKUCapability" }, - "description": "The capability information in the specified sku, including file encryption, network acls, change notification, etc." + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." }, - "restrictions": { - "type": "array", - "items": { - "$ref": "#/definitions/Restriction" - }, - "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions." - } - }, - "required": [ - "name" - ], - "description": "The SKU of the storage account." - }, - "CustomDomain": { - "properties": { - "name": { + "signedStart": { "type": "string", - "description": "Gets or sets the custom domain name assigned to the storage account. Name is the CNAME source." - }, - "useSubDomain": { - "type": "boolean", - "description": "Indicates whether indirect CName validation is enabled. Default value is false. This should only be set on updates." - } - }, - "required": [ - "name" - ], - "description": "The custom domain assigned to this storage account. This can be set via Update." - }, - "EncryptionService": { - "properties": { - "enabled": { - "type": "boolean", - "description": "A boolean indicating whether or not the service encrypts the data as it is stored." + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." }, - "lastEnabledTime": { - "readOnly": true, + "signedExpiry": { "type": "string", "format": "date-time", - "description": "Gets a rough estimate of the date/time when the encryption was last enabled by the user. Only returned when encryption is enabled. There might be some unencrypted blobs which were written after this time, as it is just a rough estimate." - } - }, - "description": "A service that allows server-side encryption to be used." - }, - "EncryptionServices": { - "properties": { - "blob": { - "$ref": "#/definitions/EncryptionService", - "description": "The encryption function of the blob storage service." - }, - "file": { - "$ref": "#/definitions/EncryptionService", - "description": "The encryption function of the file storage service." - }, - "table": { - "$ref": "#/definitions/EncryptionService", - "readOnly": true, - "description": "The encryption function of the table storage service." + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." }, - "queue": { - "$ref": "#/definitions/EncryptionService", - "readOnly": true, - "description": "The encryption function of the queue storage service." - } - }, - "description": "A list of services that support encryption." - }, - "KeyVaultProperties": { - "description": "Properties of key vault.", - "properties": { - "keyname": { - "type": "string", - "description": "The name of KeyVault key.", - "x-ms-client-name": "KeyName" - }, - "keyversion": { - "type": "string", - "description": "The version of KeyVault key.", - "x-ms-client-name": "KeyVersion" - }, - "keyvaulturi": { - "type": "string", - "description": "The Uri of KeyVault.", - "x-ms-client-name": "KeyVaultUri" - } - } + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + } + }, + "required": [ + "signedServices", + "signedResourceTypes", + "signedPermission", + "signedExpiry" + ], + "description": "The parameters to list SAS credentials of a storage account." }, - "Encryption": { + "ListAccountSasResponse": { "properties": { - "services": { - "$ref": "#/definitions/EncryptionServices", - "description": "List of services which support encryption." - }, - "keySource": { + "accountSasToken": { + "readOnly": true, "type": "string", - "description": "The encryption keySource (provider). Possible values (case-insensitive): Microsoft.Storage, Microsoft.Keyvault", - "enum": [ - "Microsoft.Storage", - "Microsoft.Keyvault" - ], - "x-ms-enum": { - "name": "KeySource", - "modelAsString": true - }, - "default":"Microsoft.Storage" - }, - "keyvaultproperties": { - "$ref": "#/definitions/KeyVaultProperties", - "x-ms-client-name": "KeyVaultProperties", - "description": "Properties provided by key vault." + "description": "List SAS credentials of storage account." } }, - "required": [ "keySource" ], - "description": "The encryption settings on the storage account." + "description": "The List SAS credentials operation response." }, - "VirtualNetworkRule": { + "ServiceSasParameters": { "properties": { - "id": { + "canonicalizedResource": { "type": "string", - "x-ms-client-name": "VirtualNetworkResourceId", - "description": "Resource ID of a subnet, for example: /subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}." + "description": "The canonical path to the signed resource." }, - "action": { + "signedResource": { "type": "string", "enum": [ - "Allow" + "b", + "c", + "f", + "s" ], "x-ms-enum": { - "name": "Action", - "modelAsString": false + "name": "signedResource", + "modelAsString": true }, - "default": "Allow", - "description": "The action of virtual network rule." + "x-ms-client-name": "Resource", + "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." }, - "state": { + "signedPermission": { "type": "string", "enum": [ - "provisioning", - "deprovisioning", - "succeeded", - "failed", - "networkSourceDeleted" + "r", + "d", + "w", + "l", + "a", + "c", + "u", + "p" ], "x-ms-enum": { - "name": "State", - "modelAsString": false + "name": "Permissions", + "modelAsString": true }, - "description": "Gets the state of virtual network rule." - } - }, - "required": [ "id" ], - "description": "Virtual Network rule." - }, - "IPRule": { - "properties": { - "value": { + "x-ms-client-name": "Permissions", + "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + }, + "signedIp": { "type": "string", "x-ms-client-name": "IPAddressOrRange", - "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + "description": "An IP address or a range of IP addresses from which to accept requests." }, - "action": { + "signedProtocol": { "type": "string", "enum": [ - "Allow" + "https,http", + "https" ], "x-ms-enum": { - "name": "Action", + "name": "HttpProtocol", "modelAsString": false }, - "default": "Allow", - "description": "The action of IP ACL rule." + "x-ms-client-name": "Protocols", + "description": "The protocol permitted for a request made with the account SAS." + }, + "signedStart": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessStartTime", + "description": "The time at which the SAS becomes valid." + }, + "signedExpiry": { + "type": "string", + "format": "date-time", + "x-ms-client-name": "SharedAccessExpiryTime", + "description": "The time at which the shared access signature becomes invalid." + }, + "signedIdentifier": { + "type": "string", + "maxLength": 64, + "x-ms-client-name": "Identifier", + "description": "A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table." + }, + "startPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyStart", + "description": "The start of partition key." + }, + "endPk": { + "type": "string", + "x-ms-client-name": "PartitionKeyEnd", + "description": "The end of partition key." + }, + "startRk": { + "type": "string", + "x-ms-client-name": "RowKeyStart", + "description": "The start of row key." + }, + "endRk": { + "type": "string", + "x-ms-client-name": "RowKeyEnd", + "description": "The end of row key." + }, + "keyToSign": { + "type": "string", + "description": "The key to sign the account SAS token with." + }, + "rscc": { + "type": "string", + "x-ms-client-name": "CacheControl", + "description": "The response header override for cache control." + }, + "rscd": { + "type": "string", + "x-ms-client-name": "ContentDisposition", + "description": "The response header override for content disposition." + }, + "rsce": { + "type": "string", + "x-ms-client-name": "ContentEncoding", + "description": "The response header override for content encoding." + }, + "rscl": { + "type": "string", + "x-ms-client-name": "ContentLanguage", + "description": "The response header override for content language." + }, + "rsct": { + "type": "string", + "x-ms-client-name": "ContentType", + "description": "The response header override for content type." } }, "required": [ - "value" + "canonicalizedResource" ], - "description": "IP rule with specific IP or IP range in CIDR format." + "description": "The parameters to list service SAS credentials of a specific resource." }, - "NetworkRuleSet": { + "ListServiceSasResponse": { "properties": { - "bypass": { - "type": "string", - "enum": [ - "None", - "Logging", - "Metrics", - "AzureServices" - ], - "x-ms-enum": { - "name": "Bypass", - "modelAsString": true - }, - "x-ms-client-name": "Bypass", - "default": "AzureServices", - "description": "Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Possible values are any combination of Logging|Metrics|AzureServices (For example, \"Logging, Metrics\"), or None to bypass none of those traffics." - }, - "virtualNetworkRules": { - "type": "array", - "items": { - "description": "Virtual Network rule.", - "$ref": "#/definitions/VirtualNetworkRule" - }, - "description": "Sets the virtual network rules" - }, - "ipRules": { - "type": "array", - "items": { - "description": "IP rule with specific IP or IP range in CIDR format.", - "$ref": "#/definitions/IPRule" - }, - "description": "Sets the IP ACL rules" - }, - "defaultAction": { + "serviceSasToken": { + "readOnly": true, "type": "string", - "enum": [ - "Allow", - "Deny" - ], - "x-ms-enum": { - "name": "DefaultAction", - "modelAsString": false - }, - "default": "Allow", - "description": "Specifies the default action of allow or deny when no other rules match." + "description": "List service SAS credentials of specific resource." } }, - "required": [ - "defaultAction" + "description": "The List service SAS credentials operation response." + }, + "ManagementPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagementPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Data Policies Rules." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } ], - "description": "Network rule set" + "description": "The Get Storage Account ManagementPolicies operation response." }, - "StorageAccountPropertiesCreateParameters": { + "ManagementPolicyProperties": { "properties": { - "customDomain": { - "$ref": "#/definitions/CustomDomain", - "description": "User domain assigned to the storage account. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." - }, - "encryption": { - "$ref": "#/definitions/Encryption", - "description": "Provides the encryption settings on the account. If left unspecified the account encryption settings will remain the same. The default setting is unencrypted." - }, - "networkAcls": { - "$ref": "#/definitions/NetworkRuleSet", - "x-ms-client-name": "NetworkRuleSet", - "description": "Network rule set" - }, - "accessTier": { + "lastModifiedTime": { + "readOnly": true, "type": "string", - "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", - "enum": [ - "Hot", - "Cool" - ], - "x-ms-enum": { - "name": "AccessTier", - "modelAsString": false - } + "format": "date-time", + "description": "Returns the date and time the ManagementPolicies was last modified." }, - "supportsHttpsTrafficOnly": { - "type": "boolean", - "default": false, - "x-ms-client-name": "EnableHttpsTrafficOnly", - "description": "Allows https traffic only to storage service if sets to true." + "policy": { + "$ref": "#/definitions/ManagementPolicySchema", + "description": "The Storage Account ManagementPolicy, in JSON format. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." + } + }, + "required": [ + "policy" + ], + "description": "The Storage Account ManagementPolicy properties." + }, + "ManagementPolicySchema": { + "properties": { + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagementPolicyRule" + }, + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." } }, - "description": "The parameters used to create the storage account." + "required": [ + "rules" + ], + "description": "The Storage Account ManagementPolicies Rules. See more details in: https://docs.microsoft.com/en-us/azure/storage/common/storage-lifecycle-managment-concepts." }, - "Identity": { + "ManagementPolicyRule": { "properties": { - "principalId": { - "readOnly": true, - "type": "string", - "description": "The principal ID of resource identity." + "enabled": { + "type": "boolean", + "description": "Rule is enabled if set to true." }, - "tenantId": { - "readOnly": true, + "name": { "type": "string", - "description": "The tenant ID of resource." + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." }, "type": { "type": "string", - "description": "The identity type.", + "description": "The valid value is Lifecycle", "enum": [ - "SystemAssigned" + "Lifecycle" ], "x-ms-enum": { - "name": "IdentityType", - "modelAsString": false + "name": "RuleType", + "modelAsString": true } + }, + "definition": { + "$ref": "#/definitions/ManagementPolicyDefinition", + "description": "An object that defines the Lifecycle rule." } }, - "required":[ - "type" + "required": [ + "name", + "type", + "definition" ], - "description": "Identity for the resource." + "description": "An object that wraps the Lifecycle rule. Each rule is uniquely defined by name." }, - "StorageAccountCreateParameters": { + "ManagementPolicyDefinition": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "Required. Gets or sets the sku name." + "actions": { + "$ref": "#/definitions/ManagementPolicyAction", + "description": "An object that defines the action set." }, - "kind": { - "type": "string", - "description": "Required. Indicates the type of storage account.", - "enum": [ - "Storage", - "StorageV2", - "BlobStorage" - ], - "x-ms-enum": { - "name": "Kind", - "modelAsString": false - } - }, - "location": { - "type": "string", - "description": "Required. Gets or sets the location of the resource. This will be one of the supported and registered Azure Geo Regions (e.g. West US, East US, Southeast Asia, etc.). The geo region of a resource cannot be changed once it is created, but if an identical geo region is specified on update, the request will succeed." - }, - "tags": { - "type": "object", - "additionalProperties": { + "filters": { + "$ref": "#/definitions/ManagementPolicyFilter", + "description": "An object that defines the filter set." + } + }, + "required": [ + "actions" + ], + "description": "An object that defines the Lifecycle rule. Each definition is made up with a filters set and an actions set." + }, + "ManagementPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { "type": "string" }, - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used for viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key with a length no greater than 128 characters and a value with a length no greater than 256 characters." + "description": "An array of strings for prefixes to be match." }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Currently blockBlob supports all tiering and delete actions. Only delete actions are supported for appendBlob." }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/StorageAccountPropertiesCreateParameters", - "description": "The parameters used to create the storage account." + "blobIndexMatch": { + "type": "array", + "items": { + "$ref": "#/definitions/TagFilter" + }, + "description": "An array of blob index tag based filters, there can be at most 10 tag filters" } }, "required": [ - "sku", - "kind", - "location" + "blobTypes" ], - "description": "The parameters used when creating a storage account." + "description": "Filters limit rule actions to a subset of blobs within the storage account. If multiple filters are defined, a logical AND is performed on all filters. " }, - "Endpoints": { + "TagFilter": { "properties": { - "blob": { - "readOnly": true, - "type": "string", - "description": "Gets the blob endpoint." - }, - "queue": { - "readOnly": true, + "name": { "type": "string", - "description": "Gets the queue endpoint." + "minLength": 1, + "maxLength": 128, + "description": "This is the filter tag name, it can have 1 - 128 characters" }, - "table": { - "readOnly": true, + "op": { "type": "string", - "description": "Gets the table endpoint." + "description": "This is the comparison operator which is used for object comparison and filtering. Only == (equality operator) is currently supported" }, - "file": { - "readOnly": true, + "value": { "type": "string", - "description": "Gets the file endpoint." + "minLength": 0, + "maxLength": 256, + "description": "This is the filter tag value field used for tag based filtering, it can have 0 - 256 characters" } }, - "description": "The URIs that are used to perform a retrieval of a public blob, queue, or table object." + "required": [ + "name", + "op", + "value" + ], + "description": "Blob index tag based filtering for blob objects" }, - "StorageAccountProperties": { + "ManagementPolicyAction": { "properties": { - "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Gets the status of the storage account at the time the operation was called.", - "enum": [ - "Creating", - "ResolvingDNS", - "Succeeded" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } - }, - "primaryEndpoints": { - "$ref": "#/definitions/Endpoints", - "readOnly": true, - "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object. Note that Standard_ZRS and Premium_LRS accounts only return the blob endpoint." - }, - "primaryLocation": { - "readOnly": true, - "type": "string", - "description": "Gets the location of the primary data center for the storage account." - }, - "statusOfPrimary": { - "readOnly": true, - "type": "string", - "description": "Gets the status indicating whether the primary location of the storage account is available or unavailable.", - "enum": [ - "available", - "unavailable" - ], - "x-ms-enum": { - "name": "AccountStatus", - "modelAsString": false - } - }, - "lastGeoFailoverTime": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "Gets the timestamp of the most recent instance of a failover to the secondary location. Only the most recent timestamp is retained. This element is not returned if there has never been a failover instance. Only available if the accountType is Standard_GRS or Standard_RAGRS." - }, - "secondaryLocation": { - "readOnly": true, - "type": "string", - "description": "Gets the location of the geo-replicated secondary for the storage account. Only available if the accountType is Standard_GRS or Standard_RAGRS." - }, - "statusOfSecondary": { - "readOnly": true, - "type": "string", - "description": "Gets the status indicating whether the secondary location of the storage account is available or unavailable. Only available if the SKU name is Standard_GRS or Standard_RAGRS.", - "enum": [ - "available", - "unavailable" - ], - "x-ms-enum": { - "name": "AccountStatus", - "modelAsString": false - } - }, - "creationTime": { - "readOnly": true, - "type": "string", - "format": "date-time", - "description": "Gets the creation date and time of the storage account in UTC." - }, - "customDomain": { - "$ref": "#/definitions/CustomDomain", - "readOnly": true, - "description": "Gets the custom domain the user assigned to this storage account." - }, - "secondaryEndpoints": { - "$ref": "#/definitions/Endpoints", - "readOnly": true, - "description": "Gets the URLs that are used to perform a retrieval of a public blob, queue, or table object from the secondary location of the storage account. Only available if the SKU name is Standard_RAGRS." - }, - "encryption": { - "$ref": "#/definitions/Encryption", - "readOnly": true, - "description": "Gets the encryption settings on the account. If unspecified, the account is unencrypted." - }, - "accessTier": { - "readOnly": true, - "type": "string", - "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", - "enum": [ - "Hot", - "Cool" - ], - "x-ms-enum": { - "name": "AccessTier", - "modelAsString": false - } + "baseBlob": { + "$ref": "#/definitions/ManagementPolicyBaseBlob", + "description": "The management policy action for base blob" }, - "supportsHttpsTrafficOnly": { - "type": "boolean", - "default": false, - "x-ms-client-name": "EnableHttpsTrafficOnly", - "description": "Allows https traffic only to storage service if sets to true." + "snapshot": { + "$ref": "#/definitions/ManagementPolicySnapShot", + "description": "The management policy action for snapshot" }, - "networkAcls": { - "$ref": "#/definitions/NetworkRuleSet", - "x-ms-client-name": "NetworkRuleSet", - "description": "Network rule set", - "readOnly": true + "version": { + "$ref": "#/definitions/ManagementPolicyVersion", + "description": "The management policy action for version" } }, - "description": "Properties of the storage account." + "description": "Actions are applied to the filtered blobs when the execution condition is met." }, - "StorageAccount": { + "ManagementPolicyBaseBlob": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "readOnly": true, - "description": "Gets the SKU." + "tierToCool": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to cool storage. Support blobs currently at Hot tier" }, - "kind": { - "readOnly": true, - "type": "string", - "description": "Gets the Kind.", - "enum": [ - "Storage", - "StorageV2", - "BlobStorage" - ], - "x-ms-enum": { - "name": "Kind", - "modelAsString": false - } + "tierToArchive": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to tier blobs to archive storage. Support blobs currently at Hot or Cool tier" }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." + "delete": { + "$ref": "#/definitions/DateAfterModification", + "description": "The function to delete the blob" }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/StorageAccountProperties", - "description": "Properties of the storage account." + "enableAutoTierToHotFromCool": { + "type": "boolean", + "description": "This property enables auto tiering of a blob from cool to hot on a blob access. This property requires tierToCool.daysAfterLastAccessTimeGreaterThan." } }, - "allOf": [ - { - "$ref": "#/definitions/Resource" - } - ], - "description": "The storage account." + "description": "Management policy action for base blob." }, - "StorageAccountKey": { + "ManagementPolicySnapShot": { "properties": { - "keyName": { - "readOnly": true, - "type": "string", - "description": "Name of the key." - }, - "value": { - "readOnly": true, - "type": "string", - "description": "Base 64-encoded value of the key." - }, - "permissions": { - "readOnly": true, - "type": "string", - "description": "Permissions for the key -- read-only or full permissions.", - "enum": [ - "Read", - "Full" - ], - "x-ms-enum": { - "name": "KeyPermission", - "modelAsString": false - } + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to cool storage. Support blob snapshot currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob snapshot to archive storage. Support blob snapshot currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob snapshot" } }, - "description": "An access key for the storage account." + "description": "Management policy action for snapshot." }, - "StorageAccountListResult": { + "ManagementPolicyVersion": { "properties": { - "value": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/StorageAccount" - }, - "description": "Gets the list of storage accounts and their properties." + "tierToCool": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to cool storage. Support blob version currently at Hot tier" + }, + "tierToArchive": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to tier blob version to archive storage. Support blob version currently at Hot or Cool tier" + }, + "delete": { + "$ref": "#/definitions/DateAfterCreation", + "description": "The function to delete the blob version" } }, - "description": "The response from the List Storage Accounts operation." + "description": "Management policy action for blob version." }, - "StorageAccountListKeysResult": { + "DateAfterModification": { "properties": { - "keys": { - "readOnly": true, - "type": "array", - "items": { - "$ref": "#/definitions/StorageAccountKey" - }, - "description": "Gets the list of storage account keys and their properties for the specified storage account." + "daysAfterModificationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last modification" + }, + "daysAfterLastAccessTimeGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after last blob access. This property can only be used in conjunction with last access time tracking policy" } }, - "description": "The response from the ListKeys operation." + "description": "Object to define the number of days after object last modification Or last access. Properties daysAfterModificationGreaterThan and daysAfterLastAccessTimeGreaterThan are mutually exclusive." }, - "StorageAccountRegenerateKeyParameters": { + "DateAfterCreation": { "properties": { - "keyName": { - "type": "string", - "description": "The name of storage keys that want to be regenerated, possible vaules are key1, key2." + "daysAfterCreationGreaterThan": { + "type": "number", + "multipleOf": 1.0, + "minimum": 0, + "description": "Value indicating the age in days after creation" } }, "required": [ - "keyName" + "daysAfterCreationGreaterThan" ], - "description": "The parameters used to regenerate the storage account key." + "description": "Object to define the number of days after creation." }, - "StorageAccountPropertiesUpdateParameters": { + "EncryptionScope": { "properties": { - "customDomain": { - "$ref": "#/definitions/CustomDomain", - "description": "Custom domain assigned to the storage account by the user. Name is the CNAME source. Only one custom domain is supported per storage account at this time. To clear the existing custom domain, use an empty string for the custom domain name property." - }, - "encryption": { - "$ref": "#/definitions/Encryption", - "description": "Provides the encryption settings on the account. The default setting is unencrypted." - }, - "accessTier": { - "type": "string", - "description": "Required for storage accounts where kind = BlobStorage. The access tier used for billing.", - "enum": [ - "Hot", - "Cool" - ], - "x-ms-enum": { - "name": "AccessTier", - "modelAsString": false - } - }, - "supportsHttpsTrafficOnly": { - "type": "boolean", - "default": false, - "x-ms-client-name": "EnableHttpsTrafficOnly", - "description": "Allows https traffic only to storage service if sets to true." - }, - "networkAcls": { - "description": "Network rule set", - "x-ms-client-name": "NetworkRuleSet", - "$ref": "#/definitions/NetworkRuleSet" + "properties": { + "$ref": "#/definitions/EncryptionScopeProperties", + "x-ms-client-flatten": true, + "x-ms-client-name": "EncryptionScopeProperties", + "description": "Properties of the encryption scope." } }, - "description": "The parameters used when updating a storage account." + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The Encryption Scope resource." }, - "StorageAccountUpdateParameters": { + "EncryptionScopeProperties": { "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "Gets or sets the SKU name. Note that the SKU name cannot be updated to Standard_ZRS or Premium_LRS, nor can accounts of those sku names be updated to any other value." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "source": { + "type": "string", + "enum": [ + "Microsoft.Storage", + "Microsoft.KeyVault" + ], + "x-ms-enum": { + "name": "EncryptionScopeSource", + "modelAsString": true }, - "description": "Gets or sets a list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups). A maximum of 15 tags can be provided for a resource. Each tag must have a key no greater in length than 128 characters and a value no greater in length than 256 characters." - }, - "identity": { - "$ref": "#/definitions/Identity", - "description": "The identity of the resource." - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/StorageAccountPropertiesUpdateParameters", - "description": "The parameters used when updating a storage account." + "description": "The provider for the encryption scope. Possible values (case-insensitive): Microsoft.Storage, Microsoft.KeyVault." }, - "kind": { + "state": { "type": "string", - "description": "Optional. Indicates the type of storage account. Currently only StorageV2 value supported by server.", "enum": [ - "Storage", - "StorageV2", - "BlobStorage" + "Enabled", + "Disabled" ], "x-ms-enum": { - "name": "Kind", - "modelAsString": false - } - } - }, - "description": "The parameters that can be provided when updating the storage account properties." - }, - "UsageName": { - "properties": { - "value": { + "name": "EncryptionScopeState", + "modelAsString": true + }, + "description": "The state of the encryption scope. Possible values (case-insensitive): Enabled, Disabled." + }, + "creationTime": { "readOnly": true, "type": "string", - "description": "Gets a string describing the resource name." + "format": "date-time", + "description": "Gets the creation date and time of the encryption scope in UTC." }, - "localizedValue": { + "lastModifiedTime": { "readOnly": true, "type": "string", - "description": "Gets a localized string describing the resource name." + "format": "date-time", + "description": "Gets the last modification date and time of the encryption scope in UTC." + }, + "keyVaultProperties": { + "$ref": "#/definitions/EncryptionScopeKeyVaultProperties", + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "requireInfrastructureEncryption": { + "type": "boolean", + "description": "A boolean indicating whether or not the service applies a secondary layer of encryption with platform managed keys for data at rest." } }, - "description": "The usage names that can be used; currently limited to StorageAccount." + "description": "Properties of the encryption scope." }, - "Usage": { + "EncryptionScopeKeyVaultProperties": { "properties": { - "unit": { - "readOnly": true, + "keyUri": { "type": "string", - "description": "Gets the unit of measurement.", - "enum": [ - "Count", - "Bytes", - "Seconds", - "Percent", - "CountsPerSecond", - "BytesPerSecond" - ], - "x-ms-enum": { - "name": "UsageUnit", - "modelAsString": false - } + "description": "The object identifier for a key vault key object. When applied, the encryption scope will use the key referenced by the identifier to enable customer-managed key support on this encryption scope." }, - "currentValue": { + "currentVersionedKeyIdentifier": { + "type": "string", "readOnly": true, - "type": "integer", - "format": "int32", - "description": "Gets the current count of the allocated resources in the subscription." + "description": "The object identifier of the current versioned Key Vault Key in use." }, - "limit": { + "lastKeyRotationTimestamp": { + "type": "string", "readOnly": true, - "type": "integer", - "format": "int32", - "description": "Gets the maximum count of the resources that can be allocated in the subscription." + "format": "date-time", + "description": "Timestamp of last rotation of the Key Vault Key." + } + }, + "description": "The key vault properties for the encryption scope. This is a required field if encryption scope 'source' attribute is set to 'Microsoft.KeyVault'." + }, + "EncryptionScopeListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionScope" + }, + "description": "List of encryption scopes requested.", + "readOnly": true }, - "name": { - "$ref": "#/definitions/UsageName", - "readOnly": true, - "description": "Gets the name of the type of usage." + "nextLink": { + "type": "string", + "description": "Request URL that can be used to query next page of encryption scopes. Returned when total number of requested encryption scopes exceeds the maximum page size.", + "readOnly": true } }, - "description": "Describes Storage Resource Usage." + "description": "List of encryption scopes requested, and if paging is required, a URL to the next page of encryption scopes." }, - "UsageListResult": { + "ObjectReplicationPolicies": { "properties": { "value": { "type": "array", "items": { - "$ref": "#/definitions/Usage" + "$ref": "#/definitions/ObjectReplicationPolicy" }, - "description": "Gets or sets the list of Storage Resource Usages." + "description": "The replication policy between two storage accounts." } }, - "description": "The response from the List Usages operation." + "description": "List storage account object replication policies." }, - "Resource": { + "ObjectReplicationPolicy": { "properties": { - "id": { + "properties": { + "$ref": "#/definitions/ObjectReplicationPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the Storage Account Object Replication Policy." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The replication policy between two storage accounts. Multiple rules can be defined in one policy." + }, + "ObjectReplicationPolicyProperties": { + "properties": { + "policyId": { "readOnly": true, "type": "string", - "description": "Resource Id" + "description": "A unique id for object replication policy." }, - "name": { + "enabledTime": { "readOnly": true, "type": "string", - "description": "Resource name" + "format": "date-time", + "description": "Indicates when the policy is enabled on the source account." }, - "type": { - "readOnly": true, + "sourceAccount": { "type": "string", - "description": "Resource type" + "description": "Required. Source account name. It should be full resource id if allowCrossTenantReplication set to false." }, - "location": { + "destinationAccount": { "type": "string", - "description": "Resource location" + "description": "Required. Destination account name. It should be full resource id if allowCrossTenantReplication set to false." }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ObjectReplicationPolicyRule" }, - "description": "Tags assigned to a resource; can be used for viewing and grouping a resource (across resource groups)." + "description": "The storage account object replication rules." } }, - "x-ms-azure-resource": true, - "description": "Describes a storage resource." + "required": [ + "sourceAccount", + "destinationAccount" + ], + "description": "The Storage Account ObjectReplicationPolicy properties." }, - "AccountSasParameters": { + "ObjectReplicationPolicyRule": { "properties": { - "signedServices": { - "type": "string", - "enum": [ - "b", - "q", - "t", - "f" - ], - "x-ms-enum": { - "name": "Services", - "modelAsString": true - }, - "x-ms-client-name": "Services", - "description": "The signed services accessible with the account SAS. Possible values include: Blob (b), Queue (q), Table (t), File (f)." - }, - "signedResourceTypes": { - "type": "string", - "enum": [ - "s", - "c", - "o" - ], - "x-ms-enum": { - "name": "SignedResourceTypes", - "modelAsString": true - }, - "x-ms-client-name": "ResourceTypes", - "description": "The signed resource types that are accessible with the account SAS. Service (s): Access to service-level APIs; Container (c): Access to container-level APIs; Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files." - }, - "signedPermission": { - "type": "string", - "enum": [ - "r", - "d", - "w", - "l", - "a", - "c", - "u", - "p" - ], - "x-ms-enum": { - "name": "Permissions", - "modelAsString": true - }, - "x-ms-client-name": "Permissions", - "description": "The signed permissions for the account SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." - }, - "signedIp": { - "type": "string", - "x-ms-client-name": "IPAddressOrRange", - "description": "An IP address or a range of IP addresses from which to accept requests." - }, - "signedProtocol": { - "type": "string", - "enum": [ - "https,http", - "https" - ], - "x-ms-enum": { - "name": "HttpProtocol", - "modelAsString": false - }, - "x-ms-client-name": "Protocols", - "description": "The protocol permitted for a request made with the account SAS." - }, - "signedStart": { + "ruleId": { "type": "string", - "format": "date-time", - "x-ms-client-name": "SharedAccessStartTime", - "description": "The time at which the SAS becomes valid." + "description": "Rule Id is auto-generated for each new rule on destination account. It is required for put policy on source account." }, - "signedExpiry": { + "sourceContainer": { "type": "string", - "format": "date-time", - "x-ms-client-name": "SharedAccessExpiryTime", - "description": "The time at which the shared access signature becomes invalid." + "description": "Required. Source container name." }, - "keyToSign": { + "destinationContainer": { "type": "string", - "description": "The key to sign the account SAS token with." + "description": "Required. Destination container name." + }, + "filters": { + "$ref": "#/definitions/ObjectReplicationPolicyFilter", + "description": "Optional. An object that defines the filter set." } }, "required": [ - "signedServices", - "signedResourceTypes", - "signedPermission", - "signedExpiry" + "sourceContainer", + "destinationContainer" ], - "description": "The parameters to list SAS credentials of a storage account." + "description": "The replication policy rule between two containers." }, - "ListAccountSasResponse": { + "ObjectReplicationPolicyFilter": { "properties": { - "accountSasToken": { - "readOnly": true, + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Optional. Filters the results to replicate only blobs whose names begin with the specified prefix." + }, + "minCreationTime": { "type": "string", - "description": "List SAS credentials of storage account." + "description": "Blobs created after the time will be replicated to the destination. It must be in datetime format 'yyyy-MM-ddTHH:mm:ssZ'. Example: 2020-02-19T16:05:00Z" } }, - "description": "The List SAS credentials operation response." + "description": "Filters limit replication to a subset of blobs within the storage account. A logical OR is performed on values in the filter. If multiple filters are defined, a logical AND is performed on all filters." }, - "ServiceSasParameters": { + "ListBlobInventoryPolicy": { "properties": { - "canonicalizedResource": { - "type": "string", - "description" : "The canonical path to the signed resource." - }, - "signedResource": { - "type": "string", - "enum": [ - "b", - "c", - "f", - "s" - ], - "x-ms-enum": { - "name": "signedResource", - "modelAsString": true + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicy" }, - "x-ms-client-name": "Resource", - "description": "The signed services accessible with the service SAS. Possible values include: Blob (b), Container (c), File (f), Share (s)." + "description": "List of blob inventory policies.", + "readOnly": true + } + }, + "description": "List of blob inventory policies returned." + }, + "BlobInventoryPolicy": { + "properties": { + "properties": { + "$ref": "#/definitions/BlobInventoryPolicyProperties", + "x-ms-client-flatten": true, + "description": "Returns the storage account blob inventory policy rules." }, - "signedPermission": { + "systemData": { + "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource" + } + ], + "description": "The storage account blob inventory policy." + }, + "BlobInventoryPolicyProperties": { + "properties": { + "lastModifiedTime": { + "readOnly": true, "type": "string", - "enum": [ - "r", - "d", - "w", - "l", - "a", - "c", - "u", - "p" - ], - "x-ms-enum": { - "name": "Permissions", - "modelAsString": true - }, - "x-ms-client-name": "Permissions", - "description": "The signed permissions for the service SAS. Possible values include: Read (r), Write (w), Delete (d), List (l), Add (a), Create (c), Update (u) and Process (p)." + "format": "date-time", + "description": "Returns the last modified date and time of the blob inventory policy." }, - "signedIp": { - "type": "string", - "x-ms-client-name": "IPAddressOrRange", - "description": "An IP address or a range of IP addresses from which to accept requests." + "policy": { + "$ref": "#/definitions/BlobInventoryPolicySchema", + "description": "The storage account blob inventory policy object. It is composed of policy rules." + } + }, + "required": [ + "policy" + ], + "description": "The storage account blob inventory policy properties." + }, + "BlobInventoryPolicySchema": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Policy is enabled if set to true." }, - "signedProtocol": { + "type": { "type": "string", + "description": "The valid value is Inventory", "enum": [ - "https,http", - "https" + "Inventory" ], "x-ms-enum": { - "name": "HttpProtocol", - "modelAsString": false - }, - "x-ms-client-name": "Protocols", - "description": "The protocol permitted for a request made with the account SAS." - }, - "signedStart": { - "type": "string", - "format": "date-time", - "x-ms-client-name": "SharedAccessStartTime", - "description": "The time at which the SAS becomes valid." + "name": "InventoryRuleType", + "modelAsString": true + } }, - "signedExpiry": { - "type": "string", - "format": "date-time", - "x-ms-client-name": "SharedAccessExpiryTime", - "description": "The time at which the shared access signature becomes invalid." + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/BlobInventoryPolicyRule" + }, + "description": "The storage account blob inventory policy rules. The rule is applied when it is enabled." + } + }, + "required": [ + "enabled", + "type", + "rules" + ], + "description": "The storage account blob inventory policy rules." + }, + "BlobInventoryPolicyRule": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Rule is enabled when set to true." }, - "signedIdentifier": { + "name": { "type": "string", - "maxLength": 64, - "x-ms-client-name": "Identifier", - "description": "A unique value up to 64 characters in length that correlates to an access policy specified for the container, queue, or table." + "description": "A rule name can contain any combination of alpha numeric characters. Rule name is case-sensitive. It must be unique within a policy." }, - "startPk": { + "destination": { "type": "string", - "x-ms-client-name": "PartitionKeyStart", - "description": "The start of partition key." + "description": "Container name where blob inventory files are stored. Must be pre-created." }, - "endPk": { - "type": "string", - "x-ms-client-name": "PartitionKeyEnd", - "description": "The end of partition key." + "definition": { + "$ref": "#/definitions/BlobInventoryPolicyDefinition", + "description": "An object that defines the blob inventory policy rule." + } + }, + "required": [ + "name", + "enabled", + "destination", + "definition" + ], + "description": "An object that wraps the blob inventory rule. Each rule is uniquely defined by name." + }, + "BlobInventoryPolicyDefinition": { + "properties": { + "filters": { + "$ref": "#/definitions/BlobInventoryPolicyFilter", + "description": "An object that defines the filter set." }, - "startRk": { + "format": { "type": "string", - "x-ms-client-name": "RowKeyStart", - "description": "The start of row key." + "description": "This is a required field, it specifies the format for the inventory files.", + "enum": [ + "Csv", + "Parquet" + ], + "x-ms-enum": { + "name": "format", + "modelAsString": true + } }, - "endRk": { + "schedule": { "type": "string", - "x-ms-client-name": "RowKeyEnd", - "description": "The end of row key." + "description": "This is a required field. This field is used to schedule an inventory formation.", + "enum": [ + "Daily", + "Weekly" + ], + "x-ms-enum": { + "name": "schedule", + "modelAsString": true + } }, - "keyToSign": { + "objectType": { "type": "string", - "description": "The key to sign the account SAS token with." + "description": "This is a required field. This field specifies the scope of the inventory created either at the blob or container level.", + "enum": [ + "Blob", + "Container" + ], + "x-ms-enum": { + "name": "objectType", + "modelAsString": true + } }, - "rscc": { - "type": "string", - "x-ms-client-name": "CacheControl", - "description": "The response header override for cache control." + "schemaFields": { + "type": "array", + "items": { + "type": "string" + }, + "description": "This is a required field. This field specifies the fields and properties of the object to be included in the inventory. The Schema field value 'Name' is always required. The valid values for this field for the 'Blob' definition.objectType include 'Name, Creation-Time, Last-Modified, Content-Length, Content-MD5, BlobType, AccessTier, AccessTierChangeTime, AccessTierInferred, Tags, Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl, Snapshot, VersionId, IsCurrentVersion, Metadata, LastAccessTime'. The valid values for 'Container' definition.objectType include 'Name, Last-Modified, Metadata, LeaseStatus, LeaseState, LeaseDuration, PublicAccess, HasImmutabilityPolicy, HasLegalHold'. Schema field values 'Expiry-Time, hdi_isfolder, Owner, Group, Permissions, Acl' are valid only for Hns enabled accounts.'Tags' field is only valid for non Hns accounts" + } + }, + "required": [ + "format", + "schedule", + "objectType", + "schemaFields" + ], + "description": "An object that defines the blob inventory rule." + }, + "BlobInventoryPolicyFilter": { + "properties": { + "prefixMatch": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of strings for blob prefixes to be matched." }, - "rscd": { - "type": "string", - "x-ms-client-name": "ContentDisposition", - "description": "The response header override for content disposition." + "blobTypes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "An array of predefined enum values. Valid values include blockBlob, appendBlob, pageBlob. Hns accounts does not support pageBlobs. This field is required when definition.objectType property is set to 'Blob'." }, - "rsce": { - "type": "string", - "x-ms-client-name": "ContentEncoding", - "description": "The response header override for content encoding." + "includeBlobVersions": { + "type": "boolean", + "description": "Includes blob versions in blob inventory when value is set to true. The definition.schemaFields values 'VersionId and IsCurrentVersion' are required if this property is set to true, else they must be excluded." }, - "rscl": { + "includeSnapshots": { + "type": "boolean", + "description": "Includes blob snapshots in blob inventory when value is set to true. The definition.schemaFields value 'Snapshot' is required if this property is set to true, else it must be excluded." + } + }, + "description": "An object that defines the blob inventory rule filter conditions. For 'Blob' definition.objectType all filter properties are applicable, 'blobTypes' is required and others are optional. For 'Container' definition.objectType only prefixMatch is applicable and is optional." + }, + "ErrorResponseBody": { + "properties": { + "code": { "type": "string", - "x-ms-client-name": "ContentLanguage", - "description": "The response header override for content language." + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." }, - "rsct": { + "message": { "type": "string", - "x-ms-client-name": "ContentType", - "description": "The response header override for content type." + "description": "A message describing the error, intended to be suitable for display in a user interface." } }, - "required": [ - "canonicalizedResource", - "signedResource" - ], - "description": "The parameters to list service SAS credentials of a speicific resource." + "description": "Error response body contract." }, - "ListServiceSasResponse": { + "ErrorResponse": { "properties": { - "serviceSasToken": { - "readOnly": true, - "type": "string", - "description": "List service SAS credentials of speicific resource." + "error": { + "$ref": "#/definitions/ErrorResponseBody", + "description": "Azure Storage Resource Provider error response body." } }, - "description": "The List service SAS credentials operation response." + "description": "An error response from the storage resource provider." } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group within the user's subscription. The name is case insensitive.", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "StorageAccountName": { + "name": "accountName", "in": "path", "required": true, "type": "string", - "description": "Gets subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + "description": "The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", + "DeletedAccountName": { + "name": "deletedAccountName", + "in": "path", "required": true, "type": "string", - "description": "Client Api Version." + "description": "Name of the deleted storage account.", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" }, - "ResourceGroupName": { - "name": "resourceGroupName", + "ManagementPolicyName": { + "name": "managementPolicyName", "in": "path", "required": true, "type": "string", - "description": "The name of the resource group within the user's subscription. The name is case insensitive.", - "pattern": "^[-\\w\\._\\(\\)]+$", + "description": "The name of the Storage Account Management Policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ManagementPolicyName", + "modelAsString": true + }, + "x-ms-parameter-location": "method" + }, + "EncryptionScopeName": { + "name": "encryptionScopeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the encryption scope within the specified storage account. Encryption scope names must be between 3 and 63 characters in length and use numbers, lower-case letters and dash (-) only. Every dash (-) character must be immediately preceded and followed by a letter or number.", + "maxLength": 63, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ObjectReplicationPolicyId": { + "name": "objectReplicationPolicyId", + "in": "path", + "required": true, + "type": "string", + "description": "For the destination account, provide the value 'default'. Configure the policy on the destination account first. For the source account, provide the value of the policy ID that is returned when you download the policy that was defined on the destination account. The policy is downloaded as a JSON file.", "minLength": 1, - "maxLength": 90, + "x-ms-parameter-location": "method" + }, + "BlobInventoryPolicyName": { + "name": "blobInventoryPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the storage account blob inventory policy. It should always be 'default'", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "BlobInventoryPolicyName", + "modelAsString": true + }, "x-ms-parameter-location": "method" } }, "securityDefinitions": { "azure_auth": { - "type": "oauth2", - "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", - "flow": "implicit", - "description": "Azure Active Directory OAuth2 Flow", - "scopes": { - "user_impersonation": "impersonate your user account" - } + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } } }, "security": [ diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/functions.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/functions.json index 30f8962e..0cc5c09a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/functions.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/functions.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -41,8 +41,12 @@ "operationId": "Functions_CreateOrReplace", "description": "Creates a function or replaces an already existing function under an existing streaming job.", "x-ms-examples": { - "Create an Azure ML function": { "$ref": "../examples/Function_Create_AzureML.json" }, - "Create a JavaScript function": { "$ref": "../examples/Function_Create_JavaScript.json" } + "Create an Azure ML function": { + "$ref": "./examples/Function_Create_AzureML.json" + }, + "Create a JavaScript function": { + "$ref": "./examples/Function_Create_JavaScript.json" + } }, "parameters": [ { @@ -60,7 +64,7 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { "name": "If-None-Match", @@ -71,16 +75,16 @@ "description": "Set to '*' to allow a new function to be created, but to prevent updating an existing function. Other values will result in a 412 Pre-condition Failed response." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -110,6 +114,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -120,8 +130,12 @@ "operationId": "Functions_Update", "description": "Updates an existing function under an existing streaming job. This can be used to partially update (ie. update one or two properties) a function without affecting the rest the job or function definition.", "x-ms-examples": { - "Update an Azure ML function": { "$ref": "../examples/Function_Update_AzureML.json" }, - "Update a JavaScript function": { "$ref": "../examples/Function_Update_JavaScript.json" } + "Update an Azure ML function": { + "$ref": "./examples/Function_Update_AzureML.json" + }, + "Update a JavaScript function": { + "$ref": "./examples/Function_Update_JavaScript.json" + } }, "parameters": [ { @@ -139,19 +153,19 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -169,6 +183,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -179,20 +199,22 @@ "operationId": "Functions_Delete", "description": "Deletes a function from the streaming job.", "x-ms-examples": { - "Delete a function": { "$ref": "../examples/Function_Delete.json" } + "Delete a function": { + "$ref": "./examples/Function_Delete.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -204,6 +226,12 @@ }, "204": { "description": "The function does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -214,21 +242,25 @@ "operationId": "Functions_Get", "description": "Gets details about the specified function.", "x-ms-examples": { - "Get an Azure ML function": { "$ref": "../examples/Function_Get_AzureML.json" }, - "Get a JavaScript function": { "$ref": "../examples/Function_Get_JavaScript.json" } + "Get an Azure ML function": { + "$ref": "./examples/Function_Get_AzureML.json" + }, + "Get a JavaScript function": { + "$ref": "./examples/Function_Get_JavaScript.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -246,6 +278,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -258,7 +296,9 @@ "operationId": "Functions_ListByStreamingJob", "description": "Lists all of the functions under the specified streaming job.", "x-ms-examples": { - "List all functions in a streaming job": { "$ref": "../examples/Function_ListByStreamingJob.json" } + "List all functions in a streaming job": { + "$ref": "./examples/Function_ListByStreamingJob.json" + } }, "parameters": [ { @@ -266,19 +306,19 @@ "in": "query", "required": false, "type": "string", - "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*†to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -287,6 +327,12 @@ "schema": { "$ref": "#/definitions/FunctionListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -302,8 +348,12 @@ "operationId": "Functions_Test", "description": "Tests if the information provided for a function is valid. This can range from testing the connection to the underlying web service behind the function or making sure the function code provided is syntactically correct.", "x-ms-examples": { - "Test the connection for an Azure ML function": { "$ref": "../examples/Function_Test_AzureML.json" }, - "Test the connection for a JavaScript function": { "$ref": "../examples/Function_Test_JavaScript.json" } + "Test the connection for an Azure ML function": { + "$ref": "./examples/Function_Test_AzureML.json" + }, + "Test the connection for a JavaScript function": { + "$ref": "./examples/Function_Test_JavaScript.json" + } }, "parameters": [ { @@ -316,16 +366,16 @@ "description": "If the function specified does not already exist, this parameter must contain the full function definition intended to be tested. If the function specified already exists, this parameter can be left null to test the existing function as is or if specified, the properties specified will overwrite the corresponding properties in the existing function (exactly like a PATCH operation) and the resulting function will be tested." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -340,12 +390,18 @@ }, "202": { "description": "The test request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/RetrieveDefaultDefinition": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/functions/{functionName}/retrieveDefaultDefinition": { "post": { "tags": [ "Functions" @@ -353,7 +409,9 @@ "operationId": "Functions_RetrieveDefaultDefinition", "description": "Retrieves the default definition of a function based on the parameters specified.", "x-ms-examples": { - "Retrieve the default definition for an Azure ML function": { "$ref": "../examples/Function_RetrieveDefaultDefinition_AzureML.json" } + "Retrieve the default definition for an Azure ML function": { + "$ref": "./examples/Function_RetrieveDefaultDefinition_AzureML.json" + } }, "parameters": [ { @@ -366,16 +424,16 @@ "description": "Parameters used to specify the type of function to retrieve the default definition for." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/FunctionNameParameter" @@ -387,6 +445,12 @@ "schema": { "$ref": "#/definitions/Function" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -394,6 +458,7 @@ }, "definitions": { "Function": { + "type": "object", "description": "A function object, containing all information associated with the named function. All functions are contained under a streaming job.", "allOf": [ { @@ -408,6 +473,7 @@ } }, "FunctionProperties": { + "type": "object", "description": "The properties that are associated with a function.", "discriminator": "type", "properties": { @@ -420,9 +486,13 @@ "type": "string", "description": "The current entity tag for the function. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." } - } + }, + "required": [ + "type" + ] }, "ScalarFunctionProperties": { + "type": "object", "description": "The properties that are associated with a scalar function.", "x-ms-discriminator-value": "Scalar", "allOf": [ @@ -439,6 +509,7 @@ } }, "ScalarFunctionConfiguration": { + "type": "object", "description": "Describes the configuration of the scalar function.", "properties": { "inputs": { @@ -459,6 +530,7 @@ } }, "FunctionInput": { + "type": "object", "description": "Describes one input parameter of a function.", "properties": { "dataType": { @@ -472,6 +544,7 @@ } }, "FunctionOutput": { + "type": "object", "description": "Describes the output of a function.", "properties": { "dataType": { @@ -481,6 +554,7 @@ } }, "FunctionBinding": { + "type": "object", "description": "The physical binding of the function. For example, in the Azure Machine Learning web service’s case, this describes the endpoint.", "discriminator": "type", "properties": { @@ -488,9 +562,13 @@ "type": "string", "description": "Indicates the function binding type." } - } + }, + "required": [ + "type" + ] }, "AzureMachineLearningWebServiceFunctionBinding": { + "type": "object", "description": "The binding to an Azure Machine Learning web service.", "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", "allOf": [ @@ -507,6 +585,7 @@ } }, "AzureMachineLearningWebServiceFunctionBindingProperties": { + "type": "object", "description": "The binding properties associated with an Azure Machine learning web service.", "properties": { "endpoint": { @@ -536,6 +615,7 @@ } }, "AzureMachineLearningWebServiceInputs": { + "type": "object", "description": "The inputs for the Azure Machine Learning web service endpoint.", "properties": { "name": { @@ -552,6 +632,7 @@ } }, "AzureMachineLearningWebServiceInputColumn": { + "type": "object", "description": "Describes an input column for the Azure Machine Learning web service endpoint.", "properties": { "name": { @@ -570,6 +651,7 @@ } }, "AzureMachineLearningWebServiceOutputColumn": { + "type": "object", "description": "Describes an output column for the Azure Machine Learning web service endpoint.", "properties": { "name": { @@ -583,6 +665,7 @@ } }, "JavaScriptFunctionBinding": { + "type": "object", "description": "The binding to a JavaScript function.", "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", "allOf": [ @@ -599,6 +682,7 @@ } }, "JavaScriptFunctionBindingProperties": { + "type": "object", "description": "The binding properties associated with a JavaScript function.", "properties": { "script": { @@ -608,6 +692,7 @@ } }, "FunctionRetrieveDefaultDefinitionParameters": { + "type": "object", "description": "Parameters used to specify the type of function to retrieve the default definition for.", "discriminator": "bindingType", "properties": { @@ -615,9 +700,13 @@ "type": "string", "description": "Indicates the function binding type." } - } + }, + "required": [ + "bindingType" + ] }, "AzureMachineLearningWebServiceFunctionRetrieveDefaultDefinitionParameters": { + "type": "object", "description": "The parameters needed to retrieve the default function definition for an Azure Machine Learning web service function.", "x-ms-discriminator-value": "Microsoft.MachineLearning/WebService", "allOf": [ @@ -634,6 +723,7 @@ } }, "AzureMachineLearningWebServiceFunctionBindingRetrievalProperties": { + "type": "object", "description": "The binding retrieval properties associated with an Azure Machine learning web service.", "properties": { "executeEndpoint": { @@ -647,6 +737,7 @@ } }, "JavaScriptFunctionRetrieveDefaultDefinitionParameters": { + "type": "object", "description": "The parameters needed to retrieve the default function definition for a JavaScript function.", "x-ms-discriminator-value": "Microsoft.StreamAnalytics/JavascriptUdf", "allOf": [ @@ -663,6 +754,7 @@ } }, "JavaScriptFunctionBindingRetrievalProperties": { + "type": "object", "description": "The binding retrieval properties associated with a JavaScript function.", "properties": { "script": { @@ -676,6 +768,7 @@ } }, "FunctionListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -705,6 +798,7 @@ } }, "SubResource": { + "type": "object", "description": "The base sub-resource model definition.", "properties": { "id": { @@ -726,29 +820,6 @@ } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" - }, - "StreamingJobNameParameter": { - "name": "jobName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the streaming job.", - "x-ms-parameter-location": "method" - }, "FunctionNameParameter": { "name": "functionName", "in": "path", @@ -756,13 +827,6 @@ "type": "string", "description": "The name of the function.", "x-ms-parameter-location": "method" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/inputs.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/inputs.json index 806407fa..7ee84c08 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/inputs.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/inputs.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -41,10 +41,18 @@ "operationId": "Inputs_CreateOrReplace", "description": "Creates an input or replaces an already existing input under an existing streaming job.", "x-ms-examples": { - "Create a reference blob input wtih CSV serialization": { "$ref": "../examples/Input_Create_Reference_Blob_CSV.json" }, - "Create a stream blob input with CSV serialization": { "$ref": "../examples/Input_Create_Stream_Blob_CSV.json" }, - "Create a stream Event Hub input with JSON serialization": { "$ref": "../examples/Input_Create_Stream_EventHub_JSON.json" }, - "Create a stream IoT Hub input with Avro serialization": { "$ref": "../examples/Input_Create_Stream_IoTHub_Avro.json" } + "Create a reference blob input with CSV serialization": { + "$ref": "./examples/Input_Create_Reference_Blob_CSV.json" + }, + "Create a stream blob input with CSV serialization": { + "$ref": "./examples/Input_Create_Stream_Blob_CSV.json" + }, + "Create a stream Event Hub input with JSON serialization": { + "$ref": "./examples/Input_Create_Stream_EventHub_JSON.json" + }, + "Create a stream IoT Hub input with Avro serialization": { + "$ref": "./examples/Input_Create_Stream_IoTHub_Avro.json" + } }, "parameters": [ { @@ -62,7 +70,7 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { "name": "If-None-Match", @@ -73,16 +81,16 @@ "description": "Set to '*' to allow a new input to be created, but to prevent updating an existing input. Other values will result in a 412 Pre-condition Failed response." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/InputNameParameter" @@ -112,6 +120,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -122,10 +136,18 @@ "operationId": "Inputs_Update", "description": "Updates an existing input under an existing streaming job. This can be used to partially update (ie. update one or two properties) an input without affecting the rest the job or input definition.", "x-ms-examples": { - "Update a reference blob input": { "$ref": "../examples/Input_Update_Reference_Blob.json" }, - "Update a stream blob input": { "$ref": "../examples/Input_Update_Stream_Blob.json" }, - "Update a stream Event Hub input": { "$ref": "../examples/Input_Update_Stream_EventHub.json" }, - "Update a stream IoT Hub input": { "$ref": "../examples/Input_Update_Stream_IoTHub.json" } + "Update a reference blob input": { + "$ref": "./examples/Input_Update_Reference_Blob.json" + }, + "Update a stream blob input": { + "$ref": "./examples/Input_Update_Stream_Blob.json" + }, + "Update a stream Event Hub input": { + "$ref": "./examples/Input_Update_Stream_EventHub.json" + }, + "Update a stream IoT Hub input": { + "$ref": "./examples/Input_Update_Stream_IoTHub.json" + } }, "parameters": [ { @@ -143,19 +165,19 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the input. Omit this value to always overwrite the current input. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/InputNameParameter" @@ -173,6 +195,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -183,20 +211,22 @@ "operationId": "Inputs_Delete", "description": "Deletes an input from the streaming job.", "x-ms-examples": { - "Delete an input": { "$ref": "../examples/Input_Delete.json" } + "Delete an input": { + "$ref": "./examples/Input_Delete.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/InputNameParameter" @@ -208,6 +238,12 @@ }, "204": { "description": "The input does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -218,23 +254,31 @@ "operationId": "Inputs_Get", "description": "Gets details about the specified input.", "x-ms-examples": { - "Get a reference blob input wtih CSV serialization": { "$ref": "../examples/Input_Get_Reference_Blob_CSV.json" }, - "Get a stream blob input with CSV serialization": { "$ref": "../examples/Input_Get_Stream_Blob_CSV.json" }, - "Get a stream Event Hub input with JSON serialization": { "$ref": "../examples/Input_Get_Stream_EventHub_JSON.json" }, - "Get a stream IoT Hub input with Avro serialization": { "$ref": "../examples/Input_Get_Stream_IoTHub_Avro.json" } + "Get a reference blob input with CSV serialization": { + "$ref": "./examples/Input_Get_Reference_Blob_CSV.json" + }, + "Get a stream blob input with CSV serialization": { + "$ref": "./examples/Input_Get_Stream_Blob_CSV.json" + }, + "Get a stream Event Hub input with JSON serialization": { + "$ref": "./examples/Input_Get_Stream_EventHub_JSON.json" + }, + "Get a stream IoT Hub input with Avro serialization": { + "$ref": "./examples/Input_Get_Stream_IoTHub_Avro.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/InputNameParameter" @@ -252,6 +296,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -264,8 +314,12 @@ "operationId": "Inputs_ListByStreamingJob", "description": "Lists all of the inputs under the specified streaming job.", "x-ms-examples": { - "List all inputs in a streaming job": { "$ref": "../examples/Input_ListByStreamingJob.json" }, - "List all inputs in a streaming job and include diagnostic information using the $select OData query parameter": { "$ref": "../examples/Input_ListByStreamingJob_Diagnostics.json" } + "List all inputs in a streaming job": { + "$ref": "./examples/Input_ListByStreamingJob.json" + }, + "List all inputs in a streaming job and include diagnostic information using the $select OData query parameter": { + "$ref": "./examples/Input_ListByStreamingJob_Diagnostics.json" + } }, "parameters": [ { @@ -273,19 +327,19 @@ "in": "query", "required": false, "type": "string", - "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*†to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -294,6 +348,12 @@ "schema": { "$ref": "#/definitions/InputListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -309,7 +369,9 @@ "operationId": "Inputs_Test", "description": "Tests whether an input’s datasource is reachable and usable by the Azure Stream Analytics service.", "x-ms-examples": { - "Test the connection for an input": { "$ref": "../examples/Input_Test.json" } + "Test the connection for an input": { + "$ref": "./examples/Input_Test.json" + } }, "parameters": [ { @@ -322,16 +384,16 @@ "description": "If the input specified does not already exist, this parameter must contain the full input definition intended to be tested. If the input specified already exists, this parameter can be left null to test the existing input as is or if specified, the properties specified will overwrite the corresponding properties in the existing input (exactly like a PATCH operation) and the resulting input will be tested." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/InputNameParameter" @@ -346,6 +408,12 @@ }, "202": { "description": "The test request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -354,6 +422,7 @@ }, "definitions": { "Input": { + "type": "object", "description": "An input object, containing all information associated with the named input. All inputs are contained under a streaming job.", "allOf": [ { @@ -368,6 +437,7 @@ } }, "InputProperties": { + "type": "object", "description": "The properties that are associated with an input.", "discriminator": "type", "properties": { @@ -388,10 +458,22 @@ "readOnly": true, "type": "string", "description": "The current entity tag for the input. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "compression": { + "$ref": "#/definitions/Compression", + "description": "Describes how input data is compressed" + }, + "partitionKey": { + "type": "string", + "description": "partitionKey Describes a key in the input data which is used for partitioning the input data" } - } + }, + "required": [ + "type" + ] }, "StreamInputProperties": { + "type": "object", "description": "The properties that are associated with an input containing stream data.", "x-ms-discriminator-value": "Stream", "allOf": [ @@ -407,6 +489,7 @@ } }, "ReferenceInputProperties": { + "type": "object", "description": "The properties that are associated with an input containing reference data.", "x-ms-discriminator-value": "Reference", "allOf": [ @@ -422,6 +505,7 @@ } }, "StreamInputDataSource": { + "type": "object", "description": "Describes an input data source that contains stream data.", "discriminator": "type", "properties": { @@ -429,9 +513,13 @@ "type": "string", "description": "Indicates the type of input data source containing stream data. Required on PUT (CreateOrReplace) requests." } - } + }, + "required": [ + "type" + ] }, "BlobStreamInputDataSource": { + "type": "object", "description": "Describes a blob input data source that contains stream data.", "x-ms-discriminator-value": "Microsoft.Storage/Blob", "allOf": [ @@ -448,6 +536,7 @@ } }, "BlobStreamInputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a blob input containing stream data.", "allOf": [ { @@ -463,6 +552,7 @@ } }, "EventHubStreamInputDataSource": { + "type": "object", "description": "Describes an Event Hub input data source that contains stream data.", "x-ms-discriminator-value": "Microsoft.ServiceBus/EventHub", "allOf": [ @@ -478,7 +568,25 @@ } } }, + "EventHubV2StreamInputDataSource": { + "type": "object", + "description": "Describes an Event Hub input data source that contains stream data.", + "x-ms-discriminator-value": "Microsoft.EventHub/EventHub", + "allOf": [ + { + "$ref": "#/definitions/StreamInputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubStreamInputDataSourceProperties", + "description": "The properties that are associated with an Event Hub input containing stream data. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, "EventHubStreamInputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a Event Hub input containing stream data.", "allOf": [ { @@ -493,6 +601,7 @@ } }, "IoTHubStreamInputDataSource": { + "type": "object", "description": "Describes an IoT Hub input data source that contains stream data.", "x-ms-discriminator-value": "Microsoft.Devices/IotHubs", "allOf": [ @@ -509,6 +618,7 @@ } }, "IoTHubStreamInputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a IoT Hub input containing stream data.", "properties": { "iotHubNamespace": { @@ -534,6 +644,7 @@ } }, "ReferenceInputDataSource": { + "type": "object", "description": "Describes an input data source that contains reference data.", "discriminator": "type", "properties": { @@ -541,9 +652,13 @@ "type": "string", "description": "Indicates the type of input data source containing reference data. Required on PUT (CreateOrReplace) requests." } - } + }, + "required": [ + "type" + ] }, "BlobReferenceInputDataSource": { + "type": "object", "description": "Describes a blob input data source that contains reference data.", "x-ms-discriminator-value": "Microsoft.Storage/Blob", "allOf": [ @@ -560,6 +675,7 @@ } }, "BlobReferenceInputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a blob input containing reference data.", "allOf": [ { @@ -569,6 +685,7 @@ "properties": {} }, "BlobDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a blob data source.", "properties": { "storageAccounts": { @@ -597,6 +714,7 @@ } }, "StorageAccount": { + "type": "object", "description": "The properties that are associated with an Azure Storage account", "properties": { "accountName": { @@ -610,6 +728,7 @@ } }, "ServiceBusDataSourceProperties": { + "type": "object", "description": "The common properties that are associated with Service Bus data sources (Queues, Topics, Event Hubs, etc.).", "properties": { "serviceBusNamespace": { @@ -623,10 +742,15 @@ "sharedAccessPolicyKey": { "type": "string", "description": "The shared access policy key for the specified shared access policy. Required on PUT (CreateOrReplace) requests." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, "EventHubDataSourceProperties": { + "type": "object", "description": "The common properties that are associated with Event Hub data sources.", "allOf": [ { @@ -641,6 +765,7 @@ } }, "Diagnostics": { + "type": "object", "description": "Describes conditions applicable to the Input, Output, or the job overall, that warrant customer attention.", "properties": { "conditions": { @@ -654,6 +779,7 @@ } }, "DiagnosticCondition": { + "type": "object", "description": "Condition applicable to the resource, or to the job overall, that warrant customer attention.", "properties": { "since": { @@ -674,6 +800,7 @@ } }, "InputListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -692,16 +819,57 @@ "description": "Object containing a list of inputs under a streaming job." }, "Serialization": { + "type": "object", "description": "Describes how data from an input is serialized or how data is serialized when written to an output.", "discriminator": "type", "properties": { "type": { - "type": "string", - "description": "Indicates the type of serialization that the input or output uses. Required on PUT (CreateOrReplace) requests." + "description": "Indicates the type of serialization that the input or output uses. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/EventSerializationType" + } + }, + "required": [ + "type" + ] + }, + "EventSerializationType": { + "type": "string", + "description": "Indicates the type of serialization that the input or output uses. Required on PUT (CreateOrReplace) requests.", + "enum": [ + "Csv", + "Avro", + "Json", + "Parquet" + ], + "x-ms-enum": { + "name": "EventSerializationType", + "modelAsString": true + } + }, + "ParquetSerialization": { + "type": "object", + "description": "Describes how data from an input is serialized or how data is serialized when written to an output in Parquet format.", + "x-ms-discriminator-value": "Parquet", + "allOf": [ + { + "$ref": "#/definitions/Serialization" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ParquetSerializationProperties", + "description": "The properties that are associated with the Parquet serialization type. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true } } }, + "ParquetSerializationProperties": { + "type": "object", + "description": "The properties that are associated with the Parquet serialization type.", + "properties": {} + }, "CsvSerialization": { + "type": "object", "description": "Describes how data from an input is serialized or how data is serialized when written to an output in CSV format.", "x-ms-discriminator-value": "Csv", "allOf": [ @@ -718,6 +886,7 @@ } }, "CsvSerializationProperties": { + "type": "object", "description": "The properties that are associated with the CSV serialization type.", "properties": { "fieldDelimiter": { @@ -731,6 +900,7 @@ } }, "JsonSerialization": { + "type": "object", "description": "Describes how data from an input is serialized or how data is serialized when written to an output in JSON format.", "x-ms-discriminator-value": "Json", "allOf": [ @@ -747,6 +917,7 @@ } }, "JsonSerializationProperties": { + "type": "object", "description": "The properties that are associated with the JSON serialization type.", "properties": { "encoding": { @@ -760,6 +931,7 @@ } }, "AvroSerialization": { + "type": "object", "description": "Describes how data from an input is serialized or how data is serialized when written to an output in Avro format.", "x-ms-discriminator-value": "Avro", "allOf": [ @@ -776,6 +948,7 @@ } }, "AvroSerializationProperties": { + "type": "object", "description": "The properties that are associated with the Avro serialization type.", "properties": {} }, @@ -803,6 +976,7 @@ } }, "ResourceTestStatus": { + "type": "object", "description": "Describes the status of the test operation along with error information, if applicable.", "properties": { "status": { @@ -818,6 +992,7 @@ } }, "ErrorResponse": { + "type": "object", "description": "Describes the error that occurred.", "properties": { "code": { @@ -833,6 +1008,7 @@ } }, "SubResource": { + "type": "object", "description": "The base sub-resource model definition.", "properties": { "id": { @@ -851,32 +1027,109 @@ } }, "x-ms-azure-resource": true - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" + "Compression": { + "type": "object", + "description": "Describes how input data is compressed", + "properties": { + "type": { + "description": "Indicates the type of compression that the input uses. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/CompressionType" + } + }, + "required": [ + "type" + ] }, - "StreamingJobNameParameter": { - "name": "jobName", - "in": "path", - "required": true, + "CompressionType": { "type": "string", - "description": "The name of the streaming job.", - "x-ms-parameter-location": "method" + "description": "Indicates the type of compression that the input uses. Required on PUT (CreateOrReplace) requests.", + "enum": [ + "None", + "GZip", + "Deflate" + ], + "x-ms-enum": { + "name": "CompressionType", + "modelAsString": true + } }, + "AzureSqlReferenceInputDataSource": { + "type": "object", + "description": "Describes an Azure SQL database reference input data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/Database", + "allOf": [ + { + "$ref": "#/definitions/ReferenceInputDataSource" + } + ], + "properties": { + "properties": { + "description": "The properties that are associated with SQL DB input containing reference data. Required on PUT (CreateOrReplace) requests.", + "$ref": "#/definitions/AzureSqlReferenceInputDataSourceProperties", + "x-ms-client-flatten": true + } + } + }, + "AzureSqlReferenceInputDataSourceProperties": { + "description": "The properties that are associated with SQL DB input containing reference data. Required on PUT (CreateOrReplace) requests.", + "type": "object", + "properties": { + "server": { + "description": "This element is associated with the datasource element. This is the name of the server that contains the database that will be written to.", + "type": "string" + }, + "database": { + "description": "This element is associated with the datasource element. This is the name of the database that output will be written to.", + "type": "string" + }, + "user": { + "description": "This element is associated with the datasource element. This is the user name that will be used to connect to the SQL Database instance.", + "type": "string" + }, + "password": { + "description": "This element is associated with the datasource element. This is the password that will be used to connect to the SQL Database instance.", + "type": "string", + "x-ms-secret": true + }, + "table": { + "description": "This element is associated with the datasource element. The name of the table in the Azure SQL database..", + "type": "string" + }, + "refreshType": { + "type": "object", + "description": "Indicates the type of data refresh option.", + "$ref": "#/definitions/RefreshType" + }, + "refreshRate": { + "description": "This element is associated with the datasource element. This indicates how frequently the data will be fetched from the database. It is of DateTime format.", + "type": "string" + }, + "fullSnapshotQuery": { + "description": "This element is associated with the datasource element. This query is used to fetch data from the sql database.", + "type": "string" + }, + "deltaSnapshotQuery": { + "description": "This element is associated with the datasource element. This query is used to fetch incremental changes from the SQL database. To use this option, we recommend using temporal tables in Azure SQL Database.", + "type": "string" + } + } + }, + "RefreshType": { + "type": "string", + "description": "Indicates the type of data refresh option.", + "enum": [ + "Static", + "RefreshPeriodicallyWithFull", + "RefreshPeriodicallyWithDelta" + ], + "x-ms-enum": { + "name": "RefreshType", + "modelAsString": true + } + } + }, + "parameters": { "InputNameParameter": { "name": "inputName", "in": "path", @@ -884,13 +1137,6 @@ "type": "string", "description": "The name of the input.", "x-ms-parameter-location": "method" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/outputs.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/outputs.json index 2e9fa894..d4041f35 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/outputs.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/outputs.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -41,13 +41,33 @@ "operationId": "Outputs_CreateOrReplace", "description": "Creates an output or replaces an already existing output under an existing streaming job.", "x-ms-examples": { - "Create an Azure SQL database output": { "$ref": "../examples/Output_Create_AzureSQL.json" }, - "Create an Azure Table output": { "$ref": "../examples/Output_Create_AzureTable.json" }, - "Create a blob output with CSV serialization": { "$ref": "../examples/Output_Create_Blob_CSV.json" }, - "Create a DocumentDB output": { "$ref": "../examples/Output_Create_DocumentDB.json" }, - "Create an Event Hub output with JSON serialization": { "$ref": "../examples/Output_Create_EventHub_JSON.json" }, - "Create a Service Bus Queue output with Avro serialization": { "$ref": "../examples/Output_Create_ServiceBusQueue_Avro.json" }, - "Create a Service Bus Topic output with CSV serialization": { "$ref": "../examples/Output_Create_ServiceBusTopic_CSV.json" } + "Create an Azure SQL database output": { + "$ref": "./examples/Output_Create_AzureSQL.json" + }, + "Create an Azure Table output": { + "$ref": "./examples/Output_Create_AzureTable.json" + }, + "Create a blob output with CSV serialization": { + "$ref": "./examples/Output_Create_Blob_CSV.json" + }, + "Create a DocumentDB output": { + "$ref": "./examples/Output_Create_DocumentDB.json" + }, + "Create an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Create_EventHub_JSON.json" + }, + "Create a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Create_ServiceBusQueue_Avro.json" + }, + "Create a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Create_ServiceBusTopic_CSV.json" + }, + "Create a Power BI output": { + "$ref": "./examples/Output_Create_PowerBI.json" + }, + "Create an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Create_AzureDataLakeStore_JSON.json" + } }, "parameters": [ { @@ -65,7 +85,7 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { "name": "If-None-Match", @@ -76,16 +96,16 @@ "description": "Set to '*' to allow a new output to be created, but to prevent updating an existing output. Other values will result in a 412 Pre-condition Failed response." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/OutputNameParameter" @@ -115,6 +135,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -125,13 +151,33 @@ "operationId": "Outputs_Update", "description": "Updates an existing output under an existing streaming job. This can be used to partially update (ie. update one or two properties) an output without affecting the rest the job or output definition.", "x-ms-examples": { - "Update an Azure SQL database output": { "$ref": "../examples/Output_Update_AzureSQL.json" }, - "Update an Azure Table output": { "$ref": "../examples/Output_Update_AzureTable.json" }, - "Update a blob output with CSV serialization": { "$ref": "../examples/Output_Update_Blob.json" }, - "Update a DocumentDB output": { "$ref": "../examples/Output_Update_DocumentDB.json" }, - "Update an Event Hub output with JSON serialization": { "$ref": "../examples/Output_Update_EventHub.json" }, - "Update a Service Bus Queue output with Avro serialization": { "$ref": "../examples/Output_Update_ServiceBusQueue.json" }, - "Update a Service Bus Topic output with CSV serialization": { "$ref": "../examples/Output_Update_ServiceBusTopic.json" } + "Update an Azure SQL database output": { + "$ref": "./examples/Output_Update_AzureSQL.json" + }, + "Update an Azure Table output": { + "$ref": "./examples/Output_Update_AzureTable.json" + }, + "Update a blob output with CSV serialization": { + "$ref": "./examples/Output_Update_Blob.json" + }, + "Update a DocumentDB output": { + "$ref": "./examples/Output_Update_DocumentDB.json" + }, + "Update an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Update_EventHub.json" + }, + "Update a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Update_ServiceBusQueue.json" + }, + "Update a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Update_ServiceBusTopic.json" + }, + "Update a Power BI output": { + "$ref": "./examples/Output_Update_PowerBI.json" + }, + "Update an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Update_AzureDataLakeStore.json" + } }, "parameters": [ { @@ -149,19 +195,19 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the output. Omit this value to always overwrite the current output. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/OutputNameParameter" @@ -179,6 +225,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -189,20 +241,22 @@ "operationId": "Outputs_Delete", "description": "Deletes an output from the streaming job.", "x-ms-examples": { - "Delete an output": { "$ref": "../examples/Output_Delete.json" } + "Delete an output": { + "$ref": "./examples/Output_Delete.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/OutputNameParameter" @@ -214,6 +268,12 @@ }, "204": { "description": "The output does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -224,26 +284,49 @@ "operationId": "Outputs_Get", "description": "Gets details about the specified output.", "x-ms-examples": { - "Get an Azure SQL database output": { "$ref": "../examples/Output_Get_AzureSQL.json" }, - "Get an Azure Table output": { "$ref": "../examples/Output_Get_AzureTable.json" }, - "Get a blob output with CSV serialization": { "$ref": "../examples/Output_Get_Blob_CSV.json" }, - "Get a DocumentDB output": { "$ref": "../examples/Output_Get_DocumentDB.json" }, - "Get an Event Hub output with JSON serialization": { "$ref": "../examples/Output_Get_EventHub_JSON.json" }, - "Get a Service Bus Queue output with Avro serialization": { "$ref": "../examples/Output_Get_ServiceBusQueue_Avro.json" }, - "Get a Service Bus Topic output with CSV serialization": { "$ref": "../examples/Output_Get_ServiceBusTopic_CSV.json" } + "Get an Azure SQL database output": { + "$ref": "./examples/Output_Get_AzureSQL.json" + }, + "Get an Azure Table output": { + "$ref": "./examples/Output_Get_AzureTable.json" + }, + "Get a blob output with CSV serialization": { + "$ref": "./examples/Output_Get_Blob_CSV.json" + }, + "Get a DocumentDB output": { + "$ref": "./examples/Output_Get_DocumentDB.json" + }, + "Get an Azure Data Warehouse output": { + "$ref": "./examples/Output_Get_DataWarehouse.json" + }, + "Get an Event Hub output with JSON serialization": { + "$ref": "./examples/Output_Get_EventHub_JSON.json" + }, + "Get a Service Bus Queue output with Avro serialization": { + "$ref": "./examples/Output_Get_ServiceBusQueue_Avro.json" + }, + "Get a Service Bus Topic output with CSV serialization": { + "$ref": "./examples/Output_Get_ServiceBusTopic_CSV.json" + }, + "Get a Power BI output": { + "$ref": "./examples/Output_Get_PowerBI.json" + }, + "Get an Azure Data Lake Store output with JSON serialization": { + "$ref": "./examples/Output_Get_AzureDataLakeStore_JSON.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/OutputNameParameter" @@ -261,6 +344,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -273,7 +362,9 @@ "operationId": "Outputs_ListByStreamingJob", "description": "Lists all of the outputs under the specified streaming job.", "x-ms-examples": { - "List all outputs in a streaming job": { "$ref": "../examples/Output_ListByStreamingJob.json" } + "List all outputs in a streaming job": { + "$ref": "./examples/Output_ListByStreamingJob.json" + } }, "parameters": [ { @@ -281,19 +372,19 @@ "in": "query", "required": false, "type": "string", - "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or “*†to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." + "description": "The $select OData query parameter. This is a comma-separated list of structural properties to include in the response, or \"*\" to include all properties. By default, all properties are returned except diagnostics. Currently only accepts '*' as a valid value." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -302,6 +393,12 @@ "schema": { "$ref": "#/definitions/OutputListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -317,7 +414,9 @@ "operationId": "Outputs_Test", "description": "Tests whether an output’s datasource is reachable and usable by the Azure Stream Analytics service.", "x-ms-examples": { - "Test the connection for an output": { "$ref": "../examples/Output_Test.json" } + "Test the connection for an output": { + "$ref": "./examples/Output_Test.json" + } }, "parameters": [ { @@ -330,16 +429,16 @@ "description": "If the output specified does not already exist, this parameter must contain the full output definition intended to be tested. If the output specified already exists, this parameter can be left null to test the existing output as is or if specified, the properties specified will overwrite the corresponding properties in the existing output (exactly like a PATCH operation) and the resulting output will be tested." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/OutputNameParameter" @@ -354,6 +453,12 @@ }, "202": { "description": "The test request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -362,6 +467,7 @@ }, "definitions": { "Output": { + "type": "object", "description": "An output object, containing all information associated with the named output. All outputs are contained under a streaming job.", "allOf": [ { @@ -377,12 +483,21 @@ } }, "OutputProperties": { + "type": "object", "description": "The properties that are associated with an output.", "properties": { "datasource": { "$ref": "#/definitions/OutputDataSource", "description": "Describes the data source that output will be written to. Required on PUT (CreateOrReplace) requests." }, + "timeWindow": { + "type": "string", + "description": "The time frame for filtering Stream Analytics job outputs." + }, + "sizeWindow": { + "type": "number", + "description": "The size window to constrain a Stream Analytics output to." + }, "serialization": { "$ref": "./inputs.json#/definitions/Serialization", "description": "Describes how data from an input is serialized or how data is serialized when written to an output. Required on PUT (CreateOrReplace) requests." @@ -400,6 +515,7 @@ } }, "OutputDataSource": { + "type": "object", "description": "Describes the data source that output will be written to.", "discriminator": "type", "properties": { @@ -407,9 +523,13 @@ "type": "string", "description": "Indicates the type of data source output will be written to. Required on PUT (CreateOrReplace) requests." } - } + }, + "required": [ + "type" + ] }, "BlobOutputDataSource": { + "type": "object", "description": "Describes a blob output data source.", "x-ms-discriminator-value": "Microsoft.Storage/Blob", "allOf": [ @@ -426,16 +546,23 @@ } }, "BlobOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a blob output.", "allOf": [ { "$ref": "./inputs.json#/definitions/BlobDataSourceProperties" } ], - "properties": {} + "properties": { + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } }, "AzureTableOutputDataSource": { - "description": "Describes an Azure Table data source.", + "type": "object", + "description": "Describes an Azure Table output data source.", "x-ms-discriminator-value": "Microsoft.Storage/Table", "allOf": [ { @@ -451,6 +578,7 @@ } }, "AzureTableOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with an Azure Table output.", "properties": { "accountName": { @@ -459,7 +587,8 @@ }, "accountKey": { "type": "string", - "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests." + "description": "The account key for the Azure Storage account. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true }, "table": { "type": "string", @@ -488,6 +617,7 @@ } }, "EventHubOutputDataSource": { + "type": "object", "description": "Describes an Event Hub output data source.", "x-ms-discriminator-value": "Microsoft.ServiceBus/EventHub", "allOf": [ @@ -503,7 +633,25 @@ } } }, + "EventHubV2OutputDataSource": { + "type": "object", + "description": "Describes an Event Hub output data source.", + "x-ms-discriminator-value": "Microsoft.EventHub/EventHub", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EventHubOutputDataSourceProperties", + "description": "The properties that are associated with an Event Hub output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, "EventHubOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with an Event Hub output.", "allOf": [ { @@ -514,10 +662,18 @@ "partitionKey": { "type": "string", "description": "The key/column that is used to determine to which partition to send event data." + }, + "propertyColumns": { + "type": "array", + "description": "The properties associated with this Event Hub output.", + "items": { + "type": "string" + } } } }, "AzureSqlDatabaseOutputDataSource": { + "type": "object", "description": "Describes an Azure SQL database output data source.", "x-ms-discriminator-value": "Microsoft.Sql/Server/Database", "allOf": [ @@ -534,6 +690,7 @@ } }, "AzureSqlDatabaseOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with an Azure SQL database output.", "allOf": [ { @@ -542,8 +699,63 @@ ], "properties": {} }, + "AzureSynapseOutputDataSource": { + "type": "object", + "description": "Describes an Azure Synapse output data source.", + "x-ms-discriminator-value": "Microsoft.Sql/Server/DataWarehouse", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureSynapseOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Synapse output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureSynapseOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure Synapse output.", + "allOf": [ + { + "$ref": "#/definitions/AzureSynapseDataSourceProperties" + } + ], + "properties": {} + }, + "AzureSynapseDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure SQL database data source.", + "properties": { + "server": { + "type": "string", + "description": "The name of the SQL server containing the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "database": { + "type": "string", + "description": "The name of the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "user": { + "type": "string", + "description": "The user name that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "password": { + "type": "string", + "description": "The password that will be used to connect to the Azure SQL database. Required on PUT (CreateOrReplace) requests.", + "x-ms-secret": true + } + } + }, "DocumentDbOutputDataSource": { - "description": "Describes a DocumentDB data source.", + "type": "object", + "description": "Describes a DocumentDB output data source.", "x-ms-discriminator-value": "Microsoft.Storage/DocumentDB", "allOf": [ { @@ -559,6 +771,7 @@ } }, "DocumentDbOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a DocumentDB output.", "properties": { "accountId": { @@ -588,7 +801,8 @@ } }, "ServiceBusQueueOutputDataSource": { - "description": "Describes a Service Bus Queue data source.", + "type": "object", + "description": "Describes a Service Bus Queue output data source.", "x-ms-discriminator-value": "Microsoft.ServiceBus/Queue", "allOf": [ { @@ -604,6 +818,7 @@ } }, "ServiceBusQueueOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a Service Bus Queue output.", "allOf": [ { @@ -621,11 +836,16 @@ "type": "string" }, "description": "A string array of the names of output columns to be attached to Service Bus messages as custom properties." + }, + "systemPropertyColumns": { + "type": "object", + "description": "The system properties associated with the Service Bus Queue. The following system properties are supported: ReplyToSessionId, ContentType, To, Subject, CorrelationId, TimeToLive, PartitionKey, SessionId, ScheduledEnqueueTime, MessageId, ReplyTo, Label, ScheduledEnqueueTimeUtc." } } }, "ServiceBusTopicOutputDataSource": { - "description": "Describes a Service Bus Topic data source.", + "type": "object", + "description": "Describes a Service Bus Topic output data source.", "x-ms-discriminator-value": "Microsoft.ServiceBus/Topic", "allOf": [ { @@ -641,6 +861,7 @@ } }, "ServiceBusTopicOutputDataSourceProperties": { + "type": "object", "description": "The properties that are associated with a Service Bus Topic output.", "allOf": [ { @@ -658,10 +879,118 @@ "type": "string" }, "description": "A string array of the names of output columns to be attached to Service Bus messages as custom properties." + }, + "systemPropertyColumns": { + "type": "object", + "description": "The system properties associated with the Service Bus Topic Output. The following system properties are supported: ReplyToSessionId, ContentType, To, Subject, CorrelationId, TimeToLive, PartitionKey, SessionId, ScheduledEnqueueTime, MessageId, ReplyTo, Label, ScheduledEnqueueTimeUtc.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "PowerBIOutputDataSource": { + "type": "object", + "description": "Describes a Power BI output data source.", + "x-ms-discriminator-value": "PowerBI", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PowerBIOutputDataSourceProperties", + "description": "The properties that are associated with a Power BI output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "PowerBIOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with a Power BI output.", + "allOf": [ + { + "$ref": "#/definitions/OAuthBasedDataSourceProperties" + } + ], + "properties": { + "dataset": { + "type": "string", + "description": "The name of the Power BI dataset. Required on PUT (CreateOrReplace) requests." + }, + "table": { + "type": "string", + "description": "The name of the Power BI table under the specified dataset. Required on PUT (CreateOrReplace) requests." + }, + "groupId": { + "type": "string", + "description": "The ID of the Power BI group." + }, + "groupName": { + "type": "string", + "description": "The name of the Power BI group. Use this property to help remember which specific Power BI group id was used." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "AzureDataLakeStoreOutputDataSource": { + "type": "object", + "description": "Describes an Azure Data Lake Store output data source.", + "x-ms-discriminator-value": "Microsoft.DataLake/Accounts", + "allOf": [ + { + "$ref": "#/definitions/OutputDataSource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AzureDataLakeStoreOutputDataSourceProperties", + "description": "The properties that are associated with an Azure Data Lake Store output. Required on PUT (CreateOrReplace) requests.", + "x-ms-client-flatten": true + } + } + }, + "AzureDataLakeStoreOutputDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with an Azure Data Lake Store.", + "allOf": [ + { + "$ref": "#/definitions/OAuthBasedDataSourceProperties" + } + ], + "properties": { + "accountName": { + "type": "string", + "description": "The name of the Azure Data Lake Store account. Required on PUT (CreateOrReplace) requests." + }, + "tenantId": { + "type": "string", + "description": "The tenant id of the user used to obtain the refresh token. Required on PUT (CreateOrReplace) requests." + }, + "filePathPrefix": { + "type": "string", + "description": "The location of the file to which the output should be written to. Required on PUT (CreateOrReplace) requests." + }, + "dateFormat": { + "type": "string", + "description": "The date format. Wherever {date} appears in filePathPrefix, the value of this property is used as the date format instead." + }, + "timeFormat": { + "type": "string", + "description": "The time format. Wherever {time} appears in filePathPrefix, the value of this property is used as the time format instead." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." } } }, "OutputListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -680,6 +1009,7 @@ "description": "Object containing a list of outputs under a streaming job." }, "AzureSqlDatabaseDataSourceProperties": { + "type": "object", "description": "The properties that are associated with an Azure SQL database data source.", "properties": { "server": { @@ -701,10 +1031,41 @@ "table": { "type": "string", "description": "The name of the table in the Azure SQL database. Required on PUT (CreateOrReplace) requests." + }, + "maxBatchCount": { + "type": "number", + "description": "Max Batch count for write to Sql database, the default value is 10,000. Optional on PUT requests." + }, + "maxWriterCount": { + "type": "number", + "description": "Max Writer count, currently only 1(single writer) and 0(based on query partition) are available. Optional on PUT requests." + }, + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "OAuthBasedDataSourceProperties": { + "type": "object", + "description": "The properties that are associated with data sources that use OAuth as their authentication model.", + "properties": { + "refreshToken": { + "type": "string", + "description": "A refresh token that can be used to obtain a valid access token that can then be used to authenticate with the data source. A valid refresh token is currently only obtainable via the Azure Portal. It is recommended to put a dummy string value here when creating the data source and then going to the Azure Portal to authenticate the data source which will update this property with a valid refresh token. Required on PUT (CreateOrReplace) requests." + }, + "tokenUserPrincipalName": { + "type": "string", + "description": "The user principal name (UPN) of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token." + }, + "tokenUserDisplayName": { + "type": "string", + "description": "The user display name of the user that was used to obtain the refresh token. Use this property to help remember which user was used to obtain the refresh token." } } }, "SubResource": { + "type": "object", "description": "The base sub-resource model definition.", "properties": { "id": { @@ -726,29 +1087,6 @@ } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" - }, - "StreamingJobNameParameter": { - "name": "jobName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the streaming job.", - "x-ms-parameter-location": "method" - }, "OutputNameParameter": { "name": "outputName", "in": "path", @@ -756,13 +1094,6 @@ "type": "string", "description": "The name of the output.", "x-ms-parameter-location": "method" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/streamingjobs.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/streamingjobs.json index 27ff2834..ba3f27b3 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/streamingjobs.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/streamingjobs.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -33,7 +33,7 @@ } }, "paths": { - "/providers/Microsoft.StreamAnalytics/operations": { + "/providers/Microsoft.StreamAnalytics/operations": { "get": { "tags": [ "Operations" @@ -41,11 +41,13 @@ "operationId": "Operations_List", "description": "Lists all of the available Stream Analytics related operations.", "x-ms-examples": { - "List available operations for the Stream Analytics resource provider": { "$ref": "../examples/Operation_List.json" } + "List available operations for the Stream Analytics resource provider": { + "$ref": "./examples/Operation_List.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" } ], "responses": { @@ -54,6 +56,12 @@ "schema": { "$ref": "#/definitions/OperationListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -69,8 +77,12 @@ "operationId": "StreamingJobs_CreateOrReplace", "description": "Creates a streaming job or replaces an already existing streaming job.", "x-ms-examples": { - "Create a streaming job shell (a streaming job with no inputs, outputs, transformation, or functions)": { "$ref": "../examples/StreamingJob_Create_JobShell.json" }, - "Create a complete streaming job (a streaming job with a transformation, at least 1 input and at least 1 output)": { "$ref": "../examples/StreamingJob_Create_CompleteJob.json" } + "Create a streaming job shell (a streaming job with no inputs, outputs, transformation, or functions)": { + "$ref": "./examples/StreamingJob_Create_JobShell.json" + }, + "Create a complete streaming job (a streaming job with a transformation, at least 1 input and at least 1 output)": { + "$ref": "./examples/StreamingJob_Create_CompleteJob.json" + } }, "parameters": [ { @@ -88,7 +100,7 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { "name": "If-None-Match", @@ -99,16 +111,16 @@ "description": "Set to '*' to allow a new streaming job to be created, but to prevent updating an existing record set. Other values will result in a 412 Pre-condition Failed response." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -135,6 +147,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -146,7 +164,9 @@ "operationId": "StreamingJobs_Update", "description": "Updates an existing streaming job. This can be used to partially update (ie. update one or two properties) a streaming job without affecting the rest the job definition.", "x-ms-examples": { - "Update a streaming job": { "$ref": "../examples/StreamingJob_Update.json" } + "Update a streaming job": { + "$ref": "./examples/StreamingJob_Update.json" + } }, "parameters": [ { @@ -164,19 +184,19 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the streaming job. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -191,6 +211,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -201,20 +227,22 @@ "operationId": "StreamingJobs_Delete", "description": "Deletes a streaming job.", "x-ms-examples": { - "Delete a streaming job": { "$ref": "../examples/StreamingJob_Delete.json" } + "Delete a streaming job": { + "$ref": "./examples/StreamingJob_Delete.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -226,6 +254,12 @@ }, "204": { "description": "The streaming job does not exist." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -237,8 +271,12 @@ "operationId": "StreamingJobs_Get", "description": "Gets details about the specified streaming job.", "x-ms-examples": { - "Get a streaming job and do not use the $expand OData query parameter": { "$ref": "../examples/StreamingJob_Get_NoExpand.json" }, - "Get a streaming job and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { "$ref": "../examples/StreamingJob_Get_Expand.json" } + "Get a streaming job and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_Get_NoExpand.json" + }, + "Get a streaming job and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_Get_Expand.json" + } }, "parameters": [ { @@ -249,16 +287,16 @@ "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -273,6 +311,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -285,8 +329,12 @@ "operationId": "StreamingJobs_ListByResourceGroup", "description": "Lists all of the streaming jobs in the specified resource group.", "x-ms-examples": { - "List all streaming jobs in a resource group and do not use the $expand OData query parameter": { "$ref": "../examples/StreamingJob_List_ByResourceGroup_NoExpand.json" }, - "List all streaming jobs in a resource group and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { "$ref": "../examples/StreamingJob_List_ByResourceGroup_Expand.json" } + "List all streaming jobs in a resource group and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_List_ByResourceGroup_NoExpand.json" + }, + "List all streaming jobs in a resource group and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_List_ByResourceGroup_Expand.json" + } }, "parameters": [ { @@ -297,13 +345,13 @@ "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -312,6 +360,12 @@ "schema": { "$ref": "#/definitions/StreamingJobListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -327,8 +381,12 @@ "operationId": "StreamingJobs_List", "description": "Lists all of the streaming jobs in the given subscription.", "x-ms-examples": { - "List all streaming jobs in a subscription and do not use the $expand OData query parameter": { "$ref": "../examples/StreamingJob_List_BySubscription_NoExpand.json" }, - "List all streaming jobs in a subscription and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { "$ref": "../examples/StreamingJob_List_BySubscription_Expand.json" } + "List all streaming jobs in a subscription and do not use the $expand OData query parameter": { + "$ref": "./examples/StreamingJob_List_BySubscription_NoExpand.json" + }, + "List all streaming jobs in a subscription and use the $expand OData query parameter to expand inputs, outputs, transformation, and functions": { + "$ref": "./examples/StreamingJob_List_BySubscription_Expand.json" + } }, "parameters": [ { @@ -339,10 +397,10 @@ "description": "The $expand OData query parameter. This is a comma-separated list of additional streaming job properties to include in the response, beyond the default set returned when this parameter is absent. The default set is all streaming job properties other than 'inputs', 'transformation', 'outputs', and 'functions'." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -351,6 +409,12 @@ "schema": { "$ref": "#/definitions/StreamingJobListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-pageable": { @@ -366,9 +430,15 @@ "operationId": "StreamingJobs_Start", "description": "Starts a streaming job. Once a job is started it will start processing input events and produce output.", "x-ms-examples": { - "Start a streaming job with CustomTime output start mode": { "$ref": "../examples/StreamingJob_Start_CustomTime.json" }, - "Start a streaming job with JobStartTime output start mode": { "$ref": "../examples/StreamingJob_Start_JobStartTime.json" }, - "Start a streaming job with LastOutputEventTime output start mode": { "$ref": "../examples/StreamingJob_Start_LastOutputEventTime.json" } + "Start a streaming job with CustomTime output start mode": { + "$ref": "./examples/StreamingJob_Start_CustomTime.json" + }, + "Start a streaming job with JobStartTime output start mode": { + "$ref": "./examples/StreamingJob_Start_JobStartTime.json" + }, + "Start a streaming job with LastOutputEventTime output start mode": { + "$ref": "./examples/StreamingJob_Start_LastOutputEventTime.json" + } }, "parameters": [ { @@ -381,16 +451,16 @@ "description": "Parameters applicable to a start streaming job operation." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -399,6 +469,12 @@ }, "202": { "description": "The start streaming job request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -412,20 +488,22 @@ "operationId": "StreamingJobs_Stop", "description": "Stops a running streaming job. This will cause a running streaming job to stop processing input events and producing output.", "x-ms-examples": { - "Stop a streaming job": { "$ref": "../examples/StreamingJob_Stop.json" } + "Stop a streaming job": { + "$ref": "./examples/StreamingJob_Stop.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" } ], "responses": { @@ -434,6 +512,61 @@ }, "202": { "description": "The stop streaming job request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.StreamAnalytics/streamingjobs/{jobName}/scale": { + "post": { + "tags": [ + "StreamingJobs" + ], + "operationId": "StreamingJobs_Scale", + "description": "Scales a streaming job when the job is running.", + "x-ms-examples": { + "Scale a streaming job": { + "$ref": "./examples/StreamingJob_Scale.json" + } + }, + "parameters": [ + { + "name": "scaleJobParameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScaleStreamingJobParameters" + }, + "description": "Parameters applicable to a scale streaming job operation." + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" + } + ], + "responses": { + "202": { + "description": "The scale streaming job request was successfully initiated." + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } }, "x-ms-long-running-operation": true @@ -442,6 +575,7 @@ }, "definitions": { "OperationListResult": { + "type": "object", "description": "Result of the request to list Stream Analytics operations. It contains a list of operations and a URL link to get the next set of results.", "properties": { "value": { @@ -468,7 +602,12 @@ "type": "string", "readOnly": true }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, "display": { + "type": "object", "description": "Contains the localized display information for this particular operation / action.", "readOnly": true, "properties": { @@ -497,10 +636,11 @@ } }, "StreamingJob": { - "description": "A streamng job object, containing all information associated with the named streaming job.", + "type": "object", + "description": "A streaming job object, containing all information associated with the named streaming job.", "allOf": [ { - "$ref": "#/definitions/Resource" + "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource" } ], "properties": { @@ -508,10 +648,15 @@ "$ref": "#/definitions/StreamingJobProperties", "description": "The properties that are associated with a streaming job. Required on PUT (CreateOrReplace) requests.", "x-ms-client-flatten": true + }, + "identity": { + "$ref": "#/definitions/Identity", + "description": "Describes the system-assigned managed identity assigned to this job that can be used to authenticate with inputs and outputs." } } }, "StreamingJobProperties": { + "type": "object", "description": "The properties that are associated with a streaming job.", "properties": { "sku": { @@ -533,6 +678,18 @@ "type": "string", "description": "Describes the state of the streaming job." }, + "jobType": { + "type": "string", + "description": "Describes the type of the job. Valid modes are `Cloud` and 'Edge'.", + "enum": [ + "Cloud", + "Edge" + ], + "x-ms-enum": { + "name": "JobType", + "modelAsString": true + } + }, "outputStartMode": { "$ref": "#/definitions/OutputStartMode", "description": "This property should only be utilized when it is desired that the job be started immediately upon creation. Value may be JobStartTime, CustomTime, or LastOutputEventTime to indicate whether the starting point of the output event stream should start whenever the job is started, start at a custom user time stamp specified via the outputStartTime property, or start from the last event output time." @@ -589,7 +746,7 @@ }, "transformation": { "$ref": "./transformations.json#/definitions/Transformation", - "description": "Indicates the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual tranformation." + "description": "Indicates the query and the number of streaming units to use for the streaming job. The name property of the transformation is required when specifying this property in a PUT request. This property cannot be modify via a PATCH operation. You must use the PATCH API available for the individual transformation." }, "outputs": { "type": "array", @@ -609,15 +766,47 @@ "readOnly": true, "type": "string", "description": "The current entity tag for the streaming job. This is an opaque string. You can use it to detect whether the resource has changed between requests. You can also use it in the If-Match or If-None-Match headers for write operations for optimistic concurrency." + }, + "jobStorageAccount": { + "description": "The properties that are associated with an Azure Storage account with MSI", + "$ref": "#/definitions/JobStorageAccount" + }, + "contentStoragePolicy": { + "readOnly": false, + "type": "string", + "description": "Valid values are JobStorageAccount and SystemAccount. If set to JobStorageAccount, this requires the user to also specify jobStorageAccount property. .", + "enum": [ + "SystemAccount", + "JobStorageAccount" + ], + "x-ms-enum": { + "name": "ContentStoragePolicy", + "modelAsString": true + } + }, + "cluster": { + "$ref": "#/definitions/ClusterInfo", + "description": "The cluster which streaming jobs will run on." + } + } + }, + "ClusterInfo": { + "type": "object", + "description": "The properties associated with a Stream Analytics cluster.", + "properties": { + "id": { + "description": "The resource id of cluster.", + "type": "string" } } }, "Sku": { + "type": "object", "description": "The properties that are associated with a SKU.", "properties": { "name": { "type": "string", - "description": "The name of the SKU. Required on PUT (CreateOrReplace) requests.", + "description": "The name of the SKU. Required on PUT (CreateOrReplace) requests.", "enum": [ "Standard" ], @@ -629,6 +818,7 @@ } }, "StreamingJobListResult": { + "type": "object", "properties": { "value": { "type": "array", @@ -647,6 +837,7 @@ "description": "Object containing a list of streaming jobs." }, "StartStreamingJobParameters": { + "type": "object", "description": "Parameters supplied to the Start Streaming Job operation.", "properties": { "outputStartMode": { @@ -673,6 +864,17 @@ "modelAsString": true } }, + "ScaleStreamingJobParameters": { + "type": "object", + "description": "Parameters supplied to the Scale Streaming Job operation.", + "properties": { + "streamingUnits": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of streaming units that the streaming job will scale to." + } + } + }, "EventsOutOfOrderPolicy": { "type": "string", "description": "Indicates the policy to apply to events that arrive out of order in the input event stream.", @@ -701,76 +903,46 @@ "type": "string", "description": "Controls certain runtime behaviors of the streaming job.", "enum": [ - "1.0" + "1.0", + "1.2" ], "x-ms-enum": { "name": "CompatibilityLevel", "modelAsString": true } }, - "Resource": { - "description": "The base resource model definition.", + "JobStorageAccount": { + "type": "object", + "description": "The properties that are associated with an Azure Storage account with MSI", + "allOf": [ + { + "$ref": "./inputs.json#/definitions/StorageAccount" + } + ], + "properties": { + "authenticationMode": { + "$ref": "../../common/v1/definitions.json#/definitions/AuthenticationMode", + "description": "Authentication Mode." + } + } + }, + "Identity": { + "type": "object", + "description": "Describes how identity is verified", "properties": { - "id": { - "readOnly": true, + "tenantId": { "type": "string", - "description": "Resource Id" + "description": "The identity tenantId" }, - "name": { - "readOnly": true, + "principalId": { "type": "string", - "description": "Resource name" + "description": "The identity principal ID" }, "type": { - "readOnly": true, "type": "string", - "description": "Resource type" - }, - "location": { - "type": "string", - "description": "Resource location. Required on PUT (CreateOrReplace) requests." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Resource tags" + "description": "The identity type" } - }, - "x-ms-azure-resource": true - } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" - }, - "StreamingJobNameParameter": { - "name": "jobName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the streaming job.", - "x-ms-parameter-location": "method" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." + } } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/subscriptions.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/subscriptions.json index ac1f6692..8a6e1865 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/subscriptions.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/subscriptions.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -33,7 +33,7 @@ } }, "paths": { - "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas": { + "/subscriptions/{subscriptionId}/providers/Microsoft.StreamAnalytics/locations/{location}/quotas": { "get": { "tags": [ "Subscriptions" @@ -41,7 +41,9 @@ "operationId": "Subscriptions_ListQuotas", "description": "Retrieves the subscription's current quota information in a particular region.", "x-ms-examples": { - "List subscription quota information in West US": { "$ref": "../examples/Subscription_ListQuotas.json" } + "List subscription quota information in West US": { + "$ref": "./examples/Subscription_ListQuotas.json" + } }, "parameters": [ { @@ -52,10 +54,10 @@ "description": "The region in which to retrieve the subscription's quota information. You can find out which regions Azure Stream Analytics is supported in here: https://azure.microsoft.com/en-us/regions/" }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -64,6 +66,12 @@ "schema": { "$ref": "#/definitions/SubscriptionQuotasListResult" } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -71,6 +79,7 @@ }, "definitions": { "SubscriptionQuotasListResult": { + "type": "object", "description": "Result of the GetQuotas operation. It contains a list of quotas for the subscription in a particular region.", "properties": { "value": { @@ -114,6 +123,7 @@ } }, "SubResource": { + "type": "object", "description": "The base sub-resource model definition.", "properties": { "id": { @@ -133,21 +143,5 @@ }, "x-ms-azure-resource": true } - }, - "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." - } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/transformations.json b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/transformations.json index 3aff35f3..c62eea89 100644 --- a/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/transformations.json +++ b/App_Data/SwaggerSpecs/Microsoft.StreamAnalytics/transformations.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "title": "StreamAnalyticsManagementClient", - "version": "2016-03-01" + "version": "2020-03-01" }, "host": "management.azure.com", "schemes": [ @@ -41,7 +41,9 @@ "operationId": "Transformations_CreateOrReplace", "description": "Creates a transformation or replaces an already existing transformation under an existing streaming job.", "x-ms-examples": { - "Create a transformation": { "$ref": "../examples/Transformation_Create.json" } + "Create a transformation": { + "$ref": "./examples/Transformation_Create.json" + } }, "parameters": [ { @@ -59,7 +61,7 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { "name": "If-None-Match", @@ -70,16 +72,16 @@ "description": "Set to '*' to allow a new transformation to be created, but to prevent updating an existing transformation. Other values will result in a 412 Pre-condition Failed response." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/TransformationNameParameter" @@ -109,6 +111,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -119,7 +127,9 @@ "operationId": "Transformations_Update", "description": "Updates an existing transformation under an existing streaming job. This can be used to partially update (ie. update one or two properties) a transformation without affecting the rest the job or transformation definition.", "x-ms-examples": { - "Update a transformation": { "$ref": "../examples/Transformation_Update.json" } + "Update a transformation": { + "$ref": "./examples/Transformation_Update.json" + } }, "parameters": [ { @@ -137,19 +147,19 @@ "required": false, "type": "string", "x-ms-client-name": "IfMatch", - "description": "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes." + "description": "The ETag of the transformation. Omit this value to always overwrite the current transformation. Specify the last-seen ETag value to prevent accidentally overwriting concurrent changes." }, { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/TransformationNameParameter" @@ -167,6 +177,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } }, @@ -177,20 +193,22 @@ "operationId": "Transformations_Get", "description": "Gets details about the specified transformation.", "x-ms-examples": { - "Get a transformation": { "$ref": "../examples/Transformation_Get.json" } + "Get a transformation": { + "$ref": "./examples/Transformation_Get.json" + } }, "parameters": [ { - "$ref": "#/parameters/ApiVersionParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter" }, { - "$ref": "#/parameters/SubscriptionIdParameter" + "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "#/parameters/ResourceGroupNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter" }, { - "$ref": "#/parameters/StreamingJobNameParameter" + "$ref": "../../common/v1/definitions.json#/parameters/StreamingJobNameParameter" }, { "$ref": "#/parameters/TransformationNameParameter" @@ -208,6 +226,12 @@ "type": "string" } } + }, + "default": { + "description": "Error.", + "schema": { + "$ref": "../../common/v1/definitions.json#/definitions/Error" + } } } } @@ -215,6 +239,7 @@ }, "definitions": { "Transformation": { + "type": "object", "description": "A transformation object, containing all information associated with the named transformation. All transformations are contained under a streaming job.", "allOf": [ { @@ -230,6 +255,7 @@ } }, "TransformationProperties": { + "type": "object", "description": "The properties that are associated with a transformation.", "properties": { "streamingUnits": { @@ -237,6 +263,15 @@ "format": "int32", "description": "Specifies the number of streaming units that the streaming job uses." }, + "validStreamingUnits": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "description": "Specifies the number of streaming units that the streaming job can use." + }, + "description": "Specifies the valid streaming units a streaming job can scale to." + }, "query": { "type": "string", "description": "Specifies the query that will be run in the streaming job. You can learn more about the Stream Analytics Query Language (SAQL) here: https://msdn.microsoft.com/library/azure/dn834998 . Required on PUT (CreateOrReplace) requests." @@ -249,6 +284,7 @@ } }, "SubResource": { + "type": "object", "description": "The base sub-resource model definition.", "properties": { "id": { @@ -270,29 +306,6 @@ } }, "parameters": { - "SubscriptionIdParameter": { - "name": "subscriptionId", - "in": "path", - "required": true, - "type": "string", - "description": "GUID which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." - }, - "ResourceGroupNameParameter": { - "name": "resourceGroupName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.", - "x-ms-parameter-location": "method" - }, - "StreamingJobNameParameter": { - "name": "jobName", - "in": "path", - "required": true, - "type": "string", - "description": "The name of the streaming job.", - "x-ms-parameter-location": "method" - }, "TransformationNameParameter": { "name": "transformationName", "in": "path", @@ -300,13 +313,6 @@ "type": "string", "description": "The name of the transformation.", "x-ms-parameter-location": "method" - }, - "ApiVersionParameter": { - "name": "api-version", - "in": "query", - "required": true, - "type": "string", - "description": "Client Api Version." } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.TimeSeriesInsights/timeseriesinsights.json b/App_Data/SwaggerSpecs/Microsoft.TimeSeriesInsights/timeseriesinsights.json index 739b8476..70a83a72 100644 --- a/App_Data/SwaggerSpecs/Microsoft.TimeSeriesInsights/timeseriesinsights.json +++ b/App_Data/SwaggerSpecs/Microsoft.TimeSeriesInsights/timeseriesinsights.json @@ -3,7 +3,7 @@ "info": { "title": "TimeSeriesInsightsClient", "description": "Time Series Insights client", - "version": "2017-02-28-preview" + "version": "2020-05-15" }, "host": "management.azure.com", "schemes": [ @@ -34,6 +34,42 @@ } }, "paths": { + "/providers/Microsoft.TimeSeriesInsights/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "Lists all of the available Time Series Insights related operations.", + "x-ms-examples": { + "List available operations for the Time Series Insights resource provider": { + "$ref": "./examples/Operation_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully listed the available operations.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "HTTP 404 (Not Found): The list of operations could not be found.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.TimeSeriesInsights/environments/{environmentName}": { "put": { "tags": [ @@ -41,7 +77,9 @@ ], "operationId": "Environments_CreateOrUpdate", "x-ms-examples": { - "EnvironmentsCreate": { "$ref": "../examples/EnvironmentsCreate.json" } + "EnvironmentsCreate": { + "$ref": "./examples/EnvironmentsCreate.json" + } }, "x-ms-long-running-operation": true, "description": "Create or update an environment in the specified subscription and resource group.", @@ -83,7 +121,7 @@ } }, "201": { - "description": "The environment create request was accepted. Environment provisioning is an asynchroneous operation. You can periodically get your environment definition and monitor progress via the provisioningState property.", + "description": "The environment create request was accepted. Environment provisioning is an asynchronous operation. You can periodically get your environment definition and monitor progress via the provisioningState property.", "schema": { "$ref": "#/definitions/EnvironmentResource" } @@ -105,7 +143,9 @@ ], "operationId": "Environments_Get", "x-ms-examples": { - "EnvironmentsGet": { "$ref": "../examples/EnvironmentsGet.json" } + "EnvironmentsGet": { + "$ref": "./examples/EnvironmentsGet.json" + } }, "description": "Gets the environment with the specified name in the specified subscription and resource group.", "parameters": [ @@ -118,6 +158,9 @@ { "$ref": "#/parameters/EnvironmentNameParameter" }, + { + "$ref": "#/parameters/ExpandParameter" + }, { "$ref": "#/parameters/ApiVersionParameter" } @@ -143,7 +186,9 @@ ], "operationId": "Environments_Update", "x-ms-examples": { - "EnvironmentsUpdate": { "$ref": "../examples/EnvironmentsPatchSkuCapacity.json" } + "EnvironmentsUpdate": { + "$ref": "./examples/EnvironmentsPatchTags.json" + } }, "x-ms-long-running-operation": true, "description": "Updates the environment with the specified name in the specified subscription and resource group.", @@ -172,7 +217,7 @@ ], "responses": { "200": { - "description": "The environment definition was successfully updated and is in the response. If the environment was updated synchroneously, the response will include a provisioningState value of \"Succeeded\". If the environment was updated asynchroneously, the response will include a provisioningState value of \"Updating\". You can periodically get your environment definition and monitor progress of the update via the provisioningState property.", + "description": "The environment definition was successfully updated and is in the response. If the environment was updated synchronously, the response will include a provisioningState value of \"Succeeded\". If the environment was updated asynchronously, the response will include a provisioningState value of \"Updating\". You can periodically get your environment definition and monitor progress of the update via the provisioningState property.", "schema": { "$ref": "#/definitions/EnvironmentResource" } @@ -191,7 +236,9 @@ ], "operationId": "Environments_Delete", "x-ms-examples": { - "EnvironmentsDelete": { "$ref": "../examples/EnvironmentsDelete.json" } + "EnvironmentsDelete": { + "$ref": "./examples/EnvironmentsDelete.json" + } }, "description": "Deletes the environment with the specified name in the specified subscription and resource group.", "parameters": [ @@ -231,7 +278,9 @@ ], "operationId": "Environments_ListByResourceGroup", "x-ms-examples": { - "EnvironmentsByResourceGroup": { "$ref": "../examples/EnvironmentsListByResourceGroup.json" } + "EnvironmentsByResourceGroup": { + "$ref": "./examples/EnvironmentsListByResourceGroup.json" + } }, "description": "Lists all the available environments associated with the subscription and within the specified resource group.", "parameters": [ @@ -268,7 +317,9 @@ ], "operationId": "Environments_ListBySubscription", "x-ms-examples": { - "EnvironmentsBySubscription": { "$ref": "../examples/EnvironmentsListBySubscription.json" } + "EnvironmentsBySubscription": { + "$ref": "./examples/EnvironmentsListBySubscription.json" + } }, "description": "Lists all the available environments within a subscription, irrespective of the resource groups.", "parameters": [ @@ -301,6 +352,14 @@ "EventSources" ], "operationId": "EventSources_CreateOrUpdate", + "x-ms-examples": { + "CreateEventHubEventSource": { + "$ref": "./examples/EventSourcesCreateEventHub.json" + }, + "EventSourcesCreateEventHubWithCustomEnquedTime": { + "$ref": "./examples/EventSourcesCreateEventHubWithCustomEnquedTime.json" + } + }, "description": "Create or update an event source under the specified environment.", "parameters": [ { @@ -361,6 +420,11 @@ "EventSources" ], "operationId": "EventSources_Get", + "x-ms-examples": { + "GetEventHubEventSource": { + "$ref": "./examples/EventSourcesGetEventHub.json" + } + }, "description": "Gets the event source with the specified name in the specified environment.", "parameters": [ { @@ -399,6 +463,11 @@ "EventSources" ], "operationId": "EventSources_Update", + "x-ms-examples": { + "UpdateEventSource": { + "$ref": "./examples/EventSourcesPatchTags.json" + } + }, "description": "Updates the event source with the specified name in the specified subscription, resource group, and environment.", "parameters": [ { @@ -446,6 +515,11 @@ "EventSources" ], "operationId": "EventSources_Delete", + "x-ms-examples": { + "DeleteEventSource": { + "$ref": "./examples/EventSourcesDelete.json" + } + }, "description": "Deletes the event source with the specified name in the specified subscription, resource group, and environment", "parameters": [ { @@ -486,6 +560,11 @@ "EventSources" ], "operationId": "EventSources_ListByEnvironment", + "x-ms-examples": { + "ListEventSourcesByEnvironment": { + "$ref": "./examples/EventSourcesListByEnvironment.json" + } + }, "description": "Lists all the available event sources associated with the subscription and within the specified resource group and environment.", "parameters": [ { @@ -524,7 +603,9 @@ ], "operationId": "ReferenceDataSets_CreateOrUpdate", "x-ms-examples": { - "ReferenceDataSetsCreate": { "$ref": "../examples/ReferenceDataSetsCreate.json" } + "ReferenceDataSetsCreate": { + "$ref": "./examples/ReferenceDataSetsCreate.json" + } }, "description": "Create or update a reference data set in the specified environment.", "parameters": [ @@ -587,7 +668,9 @@ ], "operationId": "ReferenceDataSets_Get", "x-ms-examples": { - "ReferenceDataSetsGet": { "$ref": "../examples/ReferenceDataSetsGet.json" } + "ReferenceDataSetsGet": { + "$ref": "./examples/ReferenceDataSetsGet.json" + } }, "description": "Gets the reference data set with the specified name in the specified environment.", "parameters": [ @@ -628,7 +711,9 @@ ], "operationId": "ReferenceDataSets_Update", "x-ms-examples": { - "ReferenceDataSetsUpdate": { "$ref": "../examples/ReferenceDataSetsPatchTags.json" } + "ReferenceDataSetsUpdate": { + "$ref": "./examples/ReferenceDataSetsPatchTags.json" + } }, "description": "Updates the reference data set with the specified name in the specified subscription, resource group, and environment.", "parameters": [ @@ -678,7 +763,9 @@ ], "operationId": "ReferenceDataSets_Delete", "x-ms-examples": { - "ReferenceDataSetsDelete": { "$ref": "../examples/ReferenceDataSetsDelete.json" } + "ReferenceDataSetsDelete": { + "$ref": "./examples/ReferenceDataSetsDelete.json" + } }, "description": "Deletes the reference data set with the specified name in the specified subscription, resource group, and environment", "parameters": [ @@ -721,7 +808,9 @@ ], "operationId": "ReferenceDataSets_ListByEnvironment", "x-ms-examples": { - "ReferenceDataSetsListByEnvironment": { "$ref": "../examples/ReferenceDataSetsListByEnvironment.json" } + "ReferenceDataSetsListByEnvironment": { + "$ref": "./examples/ReferenceDataSetsListByEnvironment.json" + } }, "description": "Lists all the available reference data sets associated with the subscription and within the specified resource group and environment.", "parameters": [ @@ -761,7 +850,9 @@ ], "operationId": "AccessPolicies_CreateOrUpdate", "x-ms-examples": { - "AccessPoliciesCreate": { "$ref": "../examples/AccessPoliciesCreate.json" } + "AccessPoliciesCreate": { + "$ref": "./examples/AccessPoliciesCreate.json" + } }, "description": "Create or update an access policy in the specified environment.", "parameters": [ @@ -824,7 +915,9 @@ ], "operationId": "AccessPolicies_Get", "x-ms-examples": { - "AccessPoliciesGet": { "$ref": "../examples/AccessPoliciesGet.json" } + "AccessPoliciesGet": { + "$ref": "./examples/AccessPoliciesGet.json" + } }, "description": "Gets the access policy with the specified name in the specified environment.", "parameters": [ @@ -865,7 +958,9 @@ ], "operationId": "AccessPolicies_Update", "x-ms-examples": { - "AccessPoliciesUpdate": { "$ref": "../examples/AccessPoliciesPatchRoles.json" } + "AccessPoliciesUpdate": { + "$ref": "./examples/AccessPoliciesPatchRoles.json" + } }, "description": "Updates the access policy with the specified name in the specified subscription, resource group, and environment.", "parameters": [ @@ -915,7 +1010,9 @@ ], "operationId": "AccessPolicies_Delete", "x-ms-examples": { - "AccessPoliciesDelete": { "$ref": "../examples/AccessPoliciesDelete.json" } + "AccessPoliciesDelete": { + "$ref": "./examples/AccessPoliciesDelete.json" + } }, "description": "Deletes the access policy with the specified name in the specified subscription, resource group, and environment", "parameters": [ @@ -958,7 +1055,9 @@ ], "operationId": "AccessPolicies_ListByEnvironment", "x-ms-examples": { - "AccessPoliciesByEnvironment": { "$ref": "../examples/AccessPoliciesListByEnvironment.json" } + "AccessPoliciesByEnvironment": { + "$ref": "./examples/AccessPoliciesListByEnvironment.json" + } }, "description": "Lists all the available access policies associated with the environment.", "parameters": [ @@ -993,6 +1092,190 @@ } }, "definitions": { + "OperationListResult": { + "description": "Result of the request to list Time Series Insights operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "description": "List of Time Series Insights operations supported by the Microsoft.TimeSeriesInsights resource provider.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Operation" + } + }, + "nextLink": { + "description": "URL to get the next set of operation list results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "A Time Series Insights REST API operation", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation being performed on this particular object.", + "type": "string", + "readOnly": true + }, + "display": { + "description": "Contains the localized display information for this particular operation / action.", + "readOnly": true, + "properties": { + "provider": { + "description": "The localized friendly form of the resource provider name.", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly form of the resource type related to this action/operation.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The localized friendly name for the operation.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The localized friendly description for the operation.", + "type": "string", + "readOnly": true + } + } + }, + "origin": { + "title": "The intended executor of the operation.", + "type": "string" + }, + "properties": { + "title": "Properties of the operation, including metric specifications.", + "type": "object", + "x-ms-client-flatten": true, + "x-ms-client-name": "OperationProperties", + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include metric specifications.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + } + }, + "logSpecifications": { + "description": "A list of Azure Monitoring log definitions.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of metric specification." + }, + "displayName": { + "type": "string", + "description": "Display name of metric specification." + }, + "displayDescription": { + "type": "string", + "description": "Display description of metric specification." + }, + "unit": { + "type": "string", + "description": "Unit could be Bytes or Count." + }, + "dimensions": { + "description": "Dimensions of blobs, including blob type and access tier.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + } + }, + "aggregationType": { + "type": "string", + "description": "Aggregation type could be Average." + }, + "availabilities": { + "description": "Retention policies of a resource metric.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + } + }, + "category": { + "type": "string", + "description": "The category this metric specification belong to, could be Capacity." + }, + "resourceIdDimensionNameOverride": { + "type": "string", + "description": "Account Resource Id." + } + } + }, + "LogSpecification": { + "description": "The specification of an Azure Monitoring log.", + "type": "object", + "properties": { + "name": { + "description": "Log name.", + "type": "string" + }, + "displayName": { + "description": "Log display name.", + "type": "string" + } + } + }, + "Dimension": { + "description": "Dimension of blobs, possibly be blob type or access tier.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Display name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + } + } + }, + "MetricAvailability": { + "description": "Retention policy of a resource metric.", + "type": "object", + "properties": { + "timeGrain": { + "type": "string" + }, + "blobDuration": { + "type": "string" + } + } + }, "Resource": { "properties": { "id": { @@ -1018,7 +1301,11 @@ "properties": { "location": { "type": "string", - "description": "Resource location" + "description": "Resource location", + "x-ms-mutability": [ + "read", + "create" + ] }, "tags": { "type": "object", @@ -1041,21 +1328,8 @@ "ResourceProperties": { "properties": { "provisioningState": { - "readOnly": true, - "type": "string", - "description": "Provisioning state of the resource.", - "enum": [ - "Accepted", - "Creating", - "Updating", - "Succeeded", - "Failed", - "Deleting" - ], - "x-ms-enum": { - "name": "ProvisioningState", - "modelAsString": false - } + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning state of the resource." }, "creationTime": { "readOnly": true, @@ -1066,6 +1340,23 @@ }, "description": "Properties that are common to all tracked resources." }, + "ProvisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the resource.", + "enum": [ + "Accepted", + "Creating", + "Updating", + "Succeeded", + "Failed", + "Deleting" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, "Sku": { "type": "object", "properties": { @@ -1074,17 +1365,19 @@ "description": "The name of this SKU.", "enum": [ "S1", - "S2" + "S2", + "P1", + "L1" ], "x-ms-enum": { "name": "SkuName", - "modelAsString": false + "modelAsString": true } }, "capacity": { "format": "int32", "type": "integer", - "description": "The capacity of the sku. This value can be changed to support scale out of environments after they have been created.", + "description": "The capacity of the sku. For Gen1 environments, this value can be changed to support scale out of environments after they have been created.", "minimum": 1, "maximum": 10 } @@ -1093,13 +1386,75 @@ "name", "capacity" ], - "description": "The sku determines the capacity of the environment, the SLA (in queries-per-minute and total capacity), and the billing rate." + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." + }, + "WarmStoreConfigurationProperties": { + "type": "object", + "properties": { + "dataRetention": { + "type": "string", + "format": "duration", + "description": "ISO8601 timespan specifying the number of days the environment's events will be available for query from the warm store." + } + }, + "required": [ + "dataRetention" + ], + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + }, + "Gen2StorageConfigurationInput": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the storage account that will hold the environment's Gen2 data." + }, + "managementKey": { + "type": "string", + "description": "The value of the management key that grants the Time Series Insights service write access to the storage account. This property is not shown in environment responses." + } + }, + "required": [ + "accountName", + "managementKey" + ], + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "Gen2StorageConfigurationOutput": { + "type": "object", + "properties": { + "accountName": { + "type": "string", + "description": "The name of the storage account that will hold the environment's Gen2 data." + } + }, + "required": [ + "accountName" + ], + "description": "The storage configuration provides the non-secret connection details about the customer storage account that is used to store the environment's data." + }, + "Gen2StorageConfigurationMutableProperties": { + "type": "object", + "properties": { + "managementKey": { + "type": "string", + "description": "The value of the management key that grants the Time Series Insights service write access to the storage account. This property is not shown in environment responses." + } + }, + "required": [ + "managementKey" + ], + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." }, "CreateOrUpdateTrackedResourceProperties": { "properties": { "location": { "type": "string", - "description": "The location of the resource." + "description": "The location of the resource.", + "x-ms-mutability": [ + "read", + "create" + ] }, "tags": { "type": "object", @@ -1115,18 +1470,32 @@ "description": "Properties required to create any resource tracked by Azure Resource Manager." }, "EnvironmentCreateOrUpdateParameters": { + "discriminator": "kind", "properties": { - "sku": { - "$ref": "#/definitions/Sku" + "kind": { + "type": "string", + "description": "The kind of the environment.", + "enum": [ + "Gen1", + "Gen2" + ], + "x-ms-enum": { + "name": "EnvironmentKind", + "modelAsString": true + }, + "x-ms-mutability": [ + "create", + "read" + ] }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/EnvironmentCreationProperties" + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." } }, "required": [ - "sku", - "properties" + "kind", + "sku" ], "allOf": [ { @@ -1135,69 +1504,241 @@ ], "description": "Parameters supplied to the CreateOrUpdate Environment operation." }, - "EnvironmentUpdateParameters": { - "type": "object", + "Gen1EnvironmentCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Gen1", "properties": { - "sku": { - "$ref": "#/definitions/Sku", - "description": "The sku of the environment." - }, - "tags": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Key-value pairs of additional properties for the environment." - }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/EnvironmentMutableProperties", - "description": "Properties of the environment." + "$ref": "#/definitions/Gen1EnvironmentCreationProperties" } }, - "description": "Parameters supplied to the Update Environment operation." - }, - "EnvironmentListResponse": { - "properties": { - "value": { - "type": "array", - "items": { - "$ref": "#/definitions/EnvironmentResource" - }, - "description": "Result of the List Environments operation." + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentCreateOrUpdateParameters" } - }, - "description": "The response of the List Environments operation." + ], + "description": "Parameters supplied to the Create or Update Environment operation for a Gen1 environment." }, - "EnvironmentResource": { + "Gen2EnvironmentCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Gen2", "properties": { - "sku": { - "$ref": "#/definitions/Sku" - }, "properties": { "x-ms-client-flatten": true, - "$ref": "#/definitions/EnvironmentResourceProperties" + "$ref": "#/definitions/Gen2EnvironmentCreationProperties" } }, + "required": [ + "properties" + ], "allOf": [ { - "$ref": "#/definitions/TrackedResource" + "$ref": "#/definitions/EnvironmentCreateOrUpdateParameters" } ], - "description": "An environment is a set of time-series data avaliable for query, and is the top level Azure Time Series Insights resource." + "description": "Parameters supplied to the Create or Update Environment operation for a Gen2 environment." }, - "EnvironmentCreationProperties": { + "EnvironmentUpdateParameters": { + "type": "object", + "discriminator": "kind", + "properties": { + "kind": { + "type": "string", + "description": "The kind of the environment.", + "enum": [ + "Gen1", + "Gen2" + ], + "x-ms-enum": { + "name": "EnvironmentKind", + "modelAsString": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Key-value pairs of additional properties for the environment." + } + }, + "required": [ + "kind" + ], + "description": "Parameters supplied to the Update Environment operation." + }, + "Gen1EnvironmentUpdateParameters": { + "type": "object", + "x-ms-discriminator-value": "Gen1", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku of the environment." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen1EnvironmentMutableProperties", + "description": "Properties of the Gen1 environment." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EnvironmentUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Environment operation to update a Gen1 environment." + }, + "Gen2EnvironmentUpdateParameters": { + "type": "object", + "x-ms-discriminator-value": "Gen2", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen2EnvironmentMutableProperties", + "description": "Properties of the Gen2 environment." + } + }, + "allOf": [ + { + "$ref": "#/definitions/EnvironmentUpdateParameters" + } + ], + "description": "Parameters supplied to the Update Environment operation to update a Gen2 environment." + }, + "EnvironmentListResponse": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentResource" + }, + "description": "Result of the List Environments operation." + } + }, + "description": "The response of the List Environments operation." + }, + "EnvironmentResource": { + "type": "object", + "discriminator": "kind", + "properties": { + "sku": { + "$ref": "#/definitions/Sku", + "description": "The sku determines the type of environment, either Gen1 (S1 or S2) or Gen2 (L1). For Gen1 environments the sku determines the capacity of the environment, the ingress rate, and the billing rate." + }, + "kind": { + "type": "string", + "description": "The kind of the environment.", + "enum": [ + "Gen1", + "Gen2" + ] + } + }, + "required": [ + "kind", + "sku" + ], + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource." + }, + "Gen1EnvironmentResource": { + "x-ms-discriminator-value": "Gen1", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen1EnvironmentResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource. Gen1 environments have data retention limits." + }, + "Gen2EnvironmentResource": { + "x-ms-discriminator-value": "Gen2", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/Gen2EnvironmentResourceProperties" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResource" + } + ], + "description": "An environment is a set of time-series data available for query, and is the top level Azure Time Series Insights resource. Gen2 environments do not have set data retention limits." + }, + "Gen1EnvironmentCreationProperties": { "properties": { "dataRetentionTime": { "type": "string", "format": "duration", "description": "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query." + }, + "storageLimitExceededBehavior": { + "type": "string", + "description": "The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If \"PauseIngress\" is specified, new events will not be read from the event source. If \"PurgeOldData\" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.", + "enum": [ + "PurgeOldData", + "PauseIngress" + ], + "x-ms-enum": { + "name": "StorageLimitExceededBehavior", + "modelAsString": true + } + }, + "partitionKeyProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to partition data in the environment. Currently, only a single partition key property is supported." } }, "required": [ "dataRetentionTime" ], - "description": "Properties used to create an environment." + "description": "Properties used to create a Gen1 environment." + }, + "Gen2EnvironmentCreationProperties": { + "properties": { + "timeSeriesIdProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to define the environment's time series id." + }, + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationInput", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + }, + "required": [ + "timeSeriesIdProperties", + "storageConfiguration" + ], + "description": "Properties used to create a Gen2 environment." }, "EnvironmentResourceProperties": { "properties": { @@ -1211,33 +1752,260 @@ "readOnly": true, "type": "string", "description": "The fully qualified domain name used to access the environment data, e.g. to query the environment's events or upload reference data for the environment." + }, + "status": { + "$ref": "#/definitions/EnvironmentStatus", + "description": "An object that represents the status of the environment, and its internal state in the Time Series Insights service." } }, "allOf": [ { - "$ref": "#/definitions/EnvironmentCreationProperties" + "$ref": "#/definitions/ResourceProperties" + } + ], + "description": "Properties of the environment." + }, + "Gen1EnvironmentResourceProperties": { + "allOf": [ + { + "$ref": "#/definitions/Gen1EnvironmentCreationProperties" }, { - "$ref": "#/definitions/ResourceProperties" + "$ref": "#/definitions/EnvironmentResourceProperties" } ], "required": [ "dataRetentionTime" ], - "description": "Properties of the environment." + "description": "Properties of the Gen1 environment." + }, + "Gen2EnvironmentResourceProperties": { + "properties": { + "timeSeriesIdProperties": { + "type": "array", + "items": { + "$ref": "#/definitions/TimeSeriesIdProperty" + }, + "description": "The list of event properties which will be used to define the environment's time series id." + }, + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationOutput", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + }, + "required": [ + "timeSeriesIdProperties", + "storageConfiguration" + ], + "allOf": [ + { + "$ref": "#/definitions/EnvironmentResourceProperties" + } + ], + "description": "Properties of the Gen2 environment." }, - "EnvironmentMutableProperties": { - "description": "An object that represents a set of mutable environment resource properties.", + "Gen1EnvironmentMutableProperties": { + "description": "An object that represents a set of mutable Gen1 environment resource properties.", "type": "object", "properties": { "dataRetentionTime": { "type": "string", "format": "duration", "description": "ISO8601 timespan specifying the minimum number of days the environment's events will be available for query." + }, + "storageLimitExceededBehavior": { + "type": "string", + "description": "The behavior the Time Series Insights service should take when the environment's capacity has been exceeded. If \"PauseIngress\" is specified, new events will not be read from the event source. If \"PurgeOldData\" is specified, new events will continue to be read and old events will be deleted from the environment. The default behavior is PurgeOldData.", + "enum": [ + "PurgeOldData", + "PauseIngress" + ], + "x-ms-enum": { + "name": "StorageLimitExceededBehavior", + "modelAsString": true + } + } + } + }, + "Gen2EnvironmentMutableProperties": { + "description": "An object that represents a set of mutable Gen2 environment resource properties.", + "type": "object", + "properties": { + "storageConfiguration": { + "$ref": "#/definitions/Gen2StorageConfigurationMutableProperties", + "description": "The storage configuration provides the connection details that allows the Time Series Insights service to connect to the customer storage account that is used to store the environment's data." + }, + "warmStoreConfiguration": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/WarmStoreConfigurationProperties", + "description": "The warm store configuration provides the details to create a warm store cache that will retain a copy of the environment's data available for faster query." + } + } + }, + "TimeSeriesIdProperty": { + "properties": { + "name": { + "type": "string", + "description": "The name of the property." + }, + "type": { + "type": "string", + "description": "The type of the property.", + "enum": [ + "String" + ], + "x-ms-enum": { + "name": "PropertyType", + "modelAsString": true + } + } + }, + "description": "The structure of the property that a time series id can have. An environment can have multiple such properties." + }, + "EnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of the environment, and its internal state in the Time Series Insights service.", + "properties": { + "ingress": { + "$ref": "#/definitions/IngressEnvironmentStatus", + "description": "An object that represents the status of ingress on an environment." + }, + "warmStorage": { + "$ref": "#/definitions/WarmStorageEnvironmentStatus", + "description": "An object that represents the status of warm storage on an environment." + } + } + }, + "IngressEnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of ingress on an environment.", + "properties": { + "state": { + "type": "string", + "description": "This string represents the state of ingress operations on an environment. It can be \"Disabled\", \"Ready\", \"Running\", \"Paused\" or \"Unknown\"", + "enum": [ + "Disabled", + "Ready", + "Running", + "Paused", + "Unknown" + ], + "x-ms-enum": { + "name": "IngressState", + "modelAsString": true + } + }, + "stateDetails": { + "$ref": "#/definitions/EnvironmentStateDetails", + "description": "An object that contains the details about an environment's state." + } + } + }, + "EnvironmentStateDetails": { + "readOnly": true, + "type": "object", + "description": "An object that contains the details about an environment's state.", + "properties": { + "code": { + "type": "string", + "description": "Contains the code that represents the reason of an environment being in a particular state. Can be used to programmatically handle specific cases." + }, + "message": { + "type": "string", + "description": "A message that describes the state in detail." + } + } + }, + "WarmStorageEnvironmentStatus": { + "readOnly": true, + "type": "object", + "description": "An object that represents the status of warm storage on an environment.", + "properties": { + "propertiesUsage": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarmStoragePropertiesUsage", + "description": "An object that contains the status of warm storage properties usage." + } + } + }, + "WarmStoragePropertiesUsage": { + "readOnly": true, + "type": "object", + "description": "An object that contains the status of warm storage properties usage.", + "properties": { + "state": { + "type": "string", + "description": "This string represents the state of warm storage properties usage. It can be \"Ok\", \"Error\", \"Unknown\".", + "enum": [ + "Ok", + "Error", + "Unknown" + ], + "x-ms-enum": { + "name": "WarmStoragePropertiesState", + "modelAsString": true + } + }, + "stateDetails": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WarmStoragePropertiesUsageStateDetails", + "description": "An object that contains the details about warm storage properties usage state." + } + } + }, + "WarmStoragePropertiesUsageStateDetails": { + "readOnly": true, + "type": "object", + "description": "An object that contains the details about warm storage properties usage state.", + "properties": { + "currentCount": { + "format": "int32", + "type": "integer", + "description": "A value that represents the number of properties used by the environment for S1/S2 SKU and number of properties used by Warm Store for PAYG SKU", + "minimum": 1, + "maximum": 10 + }, + "maxCount": { + "format": "int32", + "type": "integer", + "description": "A value that represents the maximum number of properties used allowed by the environment for S1/S2 SKU and maximum number of properties allowed by Warm Store for PAYG SKU.", + "minimum": 1, + "maximum": 10 + } + } + }, + "IngressStartAtProperties": { + "type": "object", + "description": "An object that contains the details about the starting point in time to ingest events.", + "properties": { + "type": { + "type": "string", + "description": "The type of the ingressStartAt, It can be \"EarliestAvailable\", \"EventSourceCreationTime\", \"CustomEnqueuedTime\".", + "enum": [ + "EarliestAvailable", + "EventSourceCreationTime", + "CustomEnqueuedTime" + ], + "x-ms-enum": { + "name": "IngressStartAtType", + "modelAsString": true + } + }, + "time": { + "type": "string", + "description": "ISO8601 UTC datetime with seconds precision (milliseconds are optional), specifying the date and time that will be the starting point for Events to be consumed." } } }, "EventSourceCreateOrUpdateParameters": { + "discriminator": "kind", "properties": { "kind": { "type": "string", @@ -1247,18 +2015,17 @@ "Microsoft.IoTHub" ], "x-ms-enum": { - "name": "Kind", - "modelAsString": false + "name": "EventSourceKind", + "modelAsString": true } }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/EventSourceCommonProperties" + "localTimestamp": { + "$ref": "#/definitions/LocalTimestamp", + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events." } }, "required": [ - "kind", - "properties" + "kind" ], "allOf": [ { @@ -1268,6 +2035,7 @@ "description": "Parameters supplied to the Create or Update Event Source operation." }, "EventHubEventSourceCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.EventHub", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1285,6 +2053,7 @@ "description": "Parameters supplied to the Create or Update Event Source operation for an EventHub event source." }, "IoTHubEventSourceCreateOrUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.IoTHub", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1302,8 +2071,21 @@ "description": "Parameters supplied to the Create or Update Event Source operation for an IoTHub event source." }, "EventSourceUpdateParameters": { + "discriminator": "kind", "type": "object", "properties": { + "kind": { + "type": "string", + "description": "The kind of the event source.", + "enum": [ + "Microsoft.EventHub", + "Microsoft.IoTHub" + ], + "x-ms-enum": { + "name": "EventSourceKind", + "modelAsString": true + } + }, "tags": { "type": "object", "additionalProperties": { @@ -1312,10 +2094,14 @@ "description": "Key-value pairs of additional properties for the event source." } }, + "required": [ + "kind" + ], "description": "Parameters supplied to the Update Event Source operation." }, "EventHubEventSourceUpdateParameters": { "type": "object", + "x-ms-discriminator-value": "Microsoft.EventHub", "properties": { "properties": { "x-ms-client-flatten": true, @@ -1331,6 +2117,7 @@ "description": "Parameters supplied to the Update Event Source operation to update an EventHub event source." }, "IoTHubEventSourceUpdateParameters": { + "x-ms-discriminator-value": "Microsoft.IoTHub", "type": "object", "properties": { "properties": { @@ -1365,16 +2152,14 @@ "kind": { "type": "string", "description": "The kind of the event source.", - "enum": [ "Microsoft.EventHub", "Microsoft.IoTHub" ] - }, - "properties": { - "x-ms-client-flatten": true, - "$ref": "#/definitions/EventSourceCommonProperties" + "enum": [ + "Microsoft.EventHub", + "Microsoft.IoTHub" + ] } }, "required": [ - "kind", - "properties" + "kind" ], "allOf": [ { @@ -1391,6 +2176,9 @@ "$ref": "#/definitions/EventHubEventSourceResourceProperties" } }, + "required": [ + "properties" + ], "allOf": [ { "$ref": "#/definitions/EventSourceResource" @@ -1399,13 +2187,16 @@ "description": "An event source that receives its data from an Azure EventHub." }, "IoTHubEventSourceResource": { - "x-ms-discriminator-value": "Microsoft.IotHub", + "x-ms-discriminator-value": "Microsoft.IoTHub", "properties": { "properties": { "x-ms-client-flatten": true, "$ref": "#/definitions/IoTHubEventSourceResourceProperties" } }, + "required": [ + "properties" + ], "allOf": [ { "$ref": "#/definitions/EventSourceResource" @@ -1418,8 +2209,22 @@ "timestampPropertyName": { "type": "string", "description": "The event property that will be used as the event source's timestamp. If a value isn't specified for timestampPropertyName, or if null or empty-string is specified, the event creation time will be used." + }, + "localTimestamp": { + "$ref": "#/definitions/LocalTimestamp", + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events." + }, + "ingressStartAt": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/IngressStartAtProperties", + "description": "An object that contains the details about the starting point in time to ingest events." } }, + "allOf": [ + { + "$ref": "#/definitions/ResourceProperties" + } + ], "description": "Properties of the event source." }, "AzureEventSourceProperties": { @@ -1490,17 +2295,8 @@ }, "EventHubEventSourceResourceProperties": { "allOf": [ - { - "$ref": "#/definitions/ResourceProperties" - }, { "$ref": "#/definitions/EventHubEventSourceCommonProperties" - }, - { - "$ref": "#/definitions/AzureEventSourceProperties" - }, - { - "$ref": "#/definitions/EventSourceCommonProperties" } ], "description": "Properties of the EventHub event source resource." @@ -1551,21 +2347,39 @@ }, "IoTHubEventSourceResourceProperties": { "allOf": [ - { - "$ref": "#/definitions/ResourceProperties" - }, { "$ref": "#/definitions/IoTHubEventSourceCommonProperties" - }, - { - "$ref": "#/definitions/AzureEventSourceProperties" - }, - { - "$ref": "#/definitions/EventSourceCommonProperties" } ], "description": "Properties of the IoTHub event source resource." }, + "LocalTimestamp": { + "description": "An object that represents the local timestamp property. It contains the format of local timestamp that needs to be used and the corresponding timezone offset information. If a value isn't specified for localTimestamp, or if null, then the local timestamp will not be ingressed with the events.", + "type": "object", + "properties": { + "format": { + "description": "An enum that represents the format of the local timestamp property that needs to be set.", + "type": "string", + "enum": [ + "Embedded" + ], + "x-ms-enum": { + "name": "LocalTimestampFormat", + "modelAsString": true + } + }, + "timeZoneOffset": { + "description": "An object that represents the offset information for the local timestamp format specified. Should not be specified for LocalTimestampFormat - Embedded.", + "type": "object", + "properties": { + "propertyName": { + "type": "string", + "description": "The event property that will be contain the offset information to calculate the local timestamp. When the LocalTimestampFormat is Iana, the property name will contain the name of the column which contains IANA Timezone Name (eg: Americas/Los Angeles). When LocalTimestampFormat is Timespan, it contains the name of property which contains values representing the offset (eg: P1D or 1.00:00:00)" + } + } + } + } + }, "EventSourceMutableProperties": { "description": "An object that represents a set of mutable event source resource properties.", "type": "object", @@ -1669,6 +2483,18 @@ "$ref": "#/definitions/ReferenceDataSetKeyProperty" }, "description": "The list of key properties for the reference data set." + }, + "dataStringComparisonBehavior": { + "type": "string", + "description": "The reference data set key comparison behavior can be set using this property. By default, the value is 'Ordinal' - which means case sensitive key comparison will be performed while joining reference data with events or while adding new reference data. When 'OrdinalIgnoreCase' is set, case insensitive comparison will be used.", + "enum": [ + "Ordinal", + "OrdinalIgnoreCase" + ], + "x-ms-enum": { + "name": "DataStringComparisonBehavior", + "modelAsString": true + } } }, "required": [ @@ -1707,7 +2533,7 @@ ], "x-ms-enum": { "name": "ReferenceDataKeyPropertyType", - "modelAsString": false + "modelAsString": true } } }, @@ -1730,10 +2556,7 @@ "x-ms-client-flatten": true, "$ref": "#/definitions/AccessPolicyMutableProperties" } - }, - "required": [ - "properties" - ] + } }, "AccessPolicyListResponse": { "properties": { @@ -1765,7 +2588,11 @@ "properties": { "principalObjectId": { "type": "string", - "description": "The objectId of the principal in Azure Active Directory." + "description": "The objectId of the principal in Azure Active Directory.", + "x-ms-mutability": [ + "create", + "read" + ] }, "description": { "type": "string", @@ -1782,7 +2609,7 @@ ], "x-ms-enum": { "name": "AccessPolicyRole", - "modelAsString": false + "modelAsString": true } }, "description": "The list of roles the principal is assigned on the environment." @@ -1808,7 +2635,7 @@ ], "x-ms-enum": { "name": "AccessPolicyRole", - "modelAsString": false + "modelAsString": true } }, "description": "The list of roles the principal is assigned on the environment." @@ -1819,7 +2646,8 @@ "type": "object", "properties": { "error": { - "$ref": "#/definitions/CloudErrorBody" + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." } }, "description": "Contains information about an API error.", @@ -1831,7 +2659,7 @@ "properties": { "code": { "type": "string", - "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programatically handle specific error cases." + "description": "An error code that describes the error condition more precisely than an HTTP status code. Can be used to programmatically handle specific error cases." }, "message": { "type": "string", @@ -1844,7 +2672,8 @@ "details": { "type": "array", "items": { - "$ref": "#/definitions/CloudErrorBody" + "$ref": "#/definitions/CloudErrorBody", + "description": "Describes a particular API error with an error code and a message." }, "description": "Contains nested errors that are related to this error." } @@ -1865,7 +2694,15 @@ "in": "query", "required": true, "type": "string", - "description": "Version of the API to be used with the client request. Current version is 2017-02-28-preview." + "description": "Version of the API to be used with the client request." + }, + "ExpandParameter": { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "x-ms-parameter-location": "method", + "description": "Setting $expand=status will include the status of the internal services of the environment in the Time Series Insights service." }, "ResourceGroupNameParameter": { "name": "resourceGroupName", @@ -1908,4 +2745,4 @@ "x-ms-parameter-location": "method" } } -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/AppServiceEnvironments.json b/App_Data/SwaggerSpecs/Microsoft.Web/AppServiceEnvironments.json index dc677fad..64e30a07 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/AppServiceEnvironments.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/AppServiceEnvironments.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "AppServiceEnvironments API Client" }, "host": "management.azure.com", @@ -632,100 +632,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/health": { - "get": { - "tags": [ - "AppServiceEnvironments" - ], - "summary": "Get the health details of an App Service Environment.", - "description": "Description for Get the health details of an App Service Environment.", - "operationId": "AppServiceEnvironments_GetHealth", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the App Service Environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/HostingEnvironmentHealth" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get ASE Health": { - "$ref": "./examples/AseHealth.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/health/default": { - "get": { - "tags": [ - "AppServiceEnvironments" - ], - "summary": "Get the health details of an App Service Environment.", - "description": "Description for Get the health details of an App Service Environment.", - "operationId": "AppServiceEnvironments_GetHealth", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the App Service Environment.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/HostingEnvironmentHealth" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Get ASE Health": { - "$ref": "./examples/AseHealth.json" - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/hostingEnvironments/{name}/inboundNetworkDependenciesEndpoints": { "get": { "tags": [ @@ -1770,18 +1676,18 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. 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]'.", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -2250,6 +2156,7 @@ "properties": { "properties": { "description": "AddressResponse resource specific properties", + "type": "object", "properties": { "serviceIpAddress": { "description": "Main public virtual IP.", @@ -2311,6 +2218,7 @@ "properties": { "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -2327,6 +2235,7 @@ "properties": { "$ref": "./CommonDefinitions.json#/definitions/AppServiceEnvironment", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -2342,6 +2251,7 @@ "properties": { "properties": { "description": "AseV3NetworkingConfiguration resource specific properties", + "type": "object", "properties": { "windowsOutboundIpAddresses": { "type": "array", @@ -2421,20 +2331,6 @@ } } }, - "ForcedTunnelingHealth": { - "description": "Details on the Forced Tunneling configuration of the subnet containing the App Service Environment", - "type": "object", - "properties": { - "description": { - "description": "Text describing the recommended action to take to ensure the App Service Environment has connectivity to network dependencies.", - "type": "string" - }, - "enabled": { - "description": "Whether the App Service Environment is currently in a forced-tunneling configuration.", - "type": "boolean" - } - } - }, "HostingEnvironmentDiagnostics": { "description": "Diagnostics for an App Service Environment.", "type": "object", @@ -2449,24 +2345,6 @@ } } }, - "HostingEnvironmentHealth": { - "description": "Details on the health of an App Service Environment.", - "type": "object", - "properties": { - "healthy": { - "description": "Whether the App Service Environment is currently healthy or unhealthy.", - "type": "boolean" - }, - "suspended": { - "description": "Whether the App Service Environment is currently suspended.", - "type": "boolean" - }, - "networkConfiguration": { - "$ref": "#/definitions/NetworkConfigurationHealth", - "description": "Details on whether the network configuration of the App Service Environment meets requirements." - } - } - }, "InboundEnvironmentEndpoint": { "description": "The IP Addresses and Ports that require inbound network access to and within the subnet of the App Service Environment.", "type": "object", @@ -2512,120 +2390,6 @@ } } }, - "MissingNsgRule": { - "description": "A recommended Network Security Group Rule that should be added to the Network Security Group.", - "type": "object", - "properties": { - "name": { - "description": "A suggestion for the name of the recommended Rule.", - "type": "string" - }, - "description": { - "description": "Text describing the purpose of the recommended Rule.", - "type": "string" - }, - "sourceAddressPrefix": { - "description": "The Source Address Prefix of the recommended Rule. This may be a CIDR range or a Service Tag.", - "type": "string" - }, - "sourcePorts": { - "description": "The Source Ports of the recommended Rule.", - "type": "string" - }, - "destinationAddressPrefix": { - "description": "The Destination Address Prefix of the recommended Rule.", - "type": "string" - }, - "destinationPorts": { - "description": "The Destination Ports of the recommended Rule.", - "type": "string" - }, - "direction": { - "description": "The direction of the recommended Rule. Inbound or Outbound.", - "type": "string" - }, - "protocol": { - "description": "The protocol of the recommended Rule. Any, TCP, UDP, or ICMP.", - "type": "string" - }, - "access": { - "description": "Whether the rule should allow or deny traffic. Allow or Deny.", - "type": "string" - } - } - }, - "MissingRoute": { - "description": "A list of missing Routes that share a common Next Hop. A new Route should be added to the Route Table for every Address Prefix with the specified Next Hop.", - "type": "object", - "properties": { - "description": { - "description": "Text describing the recommended action to take to correctly configure the Route Table.", - "type": "string" - }, - "nextHop": { - "description": "The Next Hop for the recommended Routes to add.", - "type": "string" - }, - "addressPrefixes": { - "description": "A list of Address Prefixes that do not currently have the recommended Next Hop.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "NetworkConfigurationHealth": { - "description": "Details on whether the network configuration of the App Service Environment meets requirements.", - "type": "object", - "properties": { - "configuredCorrectly": { - "description": "Whether all components of the network configuration are configured correctly.", - "type": "boolean" - }, - "subnet": { - "$ref": "#/definitions/SubnetHealth", - "description": "Details on the configuration of the subnet containing the App Service Environment." - }, - "networkSecurityGroup": { - "$ref": "#/definitions/NetworkSecurityGroupHealth", - "description": "Details on the configuration of the Network Security Group associated with the subnet containing the App Service Environment." - }, - "routeTable": { - "$ref": "#/definitions/RouteTableHealth", - "description": "Details on the configuration of the Route Table associated with the subnet containing the App Service Environment." - }, - "forcedTunneling": { - "$ref": "#/definitions/ForcedTunnelingHealth", - "description": "Details on the Forced Tunneling configuration of the subnet containing the App Service Environment." - } - } - }, - "NetworkSecurityGroupHealth": { - "description": "Details on the configuration of the Route Table associated with the subnet containing the App Service Environment.", - "type": "object", - "properties": { - "resourceId": { - "description": "The ARM Resource ID of the Network Security Group associated with the subnet containing the App Service Environment. Null, if there is not one associated.", - "type": "string" - }, - "configuredCorrectly": { - "description": "Whether the Network Security Group is configured correctly.", - "type": "boolean" - }, - "description": { - "description": "Text describing the recommended action to take to correctly configure the Network Security Group.", - "type": "string" - }, - "missingNsgRules": { - "description": "A list of the recommended Network Security Group Rules that should be added to the Network Security Group.\nThese rules should be created with a higher priority than existing rules in the NSG.", - "type": "array", - "items": { - "$ref": "#/definitions/MissingNsgRule" - } - } - } - }, "OutboundEnvironmentEndpoint": { "description": "Endpoints accessed for a common purpose that the App Service Environment requires outbound network access to.", "type": "object", @@ -2691,6 +2455,7 @@ "properties": { "properties": { "description": "ResourceMetricDefinition resource specific properties", + "type": "object", "properties": { "unit": { "description": "Unit of the metric.", @@ -2749,52 +2514,6 @@ } } }, - "RouteTableHealth": { - "description": "Details on the configuration of the Route Table associated with the subnet containing the App Service Environment", - "type": "object", - "properties": { - "resourceId": { - "description": "The ARM Resource ID of the Route Table associated with the subnet containing the App Service Environment. Null, if there is not one associated.", - "type": "string" - }, - "configuredCorrectly": { - "description": "Whether the Route Table is configured correctly.", - "type": "boolean" - }, - "description": { - "description": "Text describing the recommended action to take to correctly configure the Route Table.", - "type": "string" - }, - "missingRoutes": { - "description": "A list of missing Routes that share a common Next Hop. A new Route should be added to the Route Table for every Address Prefix with the specified Next Hop.", - "type": "array", - "items": { - "$ref": "#/definitions/MissingRoute" - } - } - } - }, - "ServiceEndpointsHealth": { - "description": "Details on the configuration of Service Endpoints on the subnet.", - "type": "object", - "properties": { - "configuredCorrectly": { - "description": "Whether Service Endpoints are enabled to all suggested services.", - "type": "boolean" - }, - "description": { - "description": "Text describing the recommended action to take to correctly configure the subnet.", - "type": "string" - }, - "missingServices": { - "description": "The recommended services that Service Endpoints are not currently enabled for.", - "type": "array", - "items": { - "type": "string" - } - } - } - }, "SkuInfo": { "description": "SKU discovery information.", "type": "object", @@ -2806,6 +2525,10 @@ "sku": { "$ref": "./CommonDefinitions.json#/definitions/SkuDescription", "description": "Name and tier of the SKU." + }, + "capacity": { + "$ref": "./CommonDefinitions.json#/definitions/SkuCapacity", + "description": "Min, max, and default scale values of the SKU." } } }, @@ -2931,20 +2654,6 @@ } } }, - "SubnetHealth": { - "description": "Details on the configuration of the subnet containing the App Service Environment.", - "type": "object", - "properties": { - "resourceId": { - "description": "The ARM Resource ID of the subnet containing the App Service Environment.", - "type": "string" - }, - "serviceEndpoints": { - "$ref": "#/definitions/ServiceEndpointsHealth", - "description": "Details on the configuration of Service Endpoints on the subnet containing the App Service Environment." - } - } - }, "Usage": { "description": "Usage of the quota resource.", "type": "object", @@ -2956,6 +2665,7 @@ "properties": { "properties": { "description": "Usage resource specific properties", + "type": "object", "properties": { "displayName": { "description": "Friendly name shown in the UI.", @@ -3190,4 +2900,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/AppServicePlans.json b/App_Data/SwaggerSpecs/Microsoft.Web/AppServicePlans.json index 12fe3702..37a7be9c 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/AppServicePlans.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/AppServicePlans.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "AppServicePlans API Client" }, "host": "management.azure.com", @@ -138,7 +138,8 @@ } }, "404": { - "description": "Not found." + "description": "Not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -741,6 +742,12 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$skipToken", "in": "query", @@ -759,12 +766,6 @@ "in": "query", "description": "List page size. If specified, results are paged.", "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -847,18 +848,18 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(name.value eq 'Metric1' or name.value eq 'Metric2').", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -912,7 +913,7 @@ "schema": { "type": "array", "items": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } } }, @@ -962,11 +963,12 @@ "200": { "description": "OK.", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "404": { - "description": "Virtual network could not be found." + "description": "Virtual network could not be found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -1199,7 +1201,8 @@ } }, "404": { - "description": "Specified route does not exist." + "description": "Specified route does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -1265,10 +1268,12 @@ } }, "400": { - "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid." + "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid.", + "x-ms-error-response": true }, "404": { - "description": "Route not found." + "description": "Route not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -1322,7 +1327,8 @@ "description": "Successfully deleted Virtual Network route." }, "404": { - "description": "Specified Virtual Network route does not exist." + "description": "Specified Virtual Network route does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -1388,10 +1394,12 @@ } }, "400": { - "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid." + "description": "Invalid request. Ensure that required parameters are given, and that addresses and address spaces are valid.", + "x-ms-error-response": true }, "404": { - "description": "Route not found." + "description": "Route not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -1461,6 +1469,7 @@ "properties": { "properties": { "description": "AppServicePlanPatchResource resource specific properties", + "type": "object", "properties": { "workerTierName": { "description": "Target worker tier assigned to the App Service plan.", @@ -1599,6 +1608,11 @@ "kubeEnvironmentProfile": { "$ref": "./CommonDefinitions.json#/definitions/KubeEnvironmentProfile", "description": "Specification for the Kubernetes Environment to use for the App Service plan." + }, + "zoneRedundant": { + "description": "If true, this App Service Plan will perform availability zone balancing.\nIf false, this App Service Plan will not perform availability zone balancing.", + "default": false, + "type": "boolean" } }, "x-ms-client-flatten": true @@ -1637,6 +1651,7 @@ "properties": { "properties": { "description": "HybridConnectionKey resource specific properties", + "type": "object", "properties": { "sendKeyName": { "description": "The name of the send key.", @@ -1664,6 +1679,7 @@ "properties": { "properties": { "description": "HybridConnectionLimits resource specific properties", + "type": "object", "properties": { "current": { "format": "int32", @@ -1749,4 +1765,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/Certificates.json b/App_Data/SwaggerSpecs/Microsoft.Web/Certificates.json index 89c6446e..63d20935 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/Certificates.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/Certificates.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Certificates API Client" }, "host": "management.azure.com", @@ -29,6 +29,13 @@ }, { "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only information specified in the filter (using OData syntax). For example: $filter=KeyVaultId eq 'KeyVaultId'", + "type": "string", + "x-ms-skip-url-encoding": true } ], "responses": { @@ -311,10 +318,15 @@ "properties": { "properties": { "description": "Certificate resource specific properties", - "required": [ - "password" - ], + "type": "object", "properties": { + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, "friendlyName": { "description": "Friendly name of the certificate.", "type": "string", @@ -364,13 +376,6 @@ "type": "string", "readOnly": true }, - "password": { - "description": "Certificate password.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, "thumbprint": { "description": "Certificate thumbprint.", "type": "string", @@ -476,10 +481,15 @@ "properties": { "properties": { "description": "CertificatePatchResource resource specific properties", - "required": [ - "password" - ], + "type": "object", "properties": { + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ] + }, "friendlyName": { "description": "Friendly name of the certificate.", "type": "string", @@ -529,13 +539,6 @@ "type": "string", "readOnly": true }, - "password": { - "description": "Certificate password.", - "type": "string", - "x-ms-mutability": [ - "create" - ] - }, "thumbprint": { "description": "Certificate thumbprint.", "type": "string", @@ -655,4 +658,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/CommonDefinitions.json b/App_Data/SwaggerSpecs/Microsoft.Web/CommonDefinitions.json index 2f74e442..a2d0b359 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/CommonDefinitions.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/CommonDefinitions.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Common Definitions" }, "host": "management.azure.com", @@ -149,8 +149,11 @@ "dedicatedHostCount": { "format": "int32", "description": "Dedicated Host Count", - "type": "integer", - "readOnly": true + "type": "integer" + }, + "zoneRedundant": { + "description": "Whether or not this App Service Environment is zone-redundant.", + "type": "boolean" } } }, @@ -165,6 +168,7 @@ "properties": { "properties": { "description": "AppServicePlan resource specific properties", + "type": "object", "properties": { "workerTierName": { "description": "Target worker tier assigned to the App Service plan.", @@ -303,12 +307,20 @@ "kubeEnvironmentProfile": { "$ref": "#/definitions/KubeEnvironmentProfile", "description": "Specification for the Kubernetes Environment to use for the App Service plan." + }, + "zoneRedundant": { + "description": "If true, this App Service Plan will perform availability zone balancing.\nIf false, this App Service Plan will not perform availability zone balancing.", + "default": false, + "type": "boolean" } }, "x-ms-client-flatten": true }, "sku": { "$ref": "#/definitions/SkuDescription" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation" } } }, @@ -418,13 +430,6 @@ "$ref": "#/definitions/StatusCodesBasedTrigger" } }, - "statusCodesRange": { - "description": "A rule based on status codes ranges.", - "type": "array", - "items": { - "$ref": "#/definitions/StatusCodesRangeBasedTrigger" - } - }, "slowRequests": { "$ref": "#/definitions/SlowRequestsBasedTrigger", "description": "A rule based on request execution time." @@ -435,6 +440,13 @@ "items": { "$ref": "#/definitions/SlowRequestsBasedTrigger" } + }, + "statusCodesRange": { + "description": "A rule based on status codes ranges.", + "type": "array", + "items": { + "$ref": "#/definitions/StatusCodesRangeBasedTrigger" + } } } }, @@ -464,7 +476,8 @@ }, "accessKey": { "description": "Access key for the storage account.", - "type": "string" + "type": "string", + "x-ms-secret": true }, "mountPath": { "description": "Path to mount the storage within the site's runtime environment.", @@ -643,6 +656,9 @@ "name": { "type": "string" }, + "isDataAction": { + "type": "boolean" + }, "display": { "$ref": "#/definitions/CsmOperationDisplay" }, @@ -785,7 +801,10 @@ "description": "Raw row values", "type": "array", "items": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } } } } @@ -817,6 +836,7 @@ "type": "array", "items": { "description": "Detailed errors.", + "type": "object", "properties": { "code": { "description": "Standardized string to programmatically identify the error.", @@ -858,6 +878,7 @@ "properties": { "properties": { "description": "DeletedSite resource specific properties", + "type": "object", "properties": { "deletedSiteId": { "format": "int32", @@ -910,7 +931,7 @@ "type": "object", "properties": { "id": { - "description": "Id", + "description": "Id of detector", "type": "string", "readOnly": true }, @@ -983,6 +1004,7 @@ "properties": { "properties": { "description": "DetectorResponse resource specific properties", + "type": "object", "properties": { "metadata": { "$ref": "#/definitions/DetectorInfo", @@ -1095,7 +1117,7 @@ } }, "details": { - "description": "Details.", + "description": "Error Details.", "type": "array", "items": { "$ref": "#/definitions/ErrorEntity" @@ -1128,6 +1150,21 @@ } } }, + "ExtendedLocation": { + "description": "Extended Location.", + "type": "object", + "properties": { + "name": { + "description": "Name of extended location.", + "type": "string" + }, + "type": { + "description": "Type of extended location.", + "type": "string", + "readOnly": true + } + } + }, "HandlerMapping": { "description": "The IIS handler mappings used to define which handler processes HTTP requests with certain extension. \nFor example, it is used to configure php-cgi.exe process to handle all HTTP requests with *.php extension.", "type": "object", @@ -1224,6 +1261,7 @@ "properties": { "properties": { "description": "HybridConnection resource specific properties", + "type": "object", "properties": { "serviceBusNamespace": { "description": "The name of the Service Bus namespace.", @@ -1282,6 +1320,7 @@ "properties": { "properties": { "description": "Identifier resource specific properties", + "type": "object", "properties": { "id": { "description": "String representation of the identity.", @@ -1479,19 +1518,7 @@ "description": "The list of user assigned identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}", "type": "object", "additionalProperties": { - "type": "object", - "properties": { - "principalId": { - "description": "Principal Id of user assigned identity", - "type": "string", - "readOnly": true - }, - "clientId": { - "description": "Client Id of user assigned identity", - "type": "string", - "readOnly": true - } - } + "$ref": "#/definitions/userAssignedIdentity" } } } @@ -1699,6 +1726,7 @@ "properties": { "$ref": "#/definitions/PrivateLinkConnectionApprovalRequest", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -1791,6 +1819,7 @@ }, "ProxyOnlyResource": { "description": "Azure proxy only resource. This resource is not tracked by Azure Resource Manager.", + "type": "object", "properties": { "id": { "description": "Resource Id.", @@ -1828,6 +1857,7 @@ "required": [ "isPushEnabled" ], + "type": "object", "properties": { "isPushEnabled": { "description": "Gets or sets a flag indicating whether the Push endpoint is enabled.", @@ -1936,6 +1966,7 @@ "properties": { "properties": { "description": "RemotePrivateEndpointConnectionARMResource resource specific properties", + "type": "object", "properties": { "provisioningState": { "type": "string", @@ -2029,6 +2060,7 @@ "required": [ "location" ], + "type": "object", "properties": { "id": { "description": "Resource Id.", @@ -2113,6 +2145,7 @@ "properties": { "properties": { "description": "Site resource specific properties", + "type": "object", "properties": { "state": { "description": "Current state of the app.", @@ -2337,10 +2370,6 @@ "description": "Status of the last deployment slot swap operation.", "readOnly": true }, - "keyVaultReferenceIdentity": { - "description": "Identity to use for Key Vault Reference authentication.", - "type": "string" - }, "httpsOnly": { "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", "type": "boolean" @@ -2371,6 +2400,10 @@ "description": "Checks if Customer provided storage account is required", "type": "boolean" }, + "keyVaultReferenceIdentity": { + "description": "Identity to use for Key Vault Reference authentication.", + "type": "string" + }, "virtualNetworkSubnetId": { "description": "Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration.\nThis must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", "type": "string" @@ -2380,6 +2413,9 @@ }, "identity": { "$ref": "#/definitions/ManagedServiceIdentity" + }, + "extendedLocation": { + "$ref": "#/definitions/ExtendedLocation" } } }, @@ -2449,6 +2485,14 @@ "description": "true if HTTP logging is enabled; otherwise, false.", "type": "boolean" }, + "acrUseManagedIdentityCreds": { + "description": "Flag to use Managed Identity Creds for ACR pull", + "type": "boolean" + }, + "acrUserManagedIdentityID": { + "description": "If using user managed identity, the user managed identity ClientId", + "type": "string" + }, "logsDirectorySizeLimit": { "format": "int32", "description": "HTTP logs directory size limit.", @@ -2469,13 +2513,6 @@ "$ref": "#/definitions/NameValuePair" } }, - "azureStorageAccounts": { - "description": "AzureStorageAccounts.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/AzureStorageInfoValue" - } - }, "connectionStrings": { "description": "Connection strings.", "type": "array", @@ -2623,10 +2660,6 @@ "description": "The number of private ports assigned to this app. These will be assigned dynamically on runtime.", "type": "integer" }, - "publicNetworkAccess": { - "description": "Property to allow or block all public trafic.", - "type": "string" - }, "cors": { "$ref": "#/definitions/CorsSettings", "description": "Cross-Origin Resource Sharing (CORS) settings." @@ -2759,6 +2792,17 @@ "maximum": 20, "minimum": 0, "type": "integer" + }, + "azureStorageAccounts": { + "description": "List of Azure Storage Accounts.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/AzureStorageInfoValue" + } + }, + "publicNetworkAccess": { + "description": "Property to allow or block all public traffic.", + "type": "string" } } }, @@ -2805,6 +2849,36 @@ } } }, + "SkuCapacity": { + "description": "Description of the App Service plan scale options.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "Minimum number of workers for this App Service plan SKU.", + "type": "integer" + }, + "maximum": { + "format": "int32", + "description": "Maximum number of workers for this App Service plan SKU.", + "type": "integer" + }, + "elasticMaximum": { + "format": "int32", + "description": "Maximum number of Elastic workers for this App Service plan SKU.", + "type": "integer" + }, + "default": { + "format": "int32", + "description": "Default number of workers for this App Service plan SKU.", + "type": "integer" + }, + "scaleType": { + "description": "Available scale configurations for an App Service plan.", + "type": "string" + } + } + }, "SkuDescription": { "description": "Description of a SKU for a scalable resource.", "type": "object", @@ -2830,6 +2904,10 @@ "description": "Current number of instances assigned to the resource.", "type": "integer" }, + "skuCapacity": { + "$ref": "#/definitions/SkuCapacity", + "description": "Min, max, and default scale values of the SKU." + }, "locations": { "description": "Locations of the SKU.", "type": "array", @@ -2902,6 +2980,7 @@ "properties": { "properties": { "description": "Snapshot resource specific properties", + "type": "object", "properties": { "time": { "description": "The time the snapshot was taken.", @@ -2957,10 +3036,6 @@ "description": "Win32 error code.", "type": "integer" }, - "path": { - "description": "Request Path", - "type": "string" - }, "count": { "format": "int32", "description": "Request Count.", @@ -2969,6 +3044,10 @@ "timeInterval": { "description": "Time interval.", "type": "string" + }, + "path": { + "description": "Request Path", + "type": "string" } } }, @@ -3043,6 +3122,7 @@ "required": [ "publishingUserName" ], + "type": "object", "properties": { "publishingUserName": { "description": "Username used for publishing.", @@ -3152,6 +3232,7 @@ "required": [ "vpnPackageUri" ], + "type": "object", "properties": { "vnetName": { "description": "The Virtual Network name.", @@ -3177,6 +3258,46 @@ "VnetInfo": { "description": "Virtual Network information contract.", "type": "object", + "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 \nPoint-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" + }, + "isSwift": { + "description": "Flag that is used to denote if this is VNET injection", + "type": "boolean" + } + } + }, + "VnetInfoResource": { + "description": "Virtual Network information ARM resource.", + "type": "object", "allOf": [ { "$ref": "#/definitions/ProxyOnlyResource" @@ -3184,43 +3305,9 @@ ], "properties": { "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 \nPoint-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" - }, - "isSwift": { - "description": "Flag that is used to denote if this is VNET injection", - "type": "boolean" - } - }, + "$ref": "#/definitions/VnetInfo", + "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -3236,6 +3323,7 @@ "properties": { "properties": { "description": "VnetRoute resource specific properties", + "type": "object", "properties": { "startAddress": { "description": "The starting address for this route. This may also include a CIDR notation, in which case the end address must not be specified.", @@ -3283,6 +3371,22 @@ "readOnly": true } } + }, + "userAssignedIdentity": { + "description": "User Assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Principal Id of user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Client Id of user assigned identity", + "type": "string", + "readOnly": true + } + } } }, "securityDefinitions": { @@ -3303,4 +3407,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/DeletedWebApps.json b/App_Data/SwaggerSpecs/Microsoft.Web/DeletedWebApps.json index a6601f4f..d1dafadc 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/DeletedWebApps.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/DeletedWebApps.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "DeletedWebApps API Client" }, "host": "management.azure.com", @@ -204,4 +204,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/Diagnostics.json b/App_Data/SwaggerSpecs/Microsoft.Web/Diagnostics.json index 0ed7171e..cb3e9e34 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/Diagnostics.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/Diagnostics.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Diagnostics API Client" }, "host": "management.azure.com", @@ -694,7 +694,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/DetectorDefinition" + "$ref": "#/definitions/DetectorDefinitionResource" } }, "default": { @@ -1416,7 +1416,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/DetectorDefinition" + "$ref": "#/definitions/DetectorDefinitionResource" } }, "default": { @@ -1606,6 +1606,7 @@ "properties": { "properties": { "description": "AnalysisDefinition resource specific properties", + "type": "object", "properties": { "description": { "description": "Description of the Analysis", @@ -1704,6 +1705,33 @@ "DetectorDefinition": { "description": "Class representing detector definition", "type": "object", + "properties": { + "displayName": { + "description": "Display name of the detector", + "type": "string", + "readOnly": true + }, + "description": { + "description": "Description of the detector", + "type": "string", + "readOnly": true + }, + "rank": { + "format": "double", + "description": "Detector Rank", + "type": "number", + "readOnly": true + }, + "isEnabled": { + "description": "Flag representing whether detector is enabled or not.", + "type": "boolean", + "readOnly": true + } + } + }, + "DetectorDefinitionResource": { + "description": "ARM resource for a detector definition", + "type": "object", "allOf": [ { "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" @@ -1711,30 +1739,9 @@ ], "properties": { "properties": { - "description": "DetectorDefinition resource specific properties", - "properties": { - "displayName": { - "description": "Display name of the detector", - "type": "string", - "readOnly": true - }, - "description": { - "description": "Description of the detector", - "type": "string", - "readOnly": true - }, - "rank": { - "format": "double", - "description": "Detector Rank", - "type": "number", - "readOnly": true - }, - "isEnabled": { - "description": "Flag representing whether detector is enabled or not.", - "type": "boolean", - "readOnly": true - } - }, + "$ref": "#/definitions/DetectorDefinition", + "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -1750,6 +1757,7 @@ "properties": { "properties": { "description": "DiagnosticAnalysis resource specific properties", + "type": "object", "properties": { "startTime": { "format": "date-time", @@ -1819,6 +1827,7 @@ "properties": { "properties": { "description": "DiagnosticCategory resource specific properties", + "type": "object", "properties": { "description": { "description": "Description of the diagnostic category", @@ -1862,7 +1871,7 @@ "description": "Collection of resources.", "type": "array", "items": { - "$ref": "#/definitions/DetectorDefinition" + "$ref": "#/definitions/DetectorDefinitionResource" } }, "nextLink": { @@ -1883,6 +1892,7 @@ "properties": { "properties": { "description": "DiagnosticDetectorResponse resource specific properties", + "type": "object", "properties": { "startTime": { "format": "date-time", @@ -2116,4 +2126,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/Global.json b/App_Data/SwaggerSpecs/Microsoft.Web/Global.json index 43bcf49a..7e433913 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/Global.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/Global.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Global API Client" }, "host": "management.azure.com", @@ -51,6 +51,11 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } + }, + "x-ms-examples": { + "Get Deleted Web App": { + "$ref": "./examples/GetDeletedWebApp.json" + } } } }, @@ -93,103 +98,10 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/operationResults": { - "get": { - "tags": [ - "Global" - ], - "summary": "Gets all the operations for a subscription in a given region", - "description": "Description for Gets all the operations for a subscription in a given region", - "operationId": "Global_GetSubscriptionOperations", - "parameters": [ - { - "name": "location", - "in": "path", - "description": "Location", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/ArmOperationResponse" - } - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Gets all the operations for a subscription in a given region": { - "$ref": "./examples/GetSubscriptionOperations.json" - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/locations/{location}/operationResults/{operationId}": { - "get": { - "tags": [ - "Global" - ], - "summary": "Gets an operation in a subscription and given region", - "description": "Description for Gets an operation in a subscription and given region", - "operationId": "Global_GetSubscriptionOperation", - "parameters": [ - { - "name": "location", - "in": "path", - "description": "Location", - "required": true, - "type": "string" - }, - { - "name": "operationId", - "in": "path", - "description": "OperationId", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ArmOperationResponse" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } }, "x-ms-examples": { - "Gets an operation in a subscription and given region": { - "$ref": "./examples/GetSubscriptionOperation.json" + "Get Deleted Web App Snapshots": { + "$ref": "./examples/GetDeletedWebAppSnapshots.json" } } } @@ -206,14 +118,14 @@ { "name": "location", "in": "path", - "description": "Location", + "description": "Location name", "required": true, "type": "string" }, { "name": "operationId", "in": "path", - "description": "OperationId", + "description": "Operation Id", "required": true, "type": "string" }, @@ -243,45 +155,7 @@ } } }, - "definitions": { - "ArmOperationResponse": { - "description": "ArmOperationResponse", - "required": [ - "status" - ], - "type": "object", - "properties": { - "id": { - "description": "Id", - "type": "string" - }, - "status": { - "type": "string" - }, - "error": { - "$ref": "#/definitions/ArmOperationResponseError", - "description": "Error" - } - } - }, - "ArmOperationResponseError": { - "description": "ArmOperationResponse", - "required": [ - "code", - "message" - ], - "type": "object", - "properties": { - "code": { - "description": "Code", - "type": "string" - }, - "message": { - "type": "string" - } - } - } - }, + "definitions": {}, "parameters": { "subscriptionIdParameter": { "name": "subscriptionId", @@ -316,4 +190,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/KubeEnvironments.json b/App_Data/SwaggerSpecs/Microsoft.Web/KubeEnvironments.json index 3d749953..5a1dd765 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/KubeEnvironments.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/KubeEnvironments.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "KubeEnvironments API Client" }, "host": "management.azure.com", @@ -47,6 +47,271 @@ }, "x-ms-pageable": { "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List kube environments by subscription": { + "$ref": "./examples/KubeEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments": { + "get": { + "tags": [ + "KubeEnvironments" + ], + "summary": "Get all the Kubernetes Environments in a resource group.", + "description": "Description for Get all the Kubernetes Environments in a resource group.", + "operationId": "KubeEnvironments_ListByResourceGroup", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubeEnvironmentCollection" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List kube environments by resource group": { + "$ref": "./examples/KubeEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/kubeEnvironments/{name}": { + "get": { + "tags": [ + "KubeEnvironments" + ], + "summary": "Get the properties of a Kubernetes Environment.", + "description": "Description for Get the properties of a Kubernetes Environment.", + "operationId": "KubeEnvironments_Get", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Kubernetes Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get kube environments by name": { + "$ref": "./examples/KubeEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "KubeEnvironments" + ], + "summary": "Creates or updates a Kubernetes Environment.", + "description": "Description for Creates or updates a Kubernetes Environment.", + "operationId": "KubeEnvironments_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Kubernetes Environment.", + "required": true, + "type": "string" + }, + { + "name": "kubeEnvironmentEnvelope", + "in": "body", + "description": "Configuration details of the Kubernetes Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create kube environments": { + "$ref": "./examples/KubeEnvironments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "KubeEnvironments" + ], + "summary": "Delete a Kubernetes Environment.", + "description": "Description for Delete a Kubernetes Environment.", + "operationId": "KubeEnvironments_Delete", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Kubernetes Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is in progress" + }, + "204": { + "description": "Kubernetes Environment does not exist" + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete kube environment by name": { + "$ref": "./examples/KubeEnvironments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "KubeEnvironments" + ], + "summary": "Creates or updates a Kubernetes Environment.", + "description": "Description for Creates or updates a Kubernetes Environment.", + "operationId": "KubeEnvironments_Update", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Kubernetes Environment.", + "required": true, + "type": "string" + }, + { + "name": "kubeEnvironmentEnvelope", + "in": "body", + "description": "Configuration details of the Kubernetes Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/KubeEnvironmentPatchResource" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/KubeEnvironment" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Update kube environments": { + "$ref": "./examples/KubeEnvironments_Update.json" + } } } } @@ -122,18 +387,6 @@ } } }, - "ExtendedLocation": { - "type": "object", - "properties": { - "customLocation": { - "type": "string", - "x-ms-mutability": [ - "create", - "read" - ] - } - } - }, "FrontEndConfiguration": { "type": "object", "properties": { @@ -161,14 +414,8 @@ "properties": { "properties": { "description": "KubeEnvironment resource specific properties", + "type": "object", "properties": { - "extendedLocation": { - "$ref": "#/definitions/ExtendedLocation", - "x-ms-mutability": [ - "create", - "read" - ] - }, "provisioningState": { "description": "Provisioning state of the Kubernetes Environment.", "enum": [ @@ -233,6 +480,9 @@ } }, "x-ms-client-flatten": true + }, + "extendedLocation": { + "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" } } }, @@ -257,6 +507,86 @@ } } }, + "KubeEnvironmentPatchResource": { + "description": "ARM resource for a KubeEnvironment when patching", + "type": "object", + "allOf": [ + { + "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" + } + ], + "properties": { + "properties": { + "description": "KubeEnvironmentPatchResource resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Kubernetes Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "KubeEnvironmentProvisioningState", + "modelAsString": false + } + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "internalLoadBalancerEnabled": { + "description": "Only visible within Vnet/Subnet", + "type": "boolean", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the KubeEnvironment", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "arcConfiguration": { + "$ref": "#/definitions/ArcConfiguration", + "description": "Cluster configuration which determines the ARC cluster\ncomponents types. Eg: Choosing between BuildService kind,\nFrontEnd Service ArtifactsStorageType etc." + }, + "appLogsConfiguration": { + "$ref": "#/definitions/AppLogsConfiguration", + "description": "Cluster configuration which enables the log daemon to export\napp logs to a destination. Currently only \"log-analytics\" is\nsupported" + }, + "aksResourceID": { + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, "LogAnalyticsConfiguration": { "type": "object", "properties": { @@ -282,6 +612,17 @@ "required": true, "type": "string" }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "description": "Name of the resource group to which the resource belongs.", + "required": true, + "type": "string", + "maxLength": 90, + "minLength": 1, + "pattern": "^[-\\w\\._\\(\\)]+[^\\.]$", + "x-ms-parameter-location": "method" + }, "apiVersionParameter": { "name": "api-version", "in": "query", @@ -308,4 +649,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/Provider.json b/App_Data/SwaggerSpecs/Microsoft.Web/Provider.json index 845dfa4b..d3721b5a 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/Provider.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/Provider.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Provider API Client" }, "host": "management.azure.com", @@ -64,12 +64,14 @@ "tags": [ "Provider" ], - "description": "Description for ", + "summary": "Get available Function app frameworks and their versions", + "description": "Description for Get available Function app frameworks and their versions", "operationId": "Provider_GetFunctionAppStacks", "parameters": [ { "name": "stackOsType", "in": "query", + "description": "Stack OS Type", "type": "string", "enum": [ "Windows", @@ -95,6 +97,11 @@ } } }, + "x-ms-examples": { + "Get Function App Stacks": { + "$ref": "./examples/GetFunctionAppStacks.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -105,18 +112,21 @@ "tags": [ "Provider" ], - "description": "Description for ", + "summary": "Get available Function app frameworks and their versions for location", + "description": "Description for Get available Function app frameworks and their versions for location", "operationId": "Provider_GetFunctionAppStacksForLocation", "parameters": [ { "name": "location", "in": "path", + "description": "Function App stack location.", "required": true, "type": "string" }, { "name": "stackOsType", "in": "query", + "description": "Stack OS Type", "type": "string", "enum": [ "Windows", @@ -142,6 +152,11 @@ } } }, + "x-ms-examples": { + "Get Locations Function App Stacks": { + "$ref": "./examples/GetFunctionAppStacksForLocation.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -152,18 +167,21 @@ "tags": [ "Provider" ], - "description": "Description for ", + "summary": "Get available Web app frameworks and their versions for location", + "description": "Description for Get available Web app frameworks and their versions for location", "operationId": "Provider_GetWebAppStacksForLocation", "parameters": [ { "name": "location", "in": "path", + "description": "Web App stack location.", "required": true, "type": "string" }, { "name": "stackOsType", "in": "query", + "description": "Stack OS Type", "type": "string", "enum": [ "Windows", @@ -189,6 +207,11 @@ } } }, + "x-ms-examples": { + "Get Locations Web App Stacks": { + "$ref": "./examples/GetWebAppStacksForLocation.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -231,60 +254,19 @@ } } }, - "/providers/Microsoft.Web/runtimeStacks": { - "get": { - "tags": [ - "Provider" - ], - "description": "Description for ", - "operationId": "Provider_GetRuntimeStacks", - "parameters": [ - { - "name": "osTypeSelected", - "in": "query", - "type": "string", - "enum": [ - "Windows", - "Linux", - "WindowsFunctions", - "LinuxFunctions", - "All" - ] - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ApplicationStackCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/providers/Microsoft.Web/webAppStacks": { "get": { "tags": [ "Provider" ], - "description": "Description for ", + "summary": "Get available Web app frameworks and their versions", + "description": "Description for Get available Web app frameworks and their versions", "operationId": "Provider_GetWebAppStacks", "parameters": [ { "name": "stackOsType", "in": "query", + "description": "Stack OS Type", "type": "string", "enum": [ "Windows", @@ -310,6 +292,11 @@ } } }, + "x-ms-examples": { + "Get Web App Stacks": { + "$ref": "./examples/GetWebAppStacks.json" + } + }, "x-ms-pageable": { "nextLinkName": "nextLink" } @@ -370,25 +357,13 @@ "properties": { "isSupported": { "description": "true if remote Application Insights is supported for the stack; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isDefaultOff": { "description": "true if Application Insights is disabled by default for the stack; otherwise, false.", - "type": "boolean" - } - } - }, - "AppSettingsDictionary": { - "description": "App settings dictionary.", - "type": "object", - "properties": { - "functionS_WORKER_RUNTIME": { - "description": "FUNCTIONS_WORKER_RUNTIME application setting", - "type": "string" - }, - "websitE_NODE_DEFAULT_VERSION": { - "description": "WEBSITE_NODE_DEFAULT_VERSION application setting", - "type": "string" + "type": "boolean", + "readOnly": true } } }, @@ -464,6 +439,7 @@ "properties": { "$ref": "#/definitions/ApplicationStack", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -474,18 +450,21 @@ "properties": { "displayText": { "description": "Function App stack major version (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Function App stack major version name.", - "type": "string" + "type": "string", + "readOnly": true }, "minorVersions": { "description": "Minor versions associated with the major version.", "type": "array", "items": { "$ref": "#/definitions/FunctionAppMinorVersion" - } + }, + "readOnly": true } } }, @@ -495,15 +474,18 @@ "properties": { "displayText": { "description": "Function App stack (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Function App stack name.", - "type": "string" + "type": "string", + "readOnly": true }, "stackSettings": { "$ref": "#/definitions/FunctionAppRuntimes", - "description": "Settings associated with the minor version." + "description": "Settings associated with the minor version.", + "readOnly": true } } }, @@ -513,58 +495,80 @@ "properties": { "runtimeVersion": { "description": "Function App stack minor version (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "remoteDebuggingSupported": { "description": "true if remote debugging is supported for the stack; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "appInsightsSettings": { "$ref": "#/definitions/AppInsightsWebAppStackSettings", - "description": "Application Insights settings associated with the minor version." + "description": "Application Insights settings associated with the minor version.", + "readOnly": true }, "gitHubActionSettings": { "$ref": "#/definitions/GitHubActionWebAppStackSettings", - "description": "GitHub Actions settings associated with the minor version." + "description": "GitHub Actions settings associated with the minor version.", + "readOnly": true }, "appSettingsDictionary": { - "$ref": "#/definitions/AppSettingsDictionary", - "description": "Application settings associated with the minor version." + "description": "Application settings associated with the minor version.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true }, "siteConfigPropertiesDictionary": { "$ref": "#/definitions/SiteConfigPropertiesDictionary", - "description": "Configuration settings associated with the minor version." + "description": "Configuration settings associated with the minor version.", + "readOnly": true }, "supportedFunctionsExtensionVersions": { "description": "List of supported Functions extension versions.", "type": "array", "items": { "type": "string" - } + }, + "readOnly": true }, "isPreview": { "description": "true if the stack is in preview; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isDeprecated": { "description": "true if the stack is deprecated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isHidden": { "description": "true if the stack should be hidden; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "endOfLifeDate": { + "format": "date-time", "description": "End-of-life date for the minor version.", - "type": "string" + "type": "string", + "readOnly": true }, "isAutoUpdate": { "description": "true if the stack version is auto-updated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isEarlyAccess": { "description": "true if the minor version is early-access; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true + }, + "isDefault": { + "description": "true if the minor version the default; otherwise, false.", + "type": "boolean", + "readOnly": true } } }, @@ -574,11 +578,13 @@ "properties": { "linuxRuntimeSettings": { "$ref": "#/definitions/FunctionAppRuntimeSettings", - "description": "Linux-specific settings associated with the minor version." + "description": "Linux-specific settings associated with the minor version.", + "readOnly": true }, "windowsRuntimeSettings": { "$ref": "#/definitions/FunctionAppRuntimeSettings", - "description": "Windows-specific settings associated with the minor version." + "description": "Windows-specific settings associated with the minor version.", + "readOnly": true } } }, @@ -591,34 +597,43 @@ } ], "properties": { + "location": { + "description": "Function App stack location.", + "type": "string", + "readOnly": true + }, "properties": { "description": "FunctionAppStack resource specific properties", + "type": "object", "properties": { "displayText": { "description": "Function App stack (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Function App stack name.", - "type": "string" + "type": "string", + "readOnly": true }, "majorVersions": { "description": "List of major versions available.", "type": "array", "items": { "$ref": "#/definitions/FunctionAppMajorVersion" - } + }, + "readOnly": true }, "preferredOs": { "description": "Function App stack preferred OS.", "enum": [ "Windows", - "Linux", - "All" + "Linux" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "StackOsTypes", + "name": "StackPreferredOs", "modelAsString": false } } @@ -654,11 +669,13 @@ "properties": { "isSupported": { "description": "true if GitHub Actions is supported for the stack; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "supportedVersion": { "description": "The minor version that is supported for GitHub Actions.", - "type": "string" + "type": "string", + "readOnly": true } } }, @@ -668,35 +685,44 @@ "properties": { "java11Runtime": { "description": "Java 11 version (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "java8Runtime": { "description": "Java 8 version (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "isPreview": { "description": "true if the stack is in preview; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isDeprecated": { "description": "true if the stack is deprecated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isHidden": { "description": "true if the stack should be hidden; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "endOfLifeDate": { + "format": "date-time", "description": "End-of-life date for the minor version.", - "type": "string" + "type": "string", + "readOnly": true }, "isAutoUpdate": { "description": "true if the stack version is auto-updated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isEarlyAccess": { "description": "true if the minor version is early-access; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true } } }, @@ -706,19 +732,23 @@ "properties": { "use32BitWorkerProcess": { "description": "true if use32BitWorkerProcess should be set to true for the stack; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "linuxFxVersion": { "description": "LinuxFxVersion configuration setting.", - "type": "string" + "type": "string", + "readOnly": true }, "javaVersion": { "description": "JavaVersion configuration setting.", - "type": "string" + "type": "string", + "readOnly": true }, "powerShellVersion": { "description": "PowerShellVersion configuration setting.", - "type": "string" + "type": "string", + "readOnly": true } } }, @@ -749,6 +779,18 @@ "description": "true if this supports Application Insights; otherwise, false.", "type": "boolean" }, + "isPreview": { + "description": "true if this stack is in Preview, otherwise false.", + "type": "boolean" + }, + "isDeprecated": { + "description": "true if this stack has been deprecated, otherwise false.", + "type": "boolean" + }, + "isHidden": { + "description": "true if this stack should be hidden for new customers on portal, otherwise false.", + "type": "boolean" + }, "appSettingsDictionary": { "description": "\n \n\n Example: All the function apps need AppSetting: \"FUNCTIONS_WORKER_RUNTIME\" to be set stack name", "type": "object", @@ -762,18 +804,6 @@ "additionalProperties": { "type": "object" } - }, - "isPreview": { - "description": "true if this stack is in Preview, otherwise false.", - "type": "boolean" - }, - "isDeprecated": { - "description": "true if this stack has been deprecated, otherwise false.", - "type": "boolean" - }, - "isHidden": { - "description": "true if this stack should be hidden for new customers on portal, otherwise false.", - "type": "boolean" } } }, @@ -805,18 +835,21 @@ "properties": { "displayText": { "description": "Web App stack major version (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Web App stack major version name.", - "type": "string" + "type": "string", + "readOnly": true }, "minorVersions": { "description": "Minor versions associated with the major version.", "type": "array", "items": { "$ref": "#/definitions/WebAppMinorVersion" - } + }, + "readOnly": true } } }, @@ -826,15 +859,18 @@ "properties": { "displayText": { "description": "Web App stack minor version (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Web App stack major version name.", - "type": "string" + "type": "string", + "readOnly": true }, "stackSettings": { "$ref": "#/definitions/WebAppRuntimes", - "description": "Settings associated with the minor version." + "description": "Settings associated with the minor version.", + "readOnly": true } } }, @@ -844,43 +880,54 @@ "properties": { "runtimeVersion": { "description": "Web App stack minor version (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "remoteDebuggingSupported": { "description": "true if remote debugging is supported for the stack; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "appInsightsSettings": { "$ref": "#/definitions/AppInsightsWebAppStackSettings", - "description": "Application Insights settings associated with the minor version." + "description": "Application Insights settings associated with the minor version.", + "readOnly": true }, "gitHubActionSettings": { "$ref": "#/definitions/GitHubActionWebAppStackSettings", - "description": "GitHub Actions settings associated with the minor version." + "description": "GitHub Actions settings associated with the minor version.", + "readOnly": true }, "isPreview": { "description": "true if the stack is in preview; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isDeprecated": { "description": "true if the stack is deprecated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isHidden": { "description": "true if the stack should be hidden; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "endOfLifeDate": { + "format": "date-time", "description": "End-of-life date for the minor version.", - "type": "string" + "type": "string", + "readOnly": true }, "isAutoUpdate": { "description": "true if the stack version is auto-updated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isEarlyAccess": { "description": "true if the minor version is early-access; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true } } }, @@ -890,19 +937,23 @@ "properties": { "linuxRuntimeSettings": { "$ref": "#/definitions/WebAppRuntimeSettings", - "description": "Linux-specific settings associated with the minor version." + "description": "Linux-specific settings associated with the minor version.", + "readOnly": true }, "windowsRuntimeSettings": { "$ref": "#/definitions/WebAppRuntimeSettings", - "description": "Windows-specific settings associated with the minor version." + "description": "Windows-specific settings associated with the minor version.", + "readOnly": true }, "linuxContainerSettings": { "$ref": "#/definitions/LinuxJavaContainerSettings", - "description": "Linux-specific settings associated with the Java container minor version." + "description": "Linux-specific settings associated with the Java container minor version.", + "readOnly": true }, "windowsContainerSettings": { "$ref": "#/definitions/WindowsJavaContainerSettings", - "description": "Windows-specific settings associated with the Java container minor version." + "description": "Windows-specific settings associated with the Java container minor version.", + "readOnly": true } } }, @@ -915,34 +966,43 @@ } ], "properties": { + "location": { + "description": "Web App stack location.", + "type": "string", + "readOnly": true + }, "properties": { "description": "WebAppStack resource specific properties", + "type": "object", "properties": { "displayText": { "description": "Web App stack (display only).", - "type": "string" + "type": "string", + "readOnly": true }, "value": { "description": "Web App stack name.", - "type": "string" + "type": "string", + "readOnly": true }, "majorVersions": { "description": "List of major versions available.", "type": "array", "items": { "$ref": "#/definitions/WebAppMajorVersion" - } + }, + "readOnly": true }, "preferredOs": { "description": "Web App stack preferred OS.", "enum": [ "Windows", - "Linux", - "All" + "Linux" ], "type": "string", + "readOnly": true, "x-ms-enum": { - "name": "StackOsTypes", + "name": "StackPreferredOs", "modelAsString": false } } @@ -978,35 +1038,44 @@ "properties": { "javaContainer": { "description": "Java container (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "javaContainerVersion": { "description": "Java container version (runtime only).", - "type": "string" + "type": "string", + "readOnly": true }, "isPreview": { "description": "true if the stack is in preview; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isDeprecated": { "description": "true if the stack is deprecated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isHidden": { "description": "true if the stack should be hidden; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "endOfLifeDate": { + "format": "date-time", "description": "End-of-life date for the minor version.", - "type": "string" + "type": "string", + "readOnly": true }, "isAutoUpdate": { "description": "true if the stack version is auto-updated; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true }, "isEarlyAccess": { "description": "true if the minor version is early-access; otherwise, false.", - "type": "boolean" + "type": "boolean", + "readOnly": true } } } @@ -1045,4 +1114,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/Recommendations.json b/App_Data/SwaggerSpecs/Microsoft.Web/Recommendations.json index 3cf7d820..001bfa01 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/Recommendations.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/Recommendations.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "Recommendations API Client" }, "host": "management.azure.com", @@ -30,18 +30,18 @@ "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", "type": "boolean" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -153,18 +153,18 @@ "description": "Specify false to return all recommendations. The default is true, which returns only expired recommendations.", "type": "boolean" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -211,18 +211,18 @@ "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", "type": "boolean" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -447,119 +447,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{serverFarmName}/recommendations": { - "get": { - "tags": [ - "Recommendations" - ], - "summary": "Get all recommendations for an app service plan.", - "description": "Description for Get all recommendations for an app service plan.", - "operationId": "Recommendations_ListRecommendedRulesForServerFarm", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "serverFarmName", - "in": "path", - "description": "Name of the app service plan.", - "required": true, - "type": "string" - }, - { - "name": "featured", - "in": "query", - "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", - "type": "boolean" - }, - { - "name": "$filter", - "in": "query", - "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", - "type": "string", - "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecommendationCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/serverfarms/{serverFarmName}/recommendations/{name}": { - "get": { - "tags": [ - "Recommendations" - ], - "summary": "Gets the detailed properties of the recommendation object for the specified server farm.", - "description": "Description for Gets the detailed properties of the recommendation object for the specified server farm.", - "operationId": "Recommendations_GetRuleDetailsByAppServicePlan", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "appServicePlanName", - "in": "query", - "description": "App service plan name", - "required": true, - "type": "string" - }, - { - "name": "name", - "in": "path", - "description": "Recommendation rule name", - "required": true, - "type": "string" - }, - { - "name": "serverFarmName", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/RecommendationRule" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{siteName}/recommendationHistory": { "get": { "tags": [ @@ -585,18 +472,18 @@ "description": "Specify false to return all recommendations. The default is true, which returns only expired recommendations.", "type": "boolean" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification' and startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[PT1H|PT1M|P1D]", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -643,18 +530,18 @@ "description": "Specify true to return only the most critical recommendations. The default is false, which returns all recommendations.", "type": "boolean" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only channels specified in the filter. Filter is specified by using OData syntax. Example: $filter=channel eq 'Api' or channel eq 'Notification'", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -874,6 +761,7 @@ "properties": { "properties": { "description": "Recommendation resource specific properties", + "type": "object", "properties": { "creationTime": { "format": "date-time", @@ -1051,6 +939,7 @@ "properties": { "properties": { "description": "RecommendationRule resource specific properties", + "type": "object", "properties": { "recommendationName": { "description": "Unique name of the rule.", @@ -1182,4 +1071,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/ResourceHealthMetadata.json b/App_Data/SwaggerSpecs/Microsoft.Web/ResourceHealthMetadata.json index b25b7ec9..d00e1b77 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/ResourceHealthMetadata.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/ResourceHealthMetadata.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "ResourceHealthMetadata API Client" }, "host": "management.azure.com", @@ -319,6 +319,7 @@ "properties": { "properties": { "description": "ResourceHealthMetadata resource specific properties", + "type": "object", "properties": { "category": { "description": "The category that the resource matches in the RHC Policy File", @@ -400,4 +401,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/ResourceProvider.json b/App_Data/SwaggerSpecs/Microsoft.Web/ResourceProvider.json index 5fc0f726..04b39f38 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/ResourceProvider.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/ResourceProvider.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": " API Client" }, "host": "management.azure.com", @@ -47,6 +47,11 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } + }, + "x-ms-examples": { + "Generate Github Access Token For AppService CLI": { + "$ref": "./examples/GenerateGithubAccessTokenForAppserviceCLIAsync.json" + } } } }, @@ -294,112 +299,6 @@ } } }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/customhostnames": { - "get": { - "summary": "List all hostnames in a subscription", - "description": "Description for List all hostnames in a subscription", - "operationId": "ListCustomHostNames", - "parameters": [ - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/IdentifierCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/customhostnames/{hostName}": { - "get": { - "summary": "Get custom hostname", - "description": "Description for Get custom hostname", - "operationId": "GetCustomHostName", - "parameters": [ - { - "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": { - "type": "string" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/providers/Microsoft.Web/customhostnames/{hostname}/sites": { - "get": { - "summary": "Get custom hostname", - "description": "Description for Get custom hostname", - "operationId": "ListCustomHostNameSites", - "parameters": [ - { - "name": "hostname", - "in": "path", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/IdentifierCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/subscriptions/{subscriptionId}/providers/Microsoft.Web/deploymentLocations": { "get": { "summary": "Gets list of available geo regions plus ministamps", @@ -823,6 +722,7 @@ "properties": { "properties": { "description": "BillingMeter resource specific properties", + "type": "object", "properties": { "meterId": { "description": "Meter GUID onboarded in Commerce", @@ -935,6 +835,7 @@ "properties": { "properties": { "description": "GeoRegion resource specific properties", + "type": "object", "properties": { "description": { "description": "Region description.", @@ -998,7 +899,7 @@ "type": "string" }, "capacity": { - "$ref": "#/definitions/SkuCapacity", + "$ref": "./CommonDefinitions.json#/definitions/SkuCapacity", "description": "Min, max, and default scale values of the SKU." }, "locations": { @@ -1042,6 +943,7 @@ "properties": { "properties": { "description": "PremierAddOnOffer resource specific properties", + "type": "object", "properties": { "sku": { "description": "Premier add on SKU.", @@ -1184,36 +1086,6 @@ } } }, - "SkuCapacity": { - "description": "Description of the App Service plan scale options.", - "type": "object", - "properties": { - "minimum": { - "format": "int32", - "description": "Minimum number of workers for this App Service plan SKU.", - "type": "integer" - }, - "maximum": { - "format": "int32", - "description": "Maximum number of workers for this App Service plan SKU.", - "type": "integer" - }, - "elasticMaximum": { - "format": "int32", - "description": "Maximum number of Elastic workers for this App Service plan SKU.", - "type": "integer" - }, - "default": { - "format": "int32", - "description": "Default number of workers for this App Service plan SKU.", - "type": "integer" - }, - "scaleType": { - "description": "Available scale configurations for an App Service plan.", - "type": "string" - } - } - }, "SkuInfos": { "description": "Collection of SKU information.", "type": "object", @@ -1242,6 +1114,7 @@ "properties": { "properties": { "description": "SourceControl resource specific properties", + "type": "object", "properties": { "token": { "description": "OAuth access token.", @@ -1316,10 +1189,6 @@ "description": "Name of App Service Environment where app or App Service plan should be created.", "type": "string" }, - "kubeEnvironment": { - "description": "Name of Kube Environment where app or app service plan should be created.", - "type": "string" - }, "isXenon": { "description": "true if App Service plan is running as a windows container", "type": "boolean" @@ -1431,6 +1300,7 @@ "properties": { "properties": { "description": "VnetParameters resource specific properties", + "type": "object", "properties": { "vnetResourceGroup": { "description": "The Resource Group of the VNET to be validated", @@ -1464,6 +1334,7 @@ "properties": { "properties": { "description": "VnetValidationFailureDetails resource specific properties", + "type": "object", "properties": { "message": { "description": "Text describing the validation outcome.", @@ -1503,6 +1374,7 @@ "properties": { "properties": { "description": "VnetValidationTestFailure resource specific properties", + "type": "object", "properties": { "testName": { "description": "The name of the test that failed.", @@ -1563,4 +1435,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/StaticSites.json b/App_Data/SwaggerSpecs/Microsoft.Web/StaticSites.json index 42682bc2..71fe1096 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/StaticSites.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/StaticSites.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "StaticSites API Client" }, "host": "management.azure.com", @@ -255,7 +255,8 @@ "Create or update a static site": { "$ref": "./examples/CreateOrUpdateStaticSite.json" } - } + }, + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -300,7 +301,8 @@ "Delete a static site": { "$ref": "./examples/DeleteStaticSite.json" } - } + }, + "x-ms-long-running-operation": true }, "patch": { "tags": [ @@ -685,6 +687,9 @@ "200": { "description": "OK." }, + "204": { + "description": "OK." + }, "202": { "description": "Asynchronous operation in progress." }, @@ -699,7 +704,8 @@ "Delete a static site build": { "$ref": "./examples/DeleteStaticSiteBuild.json" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/builds/{environmentName}/config/appsettings": { @@ -751,12 +757,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -820,12 +820,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -937,12 +931,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -997,12 +985,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -1212,7 +1194,8 @@ "Register a user provided function app with a static site build": { "$ref": "./examples/RegisterUserProvidedFunctionAppWithStaticSiteBuild.json" } - } + }, + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -1320,6 +1303,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Asynchronous operation in progress." + }, "default": { "description": "App Service error response.", "schema": { @@ -1331,7 +1317,8 @@ "Deploy a site from a zipped package to a particular static site build": { "$ref": "./examples/StaticSiteBuildZipDeploy.json" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/config/appsettings": { @@ -1376,12 +1363,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -1438,12 +1419,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -1644,6 +1619,7 @@ { "name": "staticSiteCustomDomainRequestPropertiesEnvelope", "in": "body", + "description": "A JSON representation of the static site custom domain request properties. See example.", "required": true, "schema": { "$ref": "#/definitions/StaticSiteCustomDomainRequestPropertiesARMResource" @@ -1680,7 +1656,8 @@ "Create or update a custom domain for a static site": { "$ref": "./examples/CreateOrUpdateStaticSiteCustomDomain.json" } - } + }, + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -1732,7 +1709,8 @@ "Delete a custom domain for a static site": { "$ref": "./examples/DeleteStaticSiteCustomDomain.json" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/customDomains/{domainName}/validate": { @@ -1764,6 +1742,7 @@ { "name": "staticSiteCustomDomainRequestPropertiesEnvelope", "in": "body", + "description": "A JSON representation of the static site custom domain request properties. See example.", "required": true, "schema": { "$ref": "#/definitions/StaticSiteCustomDomainRequestPropertiesARMResource" @@ -1794,7 +1773,8 @@ "Validate a custom domain for a static site": { "$ref": "./examples/ValidateStaticSiteCustomDomain.json" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/detach": { @@ -1841,7 +1821,8 @@ "Detach a static site": { "$ref": "./examples/DetachStaticSite.json" } - } + }, + "x-ms-long-running-operation": true } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/staticSites/{name}/functions": { @@ -1927,12 +1908,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -2027,12 +2002,6 @@ "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" } }, - "202": { - "description": "Asynchronous operation in progress.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/StringDictionary" - } - }, "default": { "description": "App Service error response.", "schema": { @@ -2604,7 +2573,8 @@ "Register a user provided function app with a static site": { "$ref": "./examples/RegisterUserProvidedFunctionAppWithStaticSite.json" } - } + }, + "x-ms-long-running-operation": true }, "delete": { "tags": [ @@ -2698,6 +2668,9 @@ "200": { "description": "OK." }, + "202": { + "description": "Asynchronous operation in progress." + }, "default": { "description": "App Service error response.", "schema": { @@ -2709,11 +2682,38 @@ "Deploy a site from a zipped package": { "$ref": "./examples/StaticSiteZipDeploy.json" } - } + }, + "x-ms-long-running-operation": true } } }, "definitions": { + "ArmPlan": { + "description": "The plan object in Azure Resource Manager, represents a marketplace plan.", + "type": "object", + "properties": { + "name": { + "description": "The name.", + "type": "string" + }, + "publisher": { + "description": "The publisher.", + "type": "string" + }, + "product": { + "description": "The product.", + "type": "string" + }, + "promotionCode": { + "description": "The promotion code.", + "type": "string" + }, + "version": { + "description": "Version of product.", + "type": "string" + } + } + }, "RemotePrivateEndpointConnection": { "description": "A remote private endpoint connection", "type": "object", @@ -2725,6 +2725,7 @@ "properties": { "properties": { "description": "RemotePrivateEndpointConnection resource specific properties", + "type": "object", "properties": { "provisioningState": { "type": "string", @@ -2749,33 +2750,63 @@ } } }, - "RemotePrivateEndpointConnectionWrapper": { - "description": "Wrapper for a remote private endpoint connection", - "required": [ - "properties" - ], + "ResponseMessageEnvelope[RemotePrivateEndpointConnection]": { + "description": "Message envelope that contains the common Azure resource manager properties and the resource provider specific content.", "type": "object", "properties": { "id": { - "type": "string", - "readOnly": true + "description": "Resource Id. Typically ID is populated only for responses to GET requests. Caller is responsible for passing in this\nvalue for GET requests only.\nFor example: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupId}/providers/Microsoft.Web/sites/{sitename}", + "type": "string" }, "name": { - "description": "Name of a remote private endpoint connection", - "type": "string", - "readOnly": true + "description": "Name of resource.", + "type": "string" }, "type": { - "type": "string", - "readOnly": true + "description": "Type of resource e.g \"Microsoft.Web/sites\".", + "type": "string" }, "location": { "description": "Geographical region resource belongs to e.g. SouthCentralUS, SouthEastAsia.", - "type": "string", - "readOnly": true + "type": "string" + }, + "tags": { + "description": "Tags associated with resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "plan": { + "$ref": "#/definitions/ArmPlan", + "description": "Azure resource manager plan." }, "properties": { - "$ref": "#/definitions/RemotePrivateEndpointConnection" + "$ref": "#/definitions/RemotePrivateEndpointConnection", + "description": "Resource specific properties." + }, + "sku": { + "$ref": "./CommonDefinitions.json#/definitions/SkuDescription", + "description": "SKU description of the resource." + }, + "status": { + "description": "Azure-AsyncOperation Status info.", + "type": "string" + }, + "error": { + "$ref": "./CommonDefinitions.json#/definitions/ErrorEntity", + "description": "Azure-AsyncOperation Error info." + }, + "identity": { + "$ref": "./CommonDefinitions.json#/definitions/ManagedServiceIdentity", + "description": "MSI resource" + }, + "zones": { + "description": "Logical Availability Zones the service is hosted in", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -2796,11 +2827,6 @@ "description": "The target branch in the repository.", "type": "string" }, - "provider": { - "description": "The provider that submitted the last deployment to the primary environment of the static site.", - "type": "string", - "readOnly": true - }, "customDomains": { "description": "The custom domains associated with this static site.", "type": "array", @@ -2817,18 +2843,34 @@ "$ref": "#/definitions/StaticSiteBuildProperties", "description": "Build properties to configure on the repository." }, - "templateProperties": { - "$ref": "#/definitions/StaticSiteTemplateOptions", - "description": "Template options for generating a new repository." - }, "privateEndpointConnections": { "description": "Private endpoint connections", "type": "array", "items": { - "$ref": "#/definitions/RemotePrivateEndpointConnectionWrapper" + "$ref": "#/definitions/ResponseMessageEnvelope[RemotePrivateEndpointConnection]" }, "readOnly": true }, + "stagingEnvironmentPolicy": { + "description": "State indicating whether staging environments are allowed or not allowed for a static web app.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "StagingEnvironmentPolicy", + "modelAsString": false + } + }, + "allowConfigFileUpdates": { + "description": "false if config file is locked for this static web app; otherwise, true.", + "type": "boolean" + }, + "templateProperties": { + "$ref": "#/definitions/StaticSiteTemplateOptions", + "description": "Template options for generating a new repository." + }, "contentDistributionEndpoint": { "description": "The content distribution endpoint for the static site.", "type": "string", @@ -2836,7 +2878,8 @@ }, "keyVaultReferenceIdentity": { "description": "Identity to use for Key Vault Reference authentication.", - "type": "string" + "type": "string", + "readOnly": true }, "userProvidedFunctionApps": { "description": "User provided function apps registered with the static site", @@ -2846,21 +2889,10 @@ }, "readOnly": true }, - "stagingEnvironmentPolicy": { - "description": "State indicating whether staging environments are allowed or not allowed for a static web app.", - "enum": [ - "Enabled", - "Disabled" - ], + "provider": { + "description": "The provider that submitted the last deployment to the primary environment of the static site.", "type": "string", - "x-ms-enum": { - "name": "StagingEnvironmentPolicy", - "modelAsString": true - } - }, - "allowConfigFileUpdates": { - "description": "false if config file is locked for this static web app; otherwise, true.", - "type": "boolean" + "readOnly": true } } }, @@ -2876,6 +2908,7 @@ "properties": { "$ref": "#/definitions/StaticSite", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true }, "sku": { @@ -2897,6 +2930,7 @@ "properties": { "properties": { "description": "StaticSiteBuildARMResource resource specific properties", + "type": "object", "properties": { "buildId": { "description": "An identifier for the static site build.", @@ -3052,6 +3086,7 @@ "properties": { "properties": { "description": "StaticSiteCustomDomainOverviewARMResource resource specific properties", + "type": "object", "properties": { "domainName": { "description": "The domain name for the static site custom domain.", @@ -3127,6 +3162,7 @@ "properties": { "properties": { "description": "StaticSiteCustomDomainRequestPropertiesARMResource resource specific properties", + "type": "object", "properties": { "validationMethod": { "description": "Validation method for adding a custom domain", @@ -3149,6 +3185,7 @@ "properties": { "properties": { "description": "StaticSiteFunctionOverviewARMResource resource specific properties", + "type": "object", "properties": { "functionName": { "description": "The name for the function", @@ -3206,6 +3243,7 @@ "properties": { "$ref": "#/definitions/StaticSite", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -3221,6 +3259,7 @@ "properties": { "properties": { "description": "StaticSiteResetPropertiesARMResource resource specific properties", + "type": "object", "properties": { "repositoryToken": { "description": "The token which proves admin privileges to the repository.", @@ -3272,6 +3311,7 @@ "properties": { "properties": { "description": "StaticSiteUserARMResource resource specific properties", + "type": "object", "properties": { "provider": { "description": "The identity provider for the static site user.", @@ -3329,6 +3369,7 @@ "properties": { "properties": { "description": "StaticSiteUserInvitationRequestResource resource specific properties", + "type": "object", "properties": { "domain": { "description": "The domain name for the static site custom domain.", @@ -3367,6 +3408,7 @@ "properties": { "properties": { "description": "StaticSiteUserInvitationResponseResource resource specific properties", + "type": "object", "properties": { "expiresOn": { "format": "date-time", @@ -3395,6 +3437,7 @@ "properties": { "properties": { "description": "StaticSiteUserProvidedFunctionApp resource specific properties", + "type": "object", "properties": { "functionAppResourceId": { "description": "The resource id of the function app registered with the static site", @@ -3426,6 +3469,7 @@ "properties": { "properties": { "description": "StaticSiteUserProvidedFunctionAppARMResource resource specific properties", + "type": "object", "properties": { "functionAppResourceId": { "description": "The resource id of the function app registered with the static site", @@ -3505,6 +3549,7 @@ "properties": { "$ref": "#/definitions/StaticSiteZipDeployment", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -3520,6 +3565,7 @@ "properties": { "properties": { "description": "StaticSitesWorkflowPreview resource specific properties", + "type": "object", "properties": { "path": { "description": "The path for the workflow file to be generated", @@ -3547,6 +3593,7 @@ "properties": { "properties": { "description": "StaticSitesWorkflowPreviewRequest resource specific properties", + "type": "object", "properties": { "repositoryUrl": { "description": "URL for the repository of the static site.", @@ -3629,4 +3676,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/App_Data/SwaggerSpecs/Microsoft.Web/WebApps.json b/App_Data/SwaggerSpecs/Microsoft.Web/WebApps.json index d9863fe9..b2fce5ef 100644 --- a/App_Data/SwaggerSpecs/Microsoft.Web/WebApps.json +++ b/App_Data/SwaggerSpecs/Microsoft.Web/WebApps.json @@ -1,7 +1,7 @@ { "swagger": "2.0", "info": { - "version": "2020-12-01", + "version": "2021-02-01", "title": "WebApps API Client" }, "host": "management.azure.com", @@ -128,7 +128,8 @@ } }, "404": { - "description": "Not found." + "description": "Not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -239,7 +240,8 @@ "description": "Successfully deleted web app." }, "404": { - "description": "Web app not found." + "description": "Web app not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -582,7 +584,8 @@ "description": "Successfully deleted web app backup item." }, "404": { - "description": "Web app backup item does not exist." + "description": "Web app backup item does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -717,7 +720,7 @@ ], "summary": "Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", "description": "Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", - "operationId": "WebApps_GetBasicPublishingCredentialsPolicies", + "operationId": "WebApps_ListBasicPublishingCredentialsPolicies", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -740,7 +743,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CsmPublishingCredentialsPoliciesCollection" + "$ref": "#/definitions/PublishingCredentialsPoliciesCollection" } }, "default": { @@ -754,6 +757,9 @@ "List Publishing Credentials Policies": { "$ref": "./examples/ListPublishingCredentialsPolicies.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -1188,48 +1194,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettings/validateUpgradePath": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Updates site's Authentication / Authorization settings for apps via the V2 format", - "description": "Description for Updates site's Authentication / Authorization settings for apps via the V2 format", - "operationId": "WebApps_ValidateConfigBeforeUpgradeToSiteAuthSettingsV2", - "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/SiteAuthSettings" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/authsettingsV2": { "put": { "tags": [ @@ -1596,56 +1560,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings/refresh": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Refreshes a web app's Key Vault References to the latest non-specified version and restarts the web app if needed", - "description": "Description for Refreshes a web app's Key Vault References to the latest non-specified version and restarts the web app if needed", - "operationId": "WebApps_RefreshKeyVaultReferencesForSite", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "forceRestart", - "in": "query", - "type": "boolean" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ApiKVReferenceCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/config/configreferences/appsettings/{appSettingKey}": { "get": { "tags": [ @@ -2673,97 +2587,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containers": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get a hardcoded list of containers {prod,scm} in ARM format", - "description": "Description for Get a hardcoded list of containers {prod,scm} in ARM format", - "operationId": "WebApps_ListContainers", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProcessInfoCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/containers/{containerName}/restart": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_RestartContainer", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "This can be either scm or prod", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/continuouswebjobs": { "get": { "tags": [ @@ -2850,7 +2673,8 @@ } }, "404": { - "description": "Continuous web job does not exist." + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -2946,7 +2770,8 @@ "description": "Found continuous web job." }, "404": { - "description": "Continuous web job does not exist." + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -2995,7 +2820,8 @@ "description": "Found continuous web job." }, "404": { - "description": "Continuous web job does not exist." + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -3639,7 +3465,8 @@ } }, "409": { - "description": "Another deployment is in progress." + "description": "Another deployment is in progress.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -3685,7 +3512,8 @@ } }, "404": { - "description": "MSDeploy log not found." + "description": "MSDeploy log not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -3730,7 +3558,8 @@ } }, "404": { - "description": "Function with an ID of {functionName} is not running." + "description": "Function with an ID of {functionName} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -3827,7 +3656,8 @@ } }, "404": { - "description": "Function with a name of {functionName} does not exist." + "description": "Function with a name of {functionName} does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -3931,7 +3761,8 @@ "description": "Function deleted." }, "404": { - "description": "Function does not exist." + "description": "Function does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -4053,7 +3884,8 @@ ], "responses": { "404": { - "description": "Key was not found." + "description": "Key was not found.", + "x-ms-error-response": true }, "204": { "description": "Key was deleted." @@ -4396,7 +4228,8 @@ ], "responses": { "404": { - "description": "Key was not found." + "description": "Key was not found.", + "x-ms-error-response": true }, "204": { "description": "Key was deleted." @@ -4769,7 +4602,8 @@ "description": "Successfully deleted hybrid connection." }, "404": { - "description": "Hybrid connection does not exist." + "description": "Hybrid connection does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5068,7 +4902,8 @@ "description": "Successfully deleted relay service connection." }, "404": { - "description": "Relay service connection does not exist." + "description": "Relay service connection does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5233,14 +5068,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/containers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy": { "get": { "tags": [ "WebApps" ], - "summary": "Get a hardcoded list of containers {prod,scm} in ARM format", - "description": "Description for Get a hardcoded list of containers {prod,scm} in ARM format", - "operationId": "WebApps_ListContainers", + "summary": "Get the status of the last MSDeploy operation.", + "description": "Description for Get the status of the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMsDeployStatus", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -5248,14 +5083,14 @@ { "name": "name", "in": "path", - "description": "Site name.", + "description": "Name of web app.", "required": true, "type": "string" }, { "name": "instanceId", "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "description": "ID of web app instance.", "required": true, "type": "string" }, @@ -5270,7 +5105,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProcessInfoCollection" + "$ref": "#/definitions/MSDeployStatus" } }, "default": { @@ -5279,20 +5114,15 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/containers/{containerName}/restart": { - "post": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_RestartInstanceContainer", + "summary": "Invoke the MSDeploy web app extension.", + "description": "Description for Invoke the MSDeploy web app extension.", + "operationId": "WebApps_CreateInstanceMSDeployOperation", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -5300,23 +5130,25 @@ { "name": "name", "in": "path", - "description": "Site name.", + "description": "Name of web app.", "required": true, "type": "string" }, { - "name": "containerName", + "name": "instanceId", "in": "path", - "description": "This can be either scm or prod", + "description": "ID of web app instance.", "required": true, "type": "string" }, { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "name": "MSDeploy", + "in": "body", + "description": "Details of MSDeploy operation", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/MSDeploy" + } }, { "$ref": "#/parameters/subscriptionIdParameter" @@ -5326,8 +5158,15 @@ } ], "responses": { - "204": { - "description": "No Content" + "201": { + "description": "Deployment is scheduled.", + "schema": { + "$ref": "#/definitions/MSDeployStatus" + } + }, + "409": { + "description": "Another deployment is in progress.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5335,17 +5174,18 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - } + }, + "x-ms-long-running-operation": true } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log": { "get": { "tags": [ "WebApps" ], - "summary": "Get the status of the last MSDeploy operation.", - "description": "Description for Get the status of the last MSDeploy operation.", - "operationId": "WebApps_GetInstanceMsDeployStatus", + "summary": "Get the MSDeploy Log for the last MSDeploy operation.", + "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", + "operationId": "WebApps_GetInstanceMSDeployLog", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -5373,11 +5213,15 @@ ], "responses": { "200": { - "description": "OK", + "description": "MSDeploy log returned.", "schema": { - "$ref": "#/definitions/MSDeployStatus" + "$ref": "#/definitions/MSDeployLog" } }, + "404": { + "description": "MSDeploy log not found.", + "x-ms-error-response": true + }, "default": { "description": "App Service error response.", "schema": { @@ -5385,14 +5229,16 @@ } } } - }, - "put": { + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes": { + "get": { "tags": [ "WebApps" ], - "summary": "Invoke the MSDeploy web app extension.", - "description": "Description for Invoke the MSDeploy web app extension.", - "operationId": "WebApps_CreateInstanceMSDeployOperation", + "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcesses", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -5400,128 +5246,14 @@ { "name": "name", "in": "path", - "description": "Name of web app.", + "description": "Site name.", "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": "Deployment is scheduled.", - "schema": { - "$ref": "#/definitions/MSDeployStatus" - } - }, - "409": { - "description": "Another deployment is in progress." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/extensions/MSDeploy/log": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get the MSDeploy Log for the last MSDeploy operation.", - "description": "Description for Get the MSDeploy Log for the last MSDeploy operation.", - "operationId": "WebApps_GetInstanceMSDeployLog", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of web app.", - "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": "MSDeploy log returned.", - "schema": { - "$ref": "#/definitions/MSDeployLog" - } - }, - "404": { - "description": "MSDeploy log not found." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", - "description": "Description for Get list of processes for a web site, or a deployment slot, or for a specific scaled-out instance in a web site.", - "operationId": "WebApps_ListInstanceProcesses", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", "required": true, "type": "string" }, @@ -5540,7 +5272,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5602,7 +5335,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5656,7 +5390,8 @@ "description": "Process terminated." }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5715,7 +5450,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5774,7 +5510,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5843,63 +5580,8 @@ } }, "404": { - "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/instances/{instanceId}/processes/{processId}/stop": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_StopInstanceProcess", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "processId", - "in": "path", - "description": "PID.", - "required": true, - "type": "string" - }, - { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "Process terminated." - }, - "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -5958,7 +5640,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -6300,6 +5983,55 @@ } } }, + "put": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionWithCheck", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, "delete": { "tags": [ "WebApps" @@ -6330,7 +6062,57 @@ "description": "Successfully deleted virtual network." }, "404": { - "description": "Virtual network does not exist." + "description": "Virtual network does not exist.", + "x-ms-error-response": true + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnectionWithCheck", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } }, "default": { "description": "App Service error response.", @@ -6382,7 +6164,8 @@ } }, "404": { - "description": "The requested view does not exist." + "description": "The requested view does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -6889,18 +6672,18 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -7612,7 +7395,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7667,7 +7451,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7714,7 +7499,8 @@ "description": "Process terminated." }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7766,7 +7552,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7818,7 +7605,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7880,56 +7668,8 @@ } }, "404": { - "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/processes/{processId}/stop": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_StopProcess", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "processId", - "in": "path", - "description": "PID.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "Process terminated." - }, - "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -7981,7 +7721,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8526,7 +8267,8 @@ } }, "404": { - "description": "SiteExtension not found." + "description": "SiteExtension not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8581,7 +8323,8 @@ } }, "404": { - "description": "SiteExtension with an ID of {siteExtensionId} is not running." + "description": "SiteExtension with an ID of {siteExtensionId} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8637,7 +8380,8 @@ } }, "429": { - "description": "Site Extension is being installed on another request: Rejecting current request." + "description": "Site Extension is being installed on another request: Rejecting current request.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8685,7 +8429,8 @@ "description": "SiteExtension terminated." }, "404": { - "description": "SiteExtension with an ID of {siteExtensionId} is not running." + "description": "SiteExtension with an ID of {siteExtensionId} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8696,63 +8441,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotcopy": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Copies a deployment slot to another deployment slot of an app.", - "description": "Description for Copies a deployment slot to another deployment slot of an app.", - "operationId": "WebApps_CopyProductionSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "copySlotEntity", - "in": "body", - "description": "JSON object that contains the target slot name and site config properties to override the source slot config. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/CsmCopySlotEntity" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "202": { - "description": "Operation is in progress." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Copy slot": { - "$ref": "./examples/CopySlot.json" - } - }, - "x-ms-long-running-operation": true - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots": { "get": { "tags": [ @@ -8839,7 +8527,8 @@ } }, "404": { - "description": "Not found." + "description": "Not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -8964,7 +8653,8 @@ "description": "Successfully deleted web app." }, "404": { - "description": "Web app not found." + "description": "Web app not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -9356,7 +9046,8 @@ "description": "Successfully deleted web app backup item." }, "404": { - "description": "Web app backup item does not exist." + "description": "Web app backup item does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -9505,7 +9196,7 @@ ], "summary": "Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", "description": "Description for Returns whether Scm basic auth is allowed and whether Ftp is allowed for a given site.", - "operationId": "WebApps_GetBasicPublishingCredentialsPoliciesSlot", + "operationId": "WebApps_ListBasicPublishingCredentialsPoliciesSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -9534,7 +9225,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/CsmPublishingCredentialsPoliciesCollection" + "$ref": "#/definitions/PublishingCredentialsPoliciesCollection" } }, "default": { @@ -9548,6 +9239,9 @@ "List Publishing Credentials Policies": { "$ref": "./examples/ListPublishingCredentialsPoliciesSlot.json" } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, @@ -10041,55 +9735,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettings/validateUpgradePath": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Updates site's Authentication / Authorization settings for apps via the V2 format", - "description": "Description for Updates site's Authentication / Authorization settings for apps via the V2 format", - "operationId": "WebApps_ValidateConfigBeforeUpgradeToSiteAuthSettingsV2Slot", - "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/SiteAuthSettings" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/authsettingsV2": { "put": { "tags": [ @@ -10511,62 +10156,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings/refresh": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Refreshes a web app's Key Vault References to the latest non-specified version and restarts the web app if needed", - "description": "Description for Refreshes a web app's Key Vault References to the latest non-specified version and restarts the web app if needed", - "operationId": "WebApps_RefreshKeyVaultReferencesForSiteSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "forceRestart", - "in": "query", - "type": "boolean" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ApiKVReferenceCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/config/configreferences/appsettings/{appSettingKey}": { "get": { "tags": [ @@ -11640,14 +11229,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containers": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs": { "get": { "tags": [ "WebApps" ], - "summary": "Get a hardcoded list of containers {prod,scm} in ARM format", - "description": "Description for Get a hardcoded list of containers {prod,scm} in ARM format", - "operationId": "WebApps_ListContainersSlot", + "summary": "List continuous web jobs for an app, or a deployment slot.", + "description": "Description for List continuous web jobs for an app, or a deployment slot.", + "operationId": "WebApps_ListContinuousWebJobsSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -11662,7 +11251,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", "required": true, "type": "string" }, @@ -11677,7 +11266,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/ProcessInfoCollection" + "$ref": "#/definitions/ContinuousWebJobCollection" } }, "default": { @@ -11692,14 +11281,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/containers/{containerName}/restart": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}": { + "get": { "tags": [ "WebApps" ], - "summary": "Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_RestartContainerSlot", + "summary": "Gets a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Gets a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_GetContinuousWebJobSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -11712,16 +11301,16 @@ "type": "string" }, { - "name": "containerName", + "name": "webJobName", "in": "path", - "description": "This can be either scm or prod", + "description": "Name of Web Job.", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", "required": true, "type": "string" }, @@ -11733,8 +11322,15 @@ } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "Found continuous web job.", + "schema": { + "$ref": "#/definitions/ContinuousWebJob" + } + }, + "404": { + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -11743,16 +11339,14 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs": { - "get": { + }, + "delete": { "tags": [ "WebApps" ], - "summary": "List continuous web jobs for an app, or a deployment slot.", - "description": "Description for List continuous web jobs for an app, or a deployment slot.", - "operationId": "WebApps_ListContinuousWebJobsSlot", + "summary": "Delete a continuous web job by its ID for an app, or a deployment slot.", + "description": "Description for Delete a continuous web job by its ID for an app, or a deployment slot.", + "operationId": "WebApps_DeleteContinuousWebJobSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -11764,6 +11358,13 @@ "required": true, "type": "string" }, + { + "name": "webJobName", + "in": "path", + "description": "Name of Web Job.", + "required": true, + "type": "string" + }, { "name": "slot", "in": "path", @@ -11780,126 +11381,10 @@ ], "responses": { "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ContinuousWebJobCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/continuouswebjobs/{webJobName}": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Gets a continuous web job by its ID for an app, or a deployment slot.", - "description": "Description for Gets a continuous web job by its ID for an app, or a deployment slot.", - "operationId": "WebApps_GetContinuousWebJobSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "webJobName", - "in": "path", - "description": "Name of Web Job.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Found continuous web job.", - "schema": { - "$ref": "#/definitions/ContinuousWebJob" - } - }, - "404": { - "description": "Continuous web job does not exist." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "delete": { - "tags": [ - "WebApps" - ], - "summary": "Delete a continuous web job by its ID for an app, or a deployment slot.", - "description": "Description for Delete a continuous web job by its ID for an app, or a deployment slot.", - "operationId": "WebApps_DeleteContinuousWebJobSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "webJobName", - "in": "path", - "description": "Name of Web Job.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API deletes a deployment for the production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully deleted continuous web job." - }, - "204": { - "description": "Continuous web job does not exist." + "description": "Successfully deleted continuous web job." + }, + "204": { + "description": "Continuous web job does not exist." }, "default": { "description": "App Service error response.", @@ -11955,7 +11440,8 @@ "description": "Found continuous web job." }, "404": { - "description": "Continuous web job does not exist." + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -12011,7 +11497,8 @@ "description": "Found continuous web job." }, "404": { - "description": "Continuous web job does not exist." + "description": "Continuous web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -12746,7 +12233,8 @@ } }, "409": { - "description": "Another deployment is in progress." + "description": "Another deployment is in progress.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -12799,7 +12287,8 @@ } }, "404": { - "description": "MSDeploy log not found." + "description": "MSDeploy log not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -12851,7 +12340,8 @@ } }, "404": { - "description": "Function with an ID of {functionName} is not running." + "description": "Function with an ID of {functionName} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -12962,7 +12452,8 @@ } }, "404": { - "description": "Function with a name of {functionName} does not exist." + "description": "Function with a name of {functionName} does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -13080,7 +12571,8 @@ "description": "Function deleted." }, "404": { - "description": "Function does not exist." + "description": "Function does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -13216,7 +12708,8 @@ ], "responses": { "404": { - "description": "Key was not found." + "description": "Key was not found.", + "x-ms-error-response": true }, "204": { "description": "Key was deleted." @@ -13608,7 +13101,8 @@ ], "responses": { "404": { - "description": "Key was not found." + "description": "Key was not found.", + "x-ms-error-response": true }, "204": { "description": "Key was deleted." @@ -14030,7 +13524,8 @@ "description": "Successfully deleted hybrid connection." }, "404": { - "description": "Hybrid connection does not exist." + "description": "Hybrid connection does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -14371,7 +13866,8 @@ "description": "Successfully deleted relay service connection." }, "404": { - "description": "Relay service connection does not exist." + "description": "Relay service connection does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -14557,125 +14053,6 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/containers": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get a hardcoded list of containers {prod,scm} in ARM format", - "description": "Description for Get a hardcoded list of containers {prod,scm} in ARM format", - "operationId": "WebApps_ListContainersSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", - "required": true, - "type": "string" - }, - { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/ProcessInfoCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/containers/{containerName}/restart": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Restart a container(scm or main site), or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_RestartInstanceContainerSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "containerName", - "in": "path", - "description": "This can be either scm or prod", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", - "required": true, - "type": "string" - }, - { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "No Content" - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/extensions/MSDeploy": { "get": { "tags": [ @@ -14787,7 +14164,8 @@ } }, "409": { - "description": "Another deployment is in progress." + "description": "Another deployment is in progress.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -14847,7 +14225,8 @@ } }, "404": { - "description": "MSDeploy log not found." + "description": "MSDeploy log not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -14906,7 +14285,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -14975,7 +14355,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15036,7 +14417,8 @@ "description": "Process terminated." }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15102,7 +14484,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15168,7 +14551,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15244,7 +14628,8 @@ } }, "404": { - "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15255,14 +14640,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/stop": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads": { + "get": { "tags": [ "WebApps" ], - "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_StopInstanceProcessSlot", + "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", + "operationId": "WebApps_ListInstanceProcessThreadsSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15303,11 +14688,15 @@ } ], "responses": { - "204": { - "description": "Process terminated." + "200": { + "description": "Thread information returned.", + "schema": { + "$ref": "#/definitions/ProcessThreadInfoCollection" + } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -15315,17 +14704,20 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/instances/{instanceId}/processes/{processId}/threads": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable": { + "post": { "tags": [ "WebApps" ], - "summary": "List the threads in a process by its ID for a specific scaled-out instance in a web site.", - "description": "Description for List the threads in a process by its ID for a specific scaled-out instance in a web site.", - "operationId": "WebApps_ListInstanceProcessThreadsSlot", + "summary": "Shows whether an app can be cloned to another resource group or subscription.", + "description": "Description for Shows whether an app can be cloned to another resource group or subscription.", + "operationId": "WebApps_IsCloneableSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15333,28 +14725,14 @@ { "name": "name", "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "processId", - "in": "path", - "description": "PID.", + "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 returns deployments for the production slot.", - "required": true, - "type": "string" - }, - { - "name": "instanceId", - "in": "path", - "description": "ID of a specific scaled-out instance. This is the value of the name property in the JSON response from \"GET api/sites/{siteName}/instances\".", + "description": "Name of the deployment slot. By default, this API returns information on the production slot.", "required": true, "type": "string" }, @@ -15367,34 +14745,28 @@ ], "responses": { "200": { - "description": "Thread information returned.", + "description": "OK.", "schema": { - "$ref": "#/definitions/ProcessThreadInfoCollection" + "$ref": "#/definitions/SiteCloneability" } }, - "404": { - "description": "Process with the specified ID is not running." - }, "default": { "description": "App Service error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/iscloneable": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listbackups": { "post": { "tags": [ "WebApps" ], - "summary": "Shows whether an app can be cloned to another resource group or subscription.", - "description": "Description for Shows whether an app can be cloned to another resource group or subscription.", - "operationId": "WebApps_IsCloneableSlot", + "summary": "Gets existing backups of an app.", + "description": "Description for Gets existing backups of an app.", + "operationId": "WebApps_ListSiteBackupsSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15409,7 +14781,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot. By default, this API returns information on the production slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API will get backups of the production slot.", "required": true, "type": "string" }, @@ -15422,9 +14794,9 @@ ], "responses": { "200": { - "description": "OK.", + "description": "OK", "schema": { - "$ref": "#/definitions/SiteCloneability" + "$ref": "#/definitions/BackupItemCollection" } }, "default": { @@ -15433,17 +14805,25 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } + }, + "x-ms-examples": { + "List backups": { + "$ref": "./examples/ListSlotBackups.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listbackups": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus": { "post": { "tags": [ "WebApps" ], - "summary": "Gets existing backups of an app.", - "description": "Description for Gets existing backups of an app.", - "operationId": "WebApps_ListSiteBackupsSlot", + "summary": "This is to allow calling via powershell and ARM template.", + "description": "Description for This is to allow calling via powershell and ARM template.", + "operationId": "WebApps_ListSyncFunctionTriggersSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15458,7 +14838,7 @@ { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will get backups of the production slot.", + "description": "Name of the deployment slot.", "required": true, "type": "string" }, @@ -15473,7 +14853,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/BackupItemCollection" + "$ref": "#/definitions/FunctionSecrets" } }, "default": { @@ -15482,25 +14862,17 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - }, - "x-ms-examples": { - "List backups": { - "$ref": "./examples/ListSlotBackups.json" - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/listsyncfunctiontriggerstatus": { - "post": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status": { + "get": { "tags": [ "WebApps" ], - "summary": "This is to allow calling via powershell and ARM template.", - "description": "Description for This is to allow calling via powershell and ARM template.", - "operationId": "WebApps_ListSyncFunctionTriggersSlot", + "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "description": "Description for Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", + "operationId": "WebApps_GetMigrateMySqlStatusSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15508,7 +14880,7 @@ { "name": "name", "in": "path", - "description": "Name of the app.", + "description": "Name of web app.", "required": true, "type": "string" }, @@ -15530,7 +14902,7 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/FunctionSecrets" + "$ref": "#/definitions/MigrateMySqlStatus" } }, "default": { @@ -15542,14 +14914,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/migratemysql/status": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork": { "get": { "tags": [ "WebApps" ], - "summary": "Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", - "description": "Description for Returns the status of MySql in app migration, if one is active, and whether or not MySql in app is enabled", - "operationId": "WebApps_GetMigrateMySqlStatusSlot", + "summary": "Gets a Swift Virtual Network connection.", + "description": "Description for Gets a Swift Virtual Network connection.", + "operationId": "WebApps_GetSwiftVirtualNetworkConnectionSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15557,14 +14929,14 @@ { "name": "name", "in": "path", - "description": "Name of web app.", + "description": "Name of the app.", "required": true, "type": "string" }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot.", + "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", "required": true, "type": "string" }, @@ -15577,9 +14949,9 @@ ], "responses": { "200": { - "description": "OK", + "description": "OK.", "schema": { - "$ref": "#/definitions/MigrateMySqlStatus" + "$ref": "#/definitions/SwiftVirtualNetwork" } }, "default": { @@ -15589,16 +14961,14 @@ } } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/networkConfig/virtualNetwork": { - "get": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Gets a Swift Virtual Network connection.", - "description": "Description for Gets a Swift Virtual Network connection.", - "operationId": "WebApps_GetSwiftVirtualNetworkConnectionSlot", + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_CreateOrUpdateSwiftVirtualNetworkConnectionWithCheckSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -15610,10 +14980,19 @@ "required": true, "type": "string" }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, { "name": "slot", "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API will get a gateway for the production slot's Virtual Network.", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", "required": true, "type": "string" }, @@ -15626,7 +15005,7 @@ ], "responses": { "200": { - "description": "OK.", + "description": "OK", "schema": { "$ref": "#/definitions/SwiftVirtualNetwork" } @@ -15676,7 +15055,64 @@ "description": "Successfully deleted virtual network." }, "404": { - "description": "Virtual network does not exist." + "description": "Virtual network does not exist.", + "x-ms-error-response": true + }, + "default": { + "description": "App Service error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "WebApps" + ], + "summary": "Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\r\nin use by another App Service Plan other than the one this App is in.", + "description": "Description for Integrates this Web App with a Virtual Network. This requires that 1) \"swiftSupported\" is true when doing a GET against this resource, and 2) that the target Subnet has already been delegated, and is not\nin use by another App Service Plan other than the one this App is in.", + "operationId": "WebApps_UpdateSwiftVirtualNetworkConnectionWithCheckSlot", + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "name", + "in": "path", + "description": "Name of the app.", + "required": true, + "type": "string" + }, + { + "name": "connectionEnvelope", + "in": "body", + "description": "Properties of the Virtual Network connection. See example.", + "required": true, + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } + }, + { + "name": "slot", + "in": "path", + "description": "Name of the deployment slot. If a slot is not specified, the API will add or update connections for the production slot.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SwiftVirtualNetwork" + } }, "default": { "description": "App Service error response.", @@ -15735,7 +15171,8 @@ } }, "404": { - "description": "The requested view does not exist." + "description": "The requested view does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -16305,18 +15742,18 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only usages/metrics specified in the filter. Filter conforms to odata syntax. Example: $filter=(startTime eq 2014-01-01T00:00:00Z and endTime eq 2014-12-31T23:59:59Z and timeGrain eq duration'[Hour|Minute|Day]'.", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -17123,7 +16560,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17185,7 +16623,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17239,7 +16678,8 @@ "description": "Process terminated." }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17298,7 +16738,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17357,7 +16798,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17426,63 +16868,8 @@ } }, "404": { - "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/processes/{processId}/stop": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "description": "Description for Terminate a process by its ID for a web site, or a deployment slot, or specific scaled-out instance in a web site.", - "operationId": "WebApps_StopProcessSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "processId", - "in": "path", - "description": "PID.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot. If a slot is not specified, the API returns deployments for the production slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "204": { - "description": "Process terminated." - }, - "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running, or a module with the specified baseAddress was not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -17541,7 +16928,8 @@ } }, "404": { - "description": "Process with the specified ID is not running." + "description": "Process with the specified ID is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -18163,7 +17551,8 @@ } }, "404": { - "description": "SiteExtension not found." + "description": "SiteExtension not found.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -18225,7 +17614,8 @@ } }, "404": { - "description": "SiteExtension with an ID of {siteExtensionId} is not running." + "description": "SiteExtension with an ID of {siteExtensionId} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -18288,7 +17678,8 @@ } }, "429": { - "description": "Site Extension is being installed on another request: Rejecting current request." + "description": "Site Extension is being installed on another request: Rejecting current request.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -18343,7 +17734,8 @@ "description": "SiteExtension terminated." }, "404": { - "description": "SiteExtension with an ID of {siteExtensionId} is not running." + "description": "SiteExtension with an ID of {siteExtensionId} is not running.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -18354,14 +17746,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotcopy": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs": { "post": { "tags": [ "WebApps" ], - "summary": "Copies a deployment slot to another deployment slot of an app.", - "description": "Description for Copies a deployment slot to another deployment slot of an app.", - "operationId": "WebApps_CopySlotSlot", + "summary": "Get the difference in configuration settings between two web app slots.", + "description": "Description for Get the difference in configuration settings between two web app slots.", + "operationId": "WebApps_ListSlotDifferencesSlot", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -18374,12 +17766,12 @@ "type": "string" }, { - "name": "copySlotEntity", + "name": "slotSwapEntity", "in": "body", - "description": "JSON object that contains the target slot name and site config properties to override the source slot config. See example.", + "description": "JSON object that contains the target slot name. See example.", "required": true, "schema": { - "$ref": "#/definitions/CsmCopySlotEntity" + "$ref": "#/definitions/CsmSlotEntity" } }, { @@ -18398,74 +17790,10 @@ ], "responses": { "200": { - "description": "OK." - }, - "202": { - "description": "Operation is in progress." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "Copy slot": { - "$ref": "./examples/CopySlot.json" - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/slotsdiffs": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Get the difference in configuration settings between two web app slots.", - "description": "Description for Get the difference in configuration settings between two web app slots.", - "operationId": "WebApps_ListSlotDifferencesSlot", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "slotSwapEntity", - "in": "body", - "description": "JSON object that contains the target slot name. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/CsmSlotEntity" - } - }, - { - "name": "slot", - "in": "path", - "description": "Name of the source slot. If a slot is not specified, the production slot is used as the source slot.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SlotDifferenceCollection" - } + "description": "OK", + "schema": { + "$ref": "#/definitions/SlotDifferenceCollection" + } }, "default": { "description": "App Service error response.", @@ -18816,7 +18144,8 @@ "description": "Source control delete operation in progress." }, "404": { - "description": "Source control does not exist." + "description": "Source control does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19320,7 +18649,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19433,7 +18763,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19502,7 +18833,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19558,7 +18890,8 @@ "description": "Run a triggered web job." }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19595,18 +18928,18 @@ "required": true, "type": "string" }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, { "name": "$filter", "in": "query", "description": "Return only information 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]'.", "type": "string", "x-ms-skip-url-encoding": true - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" } ], "responses": { @@ -19667,7 +19000,7 @@ "schema": { "type": "array", "items": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } } }, @@ -19724,7 +19057,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -19766,7 +19099,7 @@ "description": "Properties of the Virtual Network connection. See example.", "required": true, "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, { @@ -19787,7 +19120,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -19842,7 +19175,8 @@ "description": "Successfully deleted virtual network." }, "404": { - "description": "Virtual network does not exist." + "description": "Virtual network does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -19883,7 +19217,7 @@ "description": "Properties of the Virtual Network connection. See example.", "required": true, "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, { @@ -19904,7 +19238,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -19971,7 +19305,8 @@ } }, "404": { - "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently." + "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -20230,14 +19565,14 @@ } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/workflows": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs": { + "post": { "tags": [ "WebApps" ], - "summary": "List the workflows for a web site, or a deployment slot.", - "description": "Description for List the workflows for a web site, or a deployment slot.", - "operationId": "WebApps_ListInstanceWorkflowsSlot", + "summary": "Get the difference in configuration settings between two web app slots.", + "description": "Description for Get the difference in configuration settings between two web app slots.", + "operationId": "WebApps_ListSlotDifferencesFromProduction", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20245,16 +19580,18 @@ { "name": "name", "in": "path", - "description": "Site name.", + "description": "Name of the app.", "required": true, "type": "string" }, { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot.", + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } }, { "$ref": "#/parameters/subscriptionIdParameter" @@ -20265,14 +19602,11 @@ ], "responses": { "200": { - "description": "Workflow information returned.", + "description": "OK", "schema": { - "$ref": "#/definitions/WorkflowEnvelopeCollection" + "$ref": "#/definitions/SlotDifferenceCollection" } }, - "404": { - "description": "Workflow with an ID of {workflowName} is not running." - }, "default": { "description": "App Service error response.", "schema": { @@ -20280,24 +19614,19 @@ } } }, - "x-ms-examples": { - "List the workflows": { - "$ref": "./examples/ListWorkflows.json" - } - }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/workflows/{workflowName}": { - "get": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap": { + "post": { "tags": [ "WebApps" ], - "summary": "Get workflow information by its ID for web site, or a deployment slot.", - "description": "Description for Get workflow information by its ID for web site, or a deployment slot.", - "operationId": "WebApps_GetInstanceWorkflowSlot", + "summary": "Swaps two deployment slots of an app.", + "description": "Description for Swaps two deployment slots of an app.", + "operationId": "WebApps_SwapSlotWithProduction", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20305,23 +19634,18 @@ { "name": "name", "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", + "description": "Name of the app.", "required": true, "type": "string" }, { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot.", + "name": "slotSwapEntity", + "in": "body", + "description": "JSON object that contains the target slot name. See example.", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CsmSlotEntity" + } }, { "$ref": "#/parameters/subscriptionIdParameter" @@ -20332,13 +19656,10 @@ ], "responses": { "200": { - "description": "Workflow information returned.", - "schema": { - "$ref": "#/definitions/WorkflowEnvelope" - } + "description": "OK." }, - "404": { - "description": "Workflow with a name of {workflowName} does not exist." + "202": { + "description": "Operation is in progress." }, "default": { "description": "App Service error response.", @@ -20347,19 +19668,17 @@ } } }, - "x-ms-examples": { - "GET a workflow": { - "$ref": "./examples/GetWorkflow.json" - } - } - }, - "put": { + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots": { + "get": { "tags": [ "WebApps" ], - "summary": "Create a workflow for web site, or a deployment slot.", - "description": "Description for Create a workflow for web site, or a deployment slot.", - "operationId": "WebApps_CreateInstanceWorkflowSlot", + "summary": "Returns all Snapshots to the user.", + "description": "Description for Returns all Snapshots to the user.", + "operationId": "WebApps_ListSnapshots", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20367,21 +19686,7 @@ { "name": "name", "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot.", + "description": "Website Name.", "required": true, "type": "string" }, @@ -20393,10 +19698,10 @@ } ], "responses": { - "201": { - "description": "Workflow created.", + "200": { + "description": "OK", "schema": { - "type": "object" + "$ref": "#/definitions/SnapshotCollection" } }, "default": { @@ -20406,20 +19711,19 @@ } } }, - "x-ms-examples": { - "PUT a workflow": { - "$ref": "./examples/PutWorkflow.json" - } - }, - "x-ms-long-running-operation": true - }, - "delete": { + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr": { + "get": { "tags": [ "WebApps" ], - "summary": "Delete a workflow for web site, or a deployment slot.", - "description": "Description for Delete a workflow for web site, or a deployment slot.", - "operationId": "WebApps_DeleteInstanceWorkflowSlot", + "summary": "Returns all Snapshots to the user from DRSecondary endpoint.", + "description": "Description for Returns all Snapshots to the user from DRSecondary endpoint.", + "operationId": "WebApps_ListSnapshotsFromDRSecondary", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20427,21 +19731,7 @@ { "name": "name", "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot.", + "description": "Website Name.", "required": true, "type": "string" }, @@ -20454,31 +19744,31 @@ ], "responses": { "200": { - "description": "Workflow deleted.", + "description": "OK", "schema": { - "type": "object" + "$ref": "#/definitions/SnapshotCollection" } }, - "404": { - "description": "Workflow does not exist." - }, "default": { "description": "App Service error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slots/{slot}/workflowsconfiguration/connections": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web": { "get": { "tags": [ "WebApps" ], - "summary": "Get workflow app's configurations conections information by its ID for web site, or a deployment slot.", - "description": "Description for Get workflow app's configurations conections information by its ID for web site, or a deployment slot.", - "operationId": "WebApps_ListInstanceWorkflowsConfigurationConnectionsSlot", + "summary": "Gets the source control configuration of an app.", + "description": "Description for Gets the source control configuration of an app.", + "operationId": "WebApps_GetSourceControl", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20486,14 +19776,7 @@ { "name": "name", "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "slot", - "in": "path", - "description": "Name of the deployment slot.", + "description": "Name of the app.", "required": true, "type": "string" }, @@ -20506,13 +19789,22 @@ ], "responses": { "200": { - "description": "Connections information returned.", + "description": "Successfully retrieved source control for web app.", "schema": { - "$ref": "#/definitions/WorkflowEnvelope" + "$ref": "#/definitions/SiteSourceControl" } }, - "404": { - "description": "Error retrieving connections." + "201": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } + }, + "202": { + "description": "Create or update source control for web app still in progress.", + "schema": { + "$ref": "#/definitions/SiteSourceControl" + } }, "default": { "description": "App Service error response.", @@ -20520,22 +19812,15 @@ "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } - }, - "x-ms-examples": { - "List the ListInstanceWorkflowsConfigurationConnections": { - "$ref": "./examples/ListWorkflowsConfigurationConnections.json" - } } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsdiffs": { - "post": { + }, + "put": { "tags": [ "WebApps" ], - "summary": "Get the difference in configuration settings between two web app slots.", - "description": "Description for Get the difference in configuration settings between two web app slots.", - "operationId": "WebApps_ListSlotDifferencesFromProduction", + "summary": "Updates the source control configuration of an app.", + "description": "Description for Updates the source control configuration of an app.", + "operationId": "WebApps_CreateOrUpdateSourceControl", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" @@ -20548,12 +19833,12 @@ "type": "string" }, { - "name": "slotSwapEntity", + "name": "siteSourceControl", "in": "body", - "description": "JSON object that contains the target slot name. See example.", + "description": "JSON representation of a SiteSourceControl object. See example.", "required": true, "schema": { - "$ref": "#/definitions/CsmSlotEntity" + "$ref": "#/definitions/SiteSourceControl" } }, { @@ -20565,263 +19850,15 @@ ], "responses": { "200": { - "description": "OK", + "description": "Successfully created or updated source control for web app.", "schema": { - "$ref": "#/definitions/SlotDifferenceCollection" + "$ref": "#/definitions/SiteSourceControl" } }, - "default": { - "description": "App Service error response.", + "201": { + "description": "Create or update source control for web app in progress.", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/slotsswap": { - "post": { - "tags": [ - "WebApps" - ], - "summary": "Swaps two deployment slots of an app.", - "description": "Description for Swaps two deployment slots of an app.", - "operationId": "WebApps_SwapSlotWithProduction", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "slotSwapEntity", - "in": "body", - "description": "JSON object that contains the target slot name. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/CsmSlotEntity" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK." - }, - "202": { - "description": "Operation is in progress." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-long-running-operation": true - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshots": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Returns all Snapshots to the user.", - "description": "Description for Returns all Snapshots to the user.", - "operationId": "WebApps_ListSnapshots", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Website Name.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SnapshotCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/snapshotsdr": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Returns all Snapshots to the user from DRSecondary endpoint.", - "description": "Description for Returns all Snapshots to the user from DRSecondary endpoint.", - "operationId": "WebApps_ListSnapshotsFromDRSecondary", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Website Name.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "OK", - "schema": { - "$ref": "#/definitions/SnapshotCollection" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" - } - } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/sourcecontrols/web": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Gets the source control configuration of an app.", - "description": "Description for Gets the source control configuration of an app.", - "operationId": "WebApps_GetSourceControl", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully retrieved source control for web app.", - "schema": { - "$ref": "#/definitions/SiteSourceControl" - } - }, - "201": { - "description": "Create or update source control for web app still in progress.", - "schema": { - "$ref": "#/definitions/SiteSourceControl" - } - }, - "202": { - "description": "Create or update source control for web app still in progress.", - "schema": { - "$ref": "#/definitions/SiteSourceControl" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - } - }, - "put": { - "tags": [ - "WebApps" - ], - "summary": "Updates the source control configuration of an app.", - "description": "Description for Updates the source control configuration of an app.", - "operationId": "WebApps_CreateOrUpdateSourceControl", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Name of the app.", - "required": true, - "type": "string" - }, - { - "name": "siteSourceControl", - "in": "body", - "description": "JSON representation of a SiteSourceControl object. See example.", - "required": true, - "schema": { - "$ref": "#/definitions/SiteSourceControl" - } - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Successfully created or updated source control for web app.", - "schema": { - "$ref": "#/definitions/SiteSourceControl" - } - }, - "201": { - "description": "Create or update source control for web app in progress.", - "schema": { - "$ref": "#/definitions/SiteSourceControl" + "$ref": "#/definitions/SiteSourceControl" } }, "202": { @@ -20877,7 +19914,8 @@ "description": "Source control delete operation in progress." }, "404": { - "description": "Source control does not exist." + "description": "Source control does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21318,7 +20356,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21417,7 +20456,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21479,7 +20519,8 @@ } }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21528,7 +20569,8 @@ "description": "Run a triggered web job." }, "404": { - "description": "Triggered web job does not exist." + "description": "Triggered web job does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21558,18 +20600,18 @@ "required": true, "type": "string" }, - { - "name": "$filter", - "in": "query", - "description": "Return only information 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]'.", - "type": "string", - "x-ms-skip-url-encoding": true - }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "Return only information 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]'.", + "type": "string", + "x-ms-skip-url-encoding": true } ], "responses": { @@ -21623,7 +20665,7 @@ "schema": { "type": "array", "items": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } } }, @@ -21673,7 +20715,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -21715,7 +20757,7 @@ "description": "Properties of the Virtual Network connection. See example.", "required": true, "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, { @@ -21729,7 +20771,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -21777,7 +20819,8 @@ "description": "Successfully deleted virtual network." }, "404": { - "description": "Virtual network does not exist." + "description": "Virtual network does not exist.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -21818,7 +20861,7 @@ "description": "Properties of the Virtual Network connection. See example.", "required": true, "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, { @@ -21832,7 +20875,7 @@ "200": { "description": "OK", "schema": { - "$ref": "./CommonDefinitions.json#/definitions/VnetInfo" + "$ref": "./CommonDefinitions.json#/definitions/VnetInfoResource" } }, "default": { @@ -21892,7 +20935,8 @@ } }, "404": { - "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently." + "description": "Named gateway does not exist. Only the \"primary\" gateway is supported currently.", + "x-ms-error-response": true }, "default": { "description": "App Service error response.", @@ -22122,274 +21166,44 @@ } } } - }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/workflows": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "List the workflows for a web site, or a deployment slot.", - "description": "Description for List the workflows for a web site, or a deployment slot.", - "operationId": "WebApps_ListWorkflows", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, + } + }, + "definitions": { + "AllowedAudiencesValidation": { + "description": "The configuration settings of the Allowed Audiences validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", + "type": "array", + "items": { "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Workflow information returned.", - "schema": { - "$ref": "#/definitions/WorkflowEnvelopeCollection" - } - }, - "404": { - "description": "Workflow with an ID of {workflowName} is not running." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List the workflows": { - "$ref": "./examples/ListWorkflows.json" } - }, - "x-ms-pageable": { - "nextLinkName": "nextLink" } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/workflows/{workflowName}": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get workflow information by its ID for web site, or a deployment slot.", - "description": "Description for Get workflow information by its ID for web site, or a deployment slot.", - "operationId": "WebApps_GetWorkflow", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Workflow information returned.", - "schema": { - "$ref": "#/definitions/WorkflowEnvelope" - } - }, - "404": { - "description": "Workflow with a name of {workflowName} does not exist." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "GET a workflow": { - "$ref": "./examples/GetWorkflow.json" - } - } - }, - "put": { - "tags": [ - "WebApps" - ], - "summary": "Create a workflow for web site, or a deployment slot.", - "description": "Description for Create a workflow for web site, or a deployment slot.", - "operationId": "WebApps_CreateWorkflow", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", - "required": true, + "AllowedPrincipals": { + "description": "The configuration settings of the Azure Active Directory allowed principals.", + "type": "object", + "properties": { + "groups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "201": { - "description": "Workflow created.", - "schema": { - "type": "object" - } - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "PUT a workflow": { - "$ref": "./examples/PutWorkflow.json" } }, - "x-ms-long-running-operation": true - }, - "delete": { - "tags": [ - "WebApps" - ], - "summary": "Delete a workflow for web site, or a deployment slot.", - "description": "Description for Delete a workflow for web site, or a deployment slot.", - "operationId": "WebApps_DeleteWorkflow", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "name": "workflowName", - "in": "path", - "description": "Workflow name.", - "required": true, + "identities": { + "description": "The list of the allowed identities.", + "type": "array", + "items": { "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Workflow deleted.", - "schema": { - "type": "object" - } - }, - "404": { - "description": "Workflow does not exist." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } } } } }, - "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Web/sites/{name}/workflowsconfiguration/connections": { - "get": { - "tags": [ - "WebApps" - ], - "summary": "Get workflow app's configurations conections information by its ID for web site, or a deployment slot.", - "description": "Description for Get workflow app's configurations conections information by its ID for web site, or a deployment slot.", - "operationId": "WebApps_ListWorkflowsConfiguration", - "parameters": [ - { - "$ref": "#/parameters/resourceGroupNameParameter" - }, - { - "name": "name", - "in": "path", - "description": "Site name.", - "required": true, - "type": "string" - }, - { - "$ref": "#/parameters/subscriptionIdParameter" - }, - { - "$ref": "#/parameters/apiVersionParameter" - } - ], - "responses": { - "200": { - "description": "Connections information returned.", - "schema": { - "$ref": "#/definitions/WorkflowEnvelope" - } - }, - "404": { - "description": "Error retrieving connections." - }, - "default": { - "description": "App Service error response.", - "schema": { - "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" - } - } - }, - "x-ms-examples": { - "List the ListInstanceWorkflowsConfigurationConnections": { - "$ref": "./examples/ListWorkflowsConfigurationConnections.json" - } - } - } - } - }, - "definitions": { - "AllowedAudiencesValidation": { - "description": "The configuration settings of the Allowed Audiences validation flow.", + "ApiKVReference": { + "description": "Description of site key vault references.", "type": "object", "allOf": [ { @@ -22398,62 +21212,8 @@ ], "properties": { "properties": { - "description": "AllowedAudiencesValidation resource specific properties", - "properties": { - "allowedAudiences": { - "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true - } - } - }, - "AllowedPrincipals": { - "description": "The configuration settings of the Azure Active Directory allowed principals.", - "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "AllowedPrincipals resource specific properties", - "properties": { - "groups": { - "description": "The list of the allowed groups.", - "type": "array", - "items": { - "type": "string" - } - }, - "identities": { - "description": "The list of the allowed identities.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true - } - } - }, - "ApiKVReference": { - "description": "Description of site key vault references.", - "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "ApiKVReference resource specific properties", + "description": "ApiKVReference resource specific properties", + "type": "object", "properties": { "reference": { "type": "string" @@ -22503,16 +21263,6 @@ "modelAsString": false } }, - "location": { - "enum": [ - "ApplicationSetting" - ], - "type": "string", - "x-ms-enum": { - "name": "ConfigReferenceLocation", - "modelAsString": false - } - }, "activeVersion": { "type": "string" } @@ -22544,79 +21294,46 @@ "AppRegistration": { "description": "The configuration settings of the app registration for providers that have app ids and app secrets", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AppRegistration resource specific properties", - "properties": { - "appId": { - "description": "The App ID of the app used for login.", - "type": "string" - }, - "appSecretSettingName": { - "description": "The app setting name that contains the app secret.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "appId": { + "description": "The App ID of the app used for login.", + "type": "string" + }, + "appSecretSettingName": { + "description": "The app setting name that contains the app secret.", + "type": "string" } } }, "Apple": { "description": "The configuration settings of the Apple provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Apple resource specific properties", - "properties": { - "enabled": { - "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/AppleRegistration", - "description": "The configuration settings of the Apple registration." - }, - "login": { - "$ref": "#/definitions/LoginScopes", - "description": "The configuration settings of the login flow." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Apple provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppleRegistration", + "description": "The configuration settings of the Apple registration." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." } } }, "AppleRegistration": { "description": "The configuration settings of the registration for the Apple provider", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AppleRegistration resource specific properties", - "properties": { - "clientId": { - "description": "The Client ID of the app used for login.", - "type": "string" - }, - "clientSecretSettingName": { - "description": "The app setting name that contains the client secret.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" } } }, @@ -22641,159 +21358,112 @@ "AuthPlatform": { "description": "The configuration settings of the platform of App Service Authentication/Authorization.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AuthPlatform resource specific properties", - "properties": { - "enabled": { - "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", - "type": "boolean" - }, - "runtimeVersion": { - "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", - "type": "string" - }, - "configFilePath": { - "description": "The path of the config file containing auth settings if they come from a file.\nIf the path is relative, base will the site's root directory.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", + "type": "boolean" + }, + "runtimeVersion": { + "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", + "type": "string" + }, + "configFilePath": { + "description": "The path of the config file containing auth settings if they come from a file.\nIf the path is relative, base will the site's root directory.", + "type": "string" } } }, "AzureActiveDirectory": { "description": "The configuration settings of the Azure Active directory provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureActiveDirectory resource specific properties", - "properties": { - "enabled": { - "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/AzureActiveDirectoryRegistration", - "description": "The configuration settings of the Azure Active Directory app registration." - }, - "login": { - "$ref": "#/definitions/AzureActiveDirectoryLogin", - "description": "The configuration settings of the Azure Active Directory login flow." - }, - "validation": { - "$ref": "#/definitions/AzureActiveDirectoryValidation", - "description": "The configuration settings of the Azure Active Directory token validation flow." - }, - "isAutoProvisioned": { - "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property.", - "type": "boolean" - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration", + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin", + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + }, + "isAutoProvisioned": { + "description": "Gets a value indicating whether the Azure AD configuration was auto-provisioned using 1st party tooling.\nThis is an internal flag primarily intended to support the Azure Management Portal. Users should not\nread or write to this property.", + "type": "boolean" } } }, "AzureActiveDirectoryLogin": { "description": "The configuration settings of the Azure Active Directory login flow.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureActiveDirectoryLogin resource specific properties", - "properties": { - "loginParameters": { - "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", - "type": "array", - "items": { - "type": "string" - } - }, - "disableWWWAuthenticate": { - "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", - "type": "boolean" - } - }, - "x-ms-client-flatten": true + "loginParameters": { + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", + "type": "array", + "items": { + "type": "string" + } + }, + "disableWWWAuthenticate": { + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", + "type": "boolean" } } }, "AzureActiveDirectoryRegistration": { "description": "The configuration settings of the Azure Active Directory app registration.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureActiveDirectoryRegistration resource specific properties", - "properties": { - "openIdIssuer": { - "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", - "type": "string" - }, - "clientId": { - "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", - "type": "string" - }, - "clientSecretSettingName": { - "description": "The app setting name that contains the client secret of the relying party application.", - "type": "string" - }, - "clientSecretCertificateThumbprint": { - "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "openIdIssuer": { + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", + "type": "string" + }, + "clientId": { + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret of the relying party application.", + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", + "type": "string" + }, + "clientSecretCertificateSubjectAlternativeName": { + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + }, + "clientSecretCertificateIssuer": { + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" } } }, "AzureActiveDirectoryValidation": { "description": "The configuration settings of the Azure Active Directory token validation flow.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureActiveDirectoryValidation resource specific properties", - "properties": { - "jwtClaimChecks": { - "$ref": "#/definitions/JwtClaimChecks", - "description": "The configuration settings of the checks that should be made while validating the JWT Claims." - }, - "allowedAudiences": { - "description": "The list of audiences that can make successful authentication/authorization requests.", - "type": "array", - "items": { - "type": "string" - } - }, - "defaultAuthorizationPolicy": { - "$ref": "#/definitions/DefaultAuthorizationPolicy", - "description": "The configuration settings of the default authorization policy." - } - }, - "x-ms-client-flatten": true + "jwtClaimChecks": { + "$ref": "#/definitions/JwtClaimChecks", + "description": "The configuration settings of the checks that should be made while validating the JWT Claims." + }, + "allowedAudiences": { + "description": "The list of audiences that can make successful authentication/authorization requests.", + "type": "array", + "items": { + "type": "string" + } + }, + "defaultAuthorizationPolicy": { + "$ref": "#/definitions/DefaultAuthorizationPolicy", + "description": "The configuration settings of the default authorization policy." } } }, @@ -22849,46 +21519,24 @@ "AzureStaticWebApps": { "description": "The configuration settings of the Azure Static Web Apps provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureStaticWebApps resource specific properties", - "properties": { - "enabled": { - "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/AzureStaticWebAppsRegistration", - "description": "The configuration settings of the Azure Static Web Apps registration." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AzureStaticWebAppsRegistration", + "description": "The configuration settings of the Azure Static Web Apps registration." } } }, "AzureStaticWebAppsRegistration": { "description": "The configuration settings of the registration for the Azure Static Web Apps provider", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "AzureStaticWebAppsRegistration resource specific properties", - "properties": { - "clientId": { - "description": "The Client ID of the app used for login.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" } } }, @@ -22950,6 +21598,7 @@ "properties": { "properties": { "description": "BackupItem resource specific properties", + "type": "object", "properties": { "id": { "format": "int32", @@ -22961,8 +21610,7 @@ "storageAccountUrl": { "description": "SAS URL for the storage account container which contains this backup.", "type": "string", - "readOnly": true, - "nullable": true + "readOnly": true }, "blobName": { "description": "Name of the blob which contains data for this backup.", @@ -23018,8 +21666,7 @@ "items": { "$ref": "#/definitions/DatabaseBackupSetting" }, - "readOnly": true, - "nullable": true + "readOnly": true }, "scheduled": { "description": "True if this backup has been created due to a schedule being triggered.", @@ -23089,6 +21736,7 @@ "required": [ "storageAccountUrl" ], + "type": "object", "properties": { "backupName": { "description": "Name of the backup.", @@ -23174,46 +21822,24 @@ "BlobStorageTokenStore": { "description": "The configuration settings of the storage of the tokens if blob storage is used.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "BlobStorageTokenStore resource specific properties", - "properties": { - "sasUrlSettingName": { - "description": "The name of the app setting containing the SAS URL of the blob storage containing the tokens.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "sasUrlSettingName": { + "description": "The name of the app setting containing the SAS URL of the blob storage containing the tokens.", + "type": "string" } } }, "ClientRegistration": { "description": "The configuration settings of the app registration for providers that have client ids and client secrets", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "ClientRegistration resource specific properties", - "properties": { - "clientId": { - "description": "The Client ID of the app used for login.", - "type": "string" - }, - "clientSecretSettingName": { - "description": "The app setting name that contains the client secret.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretSettingName": { + "description": "The app setting name that contains the client secret.", + "type": "string" } } }, @@ -23427,6 +22053,7 @@ "properties": { "properties": { "description": "ContinuousWebJob resource specific properties", + "type": "object", "properties": { "status": { "description": "Job status.", @@ -23510,89 +22137,31 @@ } }, "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "CookieExpiration": { - "description": "The configuration settings of the session cookie's expiration.", - "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "CookieExpiration resource specific properties", - "properties": { - "convention": { - "description": "The convention used when determining the session cookie's expiration.", - "enum": [ - "FixedTime", - "IdentityProviderDerived" - ], - "type": "string", - "x-ms-enum": { - "name": "CookieExpirationConvention", - "modelAsString": false - } - }, - "timeToExpiration": { - "description": "The time after the request is made when the session cookie should expire.", - "type": "string" - } - }, - "x-ms-client-flatten": true - } - } - }, - "CsmCopySlotEntity": { - "description": "Copy deployment slot parameters.", - "required": [ - "targetSlot", - "siteConfig" - ], - "type": "object", - "properties": { - "targetSlot": { - "description": "Destination deployment slot during copy operation.", - "type": "string" - }, - "siteConfig": { - "$ref": "./CommonDefinitions.json#/definitions/SiteConfig", - "description": "The site object which will be merged with the source slot site\nto produce new destination slot site object.\nnull to just copy source slot content. Otherwise a Site\nobject with properties to override source slot site." + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true } } }, - "CsmPublishingCredentialsPoliciesCollection": { - "description": "Publishing Credentials Policies collection.", + "CookieExpiration": { + "description": "The configuration settings of the session cookie's expiration.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "CsmPublishingCredentialsPoliciesCollection resource specific properties", - "required": [ - "ftp", - "scm" + "convention": { + "description": "The convention used when determining the session cookie's expiration.", + "enum": [ + "FixedTime", + "IdentityProviderDerived" ], - "properties": { - "ftp": { - "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity", - "description": "Whether FTP is allowed." - }, - "scm": { - "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity", - "description": "Whether Scm Basic Auth is allowed." - } - }, - "x-ms-client-flatten": true + "type": "string", + "x-ms-enum": { + "name": "CookieExpirationConvention", + "modelAsString": false + } + }, + "timeToExpiration": { + "description": "The time after the request is made when the session cookie should expire.", + "type": "string" } } }, @@ -23610,6 +22179,7 @@ "required": [ "allow" ], + "type": "object", "properties": { "allow": { "description": "true to allow access to a publishing method; otherwise, false.", @@ -23672,6 +22242,7 @@ "properties": { "properties": { "description": "CustomHostnameAnalysisResult resource specific properties", + "type": "object", "properties": { "isHostnameAlreadyVerified": { "description": "true if hostname is already verified; otherwise, false.", @@ -23755,29 +22326,18 @@ "CustomOpenIdConnectProvider": { "description": "The configuration settings of the custom Open ID Connect provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "CustomOpenIdConnectProvider resource specific properties", - "properties": { - "enabled": { - "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/OpenIdConnectRegistration", - "description": "The configuration settings of the app registration for the custom Open ID Connect provider." - }, - "login": { - "$ref": "#/definitions/OpenIdConnectLogin", - "description": "The configuration settings of the login flow of the custom Open ID Connect provider." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the custom Open ID provider provider should not be enabled; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration", + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin", + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." } } }, @@ -23818,28 +22378,17 @@ "DefaultAuthorizationPolicy": { "description": "The configuration settings of the Azure Active Directory default authorization policy.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "DefaultAuthorizationPolicy resource specific properties", - "properties": { - "allowedPrincipals": { - "$ref": "#/definitions/AllowedPrincipals", - "description": "The configuration settings of the Azure Active Directory allowed principals." - }, - "allowedApplications": { - "description": "The configuration settings of the Azure Active Directory allowed applications.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true + "allowedPrincipals": { + "$ref": "#/definitions/AllowedPrincipals", + "description": "The configuration settings of the Azure Active Directory allowed principals." + }, + "allowedApplications": { + "description": "The configuration settings of the Azure Active Directory allowed applications.", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -23854,6 +22403,7 @@ "properties": { "properties": { "description": "DeletedAppRestoreRequest resource specific properties", + "type": "object", "properties": { "deletedSiteId": { "description": "ARM resource ID of the deleted app. Example:\n/subscriptions/{subId}/providers/Microsoft.Web/deletedSites/{deletedSiteId}", @@ -23887,6 +22437,7 @@ "properties": { "properties": { "description": "Deployment resource specific properties", + "type": "object", "properties": { "status": { "format": "int32", @@ -23966,33 +22517,22 @@ "Facebook": { "description": "The configuration settings of the Facebook provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Facebook resource specific properties", - "properties": { - "enabled": { - "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/AppRegistration", - "description": "The configuration settings of the app registration for the Facebook provider." - }, - "graphApiVersion": { - "description": "The version of the Facebook api to be used while logging in.", - "type": "string" - }, - "login": { - "$ref": "#/definitions/LoginScopes", - "description": "The configuration settings of the login flow." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Facebook provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/AppRegistration", + "description": "The configuration settings of the app registration for the Facebook provider." + }, + "graphApiVersion": { + "description": "The version of the Facebook api to be used while logging in.", + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." } } }, @@ -24043,59 +22583,37 @@ "FileSystemTokenStore": { "description": "The configuration settings of the storage of the tokens if a file system is used.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "FileSystemTokenStore resource specific properties", - "properties": { - "directory": { - "description": "The directory in which the tokens will be stored.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "directory": { + "description": "The directory in which the tokens will be stored.", + "type": "string" } } }, "ForwardProxy": { "description": "The configuration settings of a forward proxy used to make the requests.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "ForwardProxy resource specific properties", - "properties": { - "convention": { - "description": "The convention used to determine the url of the request made.", - "enum": [ - "NoProxy", - "Standard", - "Custom" - ], - "type": "string", - "x-ms-enum": { - "name": "ForwardProxyConvention", - "modelAsString": false - } - }, - "customHostHeaderName": { - "description": "The name of the header containing the host of the request.", - "type": "string" - }, - "customProtoHeaderName": { - "description": "The name of the header containing the scheme of the request.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "convention": { + "description": "The convention used to determine the url of the request made.", + "enum": [ + "NoProxy", + "Standard", + "Custom" + ], + "type": "string", + "x-ms-enum": { + "name": "ForwardProxyConvention", + "modelAsString": false + } + }, + "customHostHeaderName": { + "description": "The name of the header containing the host of the request.", + "type": "string" + }, + "customProtoHeaderName": { + "description": "The name of the header containing the scheme of the request.", + "type": "string" } } }, @@ -24110,6 +22628,7 @@ "properties": { "properties": { "description": "FunctionEnvelope resource specific properties", + "type": "object", "properties": { "function_app_id": { "description": "Function App ID.", @@ -24209,29 +22728,18 @@ "GitHub": { "description": "The configuration settings of the GitHub provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "GitHub resource specific properties", - "properties": { - "enabled": { - "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/ClientRegistration", - "description": "The configuration settings of the app registration for the GitHub provider." - }, - "login": { - "$ref": "#/definitions/LoginScopes", - "description": "The configuration settings of the login flow." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the GitHub provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the GitHub provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." } } }, @@ -24289,86 +22797,65 @@ }, "password": { "description": "The password used to upload the image to the container registry.", - "type": "string" + "type": "string", + "x-ms-secret": true } } }, "GlobalValidation": { "description": "The configuration settings that determines the validation flow of users using App Service Authentication/Authorization.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "GlobalValidation resource specific properties", - "properties": { - "requireAuthentication": { - "description": "true if the authentication flow is required any request is made; otherwise, false.", - "type": "boolean" - }, - "unauthenticatedClientAction": { - "description": "The action to take when an unauthenticated client attempts to access the app.", - "enum": [ - "RedirectToLoginPage", - "AllowAnonymous", - "Return401", - "Return403" - ], - "type": "string", - "x-ms-enum": { - "name": "UnauthenticatedClientActionV2", - "modelAsString": false - } - }, - "redirectToProvider": { - "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", - "type": "string" - }, - "excludedPaths": { - "description": "The paths for which unauthenticated flow would not be redirected to the login page.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true + "requireAuthentication": { + "description": "true if the authentication flow is required any request is made; otherwise, false.", + "type": "boolean" + }, + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientActionV2", + "modelAsString": false + } + }, + "redirectToProvider": { + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", + "type": "string" + }, + "excludedPaths": { + "description": "The paths for which unauthenticated flow would not be redirected to the login page.", + "type": "array", + "items": { + "type": "string" + } } } }, "Google": { "description": "The configuration settings of the Google provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Google resource specific properties", - "properties": { - "enabled": { - "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/ClientRegistration", - "description": "The configuration settings of the app registration for the Google provider." - }, - "login": { - "$ref": "#/definitions/LoginScopes", - "description": "The configuration settings of the login flow." - }, - "validation": { - "$ref": "#/definitions/AllowedAudiencesValidation", - "description": "The configuration settings of the Azure Active Directory token validation flow." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Google provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the Google provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." } } }, @@ -24407,6 +22894,7 @@ "properties": { "properties": { "description": "HostNameBinding resource specific properties", + "type": "object", "properties": { "siteName": { "description": "App Service app name.", @@ -24553,137 +23041,93 @@ "HttpSettings": { "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against App Service Authentication/Authorization.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "HttpSettings resource specific properties", - "properties": { - "requireHttps": { - "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", - "type": "boolean" - }, - "routes": { - "$ref": "#/definitions/HttpSettingsRoutes", - "description": "The configuration settings of the paths HTTP requests." - }, - "forwardProxy": { - "$ref": "#/definitions/ForwardProxy", - "description": "The configuration settings of a forward proxy used to make the requests." - } - }, - "x-ms-client-flatten": true + "requireHttps": { + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", + "type": "boolean" + }, + "routes": { + "$ref": "#/definitions/HttpSettingsRoutes", + "description": "The configuration settings of the paths HTTP requests." + }, + "forwardProxy": { + "$ref": "#/definitions/ForwardProxy", + "description": "The configuration settings of a forward proxy used to make the requests." } } }, "HttpSettingsRoutes": { "description": "The configuration settings of the paths HTTP requests.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "HttpSettingsRoutes resource specific properties", - "properties": { - "apiPrefix": { - "description": "The prefix that should precede all the authentication/authorization paths.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "apiPrefix": { + "description": "The prefix that should precede all the authentication/authorization paths.", + "type": "string" } } }, - "IdentityProviders": { - "description": "The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization.", - "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], + "IdentityProviders": { + "description": "The configuration settings of each of the identity providers used to configure App Service Authentication/Authorization.", + "type": "object", "properties": { - "properties": { - "description": "IdentityProviders resource specific properties", - "properties": { - "azureActiveDirectory": { - "$ref": "#/definitions/AzureActiveDirectory", - "description": "The configuration settings of the Azure Active directory provider." - }, - "facebook": { - "$ref": "#/definitions/Facebook", - "description": "The configuration settings of the Facebook provider." - }, - "gitHub": { - "$ref": "#/definitions/GitHub", - "description": "The configuration settings of the GitHub provider." - }, - "google": { - "$ref": "#/definitions/Google", - "description": "The configuration settings of the Google provider." - }, - "legacyMicrosoftAccount": { - "$ref": "#/definitions/LegacyMicrosoftAccount", - "description": "The configuration settings of the legacy Microsoft Account provider." - }, - "twitter": { - "$ref": "#/definitions/Twitter", - "description": "The configuration settings of the Twitter provider." - }, - "apple": { - "$ref": "#/definitions/Apple", - "description": "The configuration settings of the Apple provider." - }, - "azureStaticWebApps": { - "$ref": "#/definitions/AzureStaticWebApps", - "description": "The configuration settings of the Azure Static Web Apps provider." - }, - "customOpenIdConnectProviders": { - "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/CustomOpenIdConnectProvider" - } - } - }, - "x-ms-client-flatten": true + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The configuration settings of the Azure Active directory provider." + }, + "facebook": { + "$ref": "#/definitions/Facebook", + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "$ref": "#/definitions/GitHub", + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "$ref": "#/definitions/Google", + "description": "The configuration settings of the Google provider." + }, + "legacyMicrosoftAccount": { + "$ref": "#/definitions/LegacyMicrosoftAccount", + "description": "The configuration settings of the legacy Microsoft Account provider." + }, + "twitter": { + "$ref": "#/definitions/Twitter", + "description": "The configuration settings of the Twitter provider." + }, + "apple": { + "$ref": "#/definitions/Apple", + "description": "The configuration settings of the Apple provider." + }, + "azureStaticWebApps": { + "$ref": "#/definitions/AzureStaticWebApps", + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } } } }, "JwtClaimChecks": { "description": "The configuration settings of the checks that should be made while validating the JWT Claims.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "JwtClaimChecks resource specific properties", - "properties": { - "allowedGroups": { - "description": "The list of the allowed groups.", - "type": "array", - "items": { - "type": "string" - } - }, - "allowedClientApplications": { - "description": "The list of the allowed client applications.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true + "allowedGroups": { + "description": "The list of the allowed groups.", + "type": "array", + "items": { + "type": "string" + } + }, + "allowedClientApplications": { + "description": "The list of the allowed client applications.", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -24704,122 +23148,78 @@ "LegacyMicrosoftAccount": { "description": "The configuration settings of the legacy Microsoft Account provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "LegacyMicrosoftAccount resource specific properties", - "properties": { - "enabled": { - "description": "false if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/ClientRegistration", - "description": "The configuration settings of the app registration for the legacy Microsoft Account provider." - }, - "login": { - "$ref": "#/definitions/LoginScopes", - "description": "The configuration settings of the login flow." - }, - "validation": { - "$ref": "#/definitions/AllowedAudiencesValidation", - "description": "The configuration settings of the legacy Microsoft Account provider token validation flow." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the legacy Microsoft Account provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the legacy Microsoft Account provider token validation flow." } } }, "Login": { "description": "The configuration settings of the login flow of users using App Service Authentication/Authorization.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Login resource specific properties", - "properties": { - "routes": { - "$ref": "#/definitions/LoginRoutes", - "description": "The routes that specify the endpoints used for login and logout requests." - }, - "tokenStore": { - "$ref": "#/definitions/TokenStore", - "description": "The configuration settings of the token store." - }, - "preserveUrlFragmentsForLogins": { - "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false.", - "type": "boolean" - }, - "allowedExternalRedirectUrls": { - "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", - "type": "array", - "items": { - "type": "string" - } - }, - "cookieExpiration": { - "$ref": "#/definitions/CookieExpiration", - "description": "The configuration settings of the session cookie's expiration." - }, - "nonce": { - "$ref": "#/definitions/Nonce", - "description": "The configuration settings of the nonce used in the login flow." - } - }, - "x-ms-client-flatten": true + "routes": { + "$ref": "#/definitions/LoginRoutes", + "description": "The routes that specify the endpoints used for login and logout requests." + }, + "tokenStore": { + "$ref": "#/definitions/TokenStore", + "description": "The configuration settings of the token store." + }, + "preserveUrlFragmentsForLogins": { + "description": "true if the fragments from the request are preserved after the login request is made; otherwise, false.", + "type": "boolean" + }, + "allowedExternalRedirectUrls": { + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", + "type": "array", + "items": { + "type": "string" + } + }, + "cookieExpiration": { + "$ref": "#/definitions/CookieExpiration", + "description": "The configuration settings of the session cookie's expiration." + }, + "nonce": { + "$ref": "#/definitions/Nonce", + "description": "The configuration settings of the nonce used in the login flow." } } }, "LoginRoutes": { "description": "The routes that specify the endpoints used for login and logout requests.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "LoginRoutes resource specific properties", - "properties": { - "logoutEndpoint": { - "description": "The endpoint at which a logout request should be made.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "logoutEndpoint": { + "description": "The endpoint at which a logout request should be made.", + "type": "string" } } }, "LoginScopes": { "description": "The configuration settings of the login flow, including the scopes that should be requested.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "LoginScopes resource specific properties", - "properties": { - "scopes": { - "description": "A list of the scopes that should be requested while authenticating.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } } } }, @@ -24835,6 +23235,7 @@ "properties": { "$ref": "#/definitions/MSDeployCore", "description": "Core resource properties", + "type": "object", "properties": { "addOnPackages": { "description": "List of Add-On packages. Add-On packages implicitly enable the Do Not Delete MSDeploy rule.", @@ -24896,6 +23297,7 @@ "properties": { "properties": { "description": "MSDeployLog resource specific properties", + "type": "object", "properties": { "entries": { "description": "List of log entry messages", @@ -24952,6 +23354,7 @@ "properties": { "properties": { "description": "MSDeployStatus resource specific properties", + "type": "object", "properties": { "deployer": { "description": "Username of deployer", @@ -25011,6 +23414,7 @@ "connectionString", "migrationType" ], + "type": "object", "properties": { "connectionString": { "description": "Connection string to the remote MySQL database.", @@ -25044,6 +23448,7 @@ "properties": { "properties": { "description": "MigrateMySqlStatus resource specific properties", + "type": "object", "properties": { "migrationOperationStatus": { "description": "Status of the migration task.", @@ -25087,6 +23492,7 @@ "properties": { "properties": { "description": "NetworkFeatures resource specific properties", + "type": "object", "properties": { "virtualNetworkName": { "description": "The Virtual Network name.", @@ -25140,151 +23546,96 @@ "Nonce": { "description": "The configuration settings of the nonce used in the login flow.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Nonce resource specific properties", - "properties": { - "validateNonce": { - "description": "false if the nonce should not be validated while completing the login flow; otherwise, true.", - "type": "boolean" - }, - "nonceExpirationInterval": { - "description": "The time after the request is made when the nonce should expire.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "validateNonce": { + "description": "false if the nonce should not be validated while completing the login flow; otherwise, true.", + "type": "boolean" + }, + "nonceExpirationInterval": { + "description": "The time after the request is made when the nonce should expire.", + "type": "string" } } }, "OpenIdConnectClientCredential": { "description": "The authentication client credentials of the custom Open ID Connect provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "OpenIdConnectClientCredential resource specific properties", - "properties": { - "method": { - "description": "The method that should be used to authenticate the user.", - "enum": [ - "ClientSecretPost" - ], - "type": "string", - "x-ms-enum": { - "name": "ClientCredentialMethod", - "modelAsString": false - } - }, - "clientSecretSettingName": { - "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "method": { + "description": "The method that should be used to authenticate the user.", + "enum": [ + "ClientSecretPost" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientCredentialMethod", + "modelAsString": false + } + }, + "clientSecretSettingName": { + "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", + "type": "string" } } }, "OpenIdConnectConfig": { "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "OpenIdConnectConfig resource specific properties", - "properties": { - "authorizationEndpoint": { - "description": "The endpoint to be used to make an authorization request.", - "type": "string" - }, - "tokenEndpoint": { - "description": "The endpoint to be used to request a token.", - "type": "string" - }, - "issuer": { - "description": "The endpoint that issues the token.", - "type": "string" - }, - "certificationUri": { - "description": "The endpoint that provides the keys necessary to validate the token.", - "type": "string" - }, - "wellKnownOpenIdConfiguration": { - "description": "The endpoint that contains all the configuration endpoints for the provider.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "authorizationEndpoint": { + "description": "The endpoint to be used to make an authorization request.", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint to be used to request a token.", + "type": "string" + }, + "issuer": { + "description": "The endpoint that issues the token.", + "type": "string" + }, + "certificationUri": { + "description": "The endpoint that provides the keys necessary to validate the token.", + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "description": "The endpoint that contains all the configuration endpoints for the provider.", + "type": "string" } } }, "OpenIdConnectLogin": { "description": "The configuration settings of the login flow of the custom Open ID Connect provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "OpenIdConnectLogin resource specific properties", - "properties": { - "nameClaimType": { - "description": "The name of the claim that contains the users name.", - "type": "string" - }, - "scopes": { - "description": "A list of the scopes that should be requested while authenticating.", - "type": "array", - "items": { - "type": "string" - } - } - }, - "x-ms-client-flatten": true + "nameClaimType": { + "description": "The name of the claim that contains the users name.", + "type": "string" + }, + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } } } }, "OpenIdConnectRegistration": { "description": "The configuration settings of the app registration for the custom Open ID Connect provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], - "properties": { - "properties": { - "description": "OpenIdConnectRegistration resource specific properties", - "properties": { - "clientId": { - "description": "The client id of the custom Open ID Connect provider.", - "type": "string" - }, - "clientCredential": { - "$ref": "#/definitions/OpenIdConnectClientCredential", - "description": "The authentication credentials of the custom Open ID Connect provider." - }, - "openIdConnectConfiguration": { - "$ref": "#/definitions/OpenIdConnectConfig", - "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." - } - }, - "x-ms-client-flatten": true + "properties": { + "clientId": { + "description": "The client id of the custom Open ID Connect provider.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential", + "description": "The authentication credentials of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig", + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." } } }, @@ -25389,6 +23740,7 @@ "properties": { "properties": { "description": "PremierAddOn resource specific properties", + "type": "object", "properties": { "sku": { "description": "Premier add on SKU.", @@ -25426,6 +23778,7 @@ "properties": { "properties": { "description": "PremierAddOnPatchResource resource specific properties", + "type": "object", "properties": { "sku": { "description": "Premier add on SKU.", @@ -25463,6 +23816,7 @@ "properties": { "properties": { "description": "PrivateAccess resource specific properties", + "type": "object", "properties": { "enabled": { "description": "Whether private access is enabled or not.", @@ -25532,6 +23886,7 @@ "properties": { "properties": { "description": "ProcessInfo resource specific properties", + "type": "object", "properties": { "identifier": { "format": "int32", @@ -25746,6 +24101,7 @@ "properties": { "properties": { "description": "ProcessModuleInfo resource specific properties", + "type": "object", "properties": { "base_address": { "description": "Base address. Used as module identifier in ARM resource URI.", @@ -25829,6 +24185,7 @@ "properties": { "properties": { "description": "ProcessThreadInfo resource specific properties", + "type": "object", "properties": { "identifier": { "format": "int32", @@ -25920,6 +24277,7 @@ "properties": { "properties": { "description": "PublicCertificate resource specific properties", + "type": "object", "properties": { "blob": { "format": "byte", @@ -25970,6 +24328,27 @@ } } }, + "PublishingCredentialsPoliciesCollection": { + "description": "Publishing Credentials Policies entity collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/CsmPublishingCredentialsPoliciesEntity" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, "RelayServiceConnectionEntity": { "description": "Hybrid Connection for an App Service app.", "type": "object", @@ -25981,6 +24360,7 @@ "properties": { "properties": { "description": "RelayServiceConnectionEntity resource specific properties", + "type": "object", "properties": { "entityName": { "type": "string" @@ -26024,6 +24404,7 @@ "storageAccountUrl", "overwrite" ], + "type": "object", "properties": { "storageAccountUrl": { "description": "SAS URL to the container.", @@ -26102,6 +24483,7 @@ "properties": { "properties": { "description": "SiteAuthSettings resource specific properties", + "type": "object", "properties": { "enabled": { "description": "true if the Authentication / Authorization feature is enabled for the current app; otherwise, false.", @@ -26111,10 +24493,6 @@ "description": "The RuntimeVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of certain features in the Authentication / Authorization module.", "type": "string" }, - "configVersion": { - "description": "The ConfigVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of the control plane for Authentication / Authorization.", - "type": "string" - }, "unauthenticatedClientAction": { "description": "The action to take when an unauthenticated client attempts to access the app.", "enum": [ @@ -26296,6 +24674,10 @@ "authFilePath": { "description": "The path of the config file containing auth settings.\nIf the path is relative, base will the site's root directory.", "type": "string" + }, + "configVersion": { + "description": "The ConfigVersion of the Authentication / Authorization feature in use for the current app.\nThe setting in this value can control the behavior of the control plane for Authentication / Authorization.", + "type": "string" } }, "x-ms-client-flatten": true @@ -26313,6 +24695,7 @@ "properties": { "properties": { "description": "SiteAuthSettingsV2 resource specific properties", + "type": "object", "properties": { "platform": { "$ref": "#/definitions/AuthPlatform", @@ -26405,6 +24788,7 @@ "properties": { "$ref": "./CommonDefinitions.json#/definitions/SiteConfig", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -26441,6 +24825,7 @@ "properties": { "properties": { "description": "SiteConfigurationSnapshotInfo resource specific properties", + "type": "object", "properties": { "time": { "format": "date-time", @@ -26491,6 +24876,7 @@ "properties": { "properties": { "description": "SiteExtensionInfo resource specific properties", + "type": "object", "properties": { "extension_id": { "description": "Site extension ID.", @@ -26622,6 +25008,7 @@ "properties": { "properties": { "description": "SiteLogsConfig resource specific properties", + "type": "object", "properties": { "applicationLogs": { "$ref": "#/definitions/ApplicationLogsConfig", @@ -26655,6 +25042,7 @@ "properties": { "properties": { "description": "SitePatchResource resource specific properties", + "type": "object", "properties": { "state": { "description": "Current state of the app.", @@ -26879,10 +25267,6 @@ "description": "Status of the last deployment slot swap operation.", "readOnly": true }, - "keyVaultReferenceIdentity": { - "description": "Identity to use for Key Vault Reference authentication.", - "type": "string" - }, "httpsOnly": { "description": "HttpsOnly: configures a web site to accept only https requests. Issues redirect for\nhttp requests", "type": "boolean" @@ -26913,6 +25297,10 @@ "description": "Checks if Customer provided storage account is required", "type": "boolean" }, + "keyVaultReferenceIdentity": { + "description": "Identity to use for Key Vault Reference authentication.", + "type": "string" + }, "virtualNetworkSubnetId": { "description": "Azure Resource Manager ID of the Virtual network and subnet to be joined by Regional VNET Integration.\nThis must be of the form /subscriptions/{subscriptionName}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{vnetName}/subnets/{subnetName}", "type": "string" @@ -26936,6 +25324,7 @@ "properties": { "properties": { "description": "SitePhpErrorLogFlag resource specific properties", + "type": "object", "properties": { "localLogErrors": { "description": "Local log_errors setting.", @@ -26969,6 +25358,7 @@ "properties": { "properties": { "description": "SiteSourceControl resource specific properties", + "type": "object", "properties": { "repoUrl": { "description": "Repository or source control URL.", @@ -27066,6 +25456,7 @@ "properties": { "$ref": "#/definitions/SlotConfigNames", "description": "Core resource properties", + "type": "object", "x-ms-client-flatten": true } } @@ -27081,6 +25472,7 @@ "properties": { "properties": { "description": "SlotDifference resource specific properties", + "type": "object", "properties": { "level": { "description": "Level of the difference: Information, Warning or Error.", @@ -27192,6 +25584,7 @@ "required": [ "overwrite" ], + "type": "object", "properties": { "snapshotTime": { "description": "Point in time in which the app restore should be done, formatted as a DateTime string.", @@ -27237,6 +25630,7 @@ "azurefilesConnectionString", "azurefilesShare" ], + "type": "object", "properties": { "azurefilesConnectionString": { "description": "AzureFiles connection string.", @@ -27284,6 +25678,7 @@ "properties": { "properties": { "description": "StorageMigrationResponse resource specific properties", + "type": "object", "properties": { "operationId": { "description": "When server starts the migration process, it will return an operation ID identifying that particular migration operation.", @@ -27306,6 +25701,7 @@ "properties": { "properties": { "description": "SwiftVirtualNetwork resource specific properties", + "type": "object", "properties": { "subnetResourceId": { "description": "The Virtual Network subnet's resource ID. This is the subnet that this Web App will join. This subnet must have a delegation to Microsoft.Web/serverFarms defined first.", @@ -27323,34 +25719,23 @@ "TokenStore": { "description": "The configuration settings of the token store.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "TokenStore resource specific properties", - "properties": { - "enabled": { - "description": "true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.\n The default is false.", - "type": "boolean" - }, - "tokenRefreshExtensionHours": { - "format": "double", - "description": "The number of hours after session token expiration that a session token can be used to\ncall the token refresh API. The default is 72 hours.", - "type": "number" - }, - "fileSystem": { - "$ref": "#/definitions/FileSystemTokenStore", - "description": "The configuration settings of the storage of the tokens if a file system is used." - }, - "azureBlobStorage": { - "$ref": "#/definitions/BlobStorageTokenStore", - "description": "The configuration settings of the storage of the tokens if blob storage is used." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.\n The default is false.", + "type": "boolean" + }, + "tokenRefreshExtensionHours": { + "format": "double", + "description": "The number of hours after session token expiration that a session token can be used to\ncall the token refresh API. The default is 72 hours.", + "type": "number" + }, + "fileSystem": { + "$ref": "#/definitions/FileSystemTokenStore", + "description": "The configuration settings of the storage of the tokens if a file system is used." + }, + "azureBlobStorage": { + "$ref": "#/definitions/BlobStorageTokenStore", + "description": "The configuration settings of the storage of the tokens if blob storage is used." } } }, @@ -27365,6 +25750,7 @@ "properties": { "properties": { "description": "TriggeredJobHistory resource specific properties", + "type": "object", "properties": { "runs": { "description": "List of triggered web job runs.", @@ -27402,72 +25788,61 @@ "TriggeredJobRun": { "description": "Triggered Web Job Run Information.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "TriggeredJobRun resource specific properties", - "properties": { - "web_job_id": { - "description": "Job ID.", - "type": "string" - }, - "web_job_name": { - "description": "Job name.", - "type": "string" - }, - "status": { - "description": "Job status.", - "enum": [ - "Success", - "Failed", - "Error" - ], - "type": "string", - "x-ms-enum": { - "name": "TriggeredWebJobStatus", - "modelAsString": false - } - }, - "start_time": { - "format": "date-time", - "description": "Start time.", - "type": "string" - }, - "end_time": { - "format": "date-time", - "description": "End time.", - "type": "string" - }, - "duration": { - "description": "Job duration.", - "type": "string" - }, - "output_url": { - "description": "Output URL.", - "type": "string" - }, - "error_url": { - "description": "Error URL.", - "type": "string" - }, - "url": { - "description": "Job URL.", - "type": "string" - }, - "job_name": { - "description": "Job name.", - "type": "string" - }, - "trigger": { - "description": "Job trigger.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "web_job_id": { + "description": "Job ID.", + "type": "string" + }, + "web_job_name": { + "description": "Job name.", + "type": "string" + }, + "status": { + "description": "Job status.", + "enum": [ + "Success", + "Failed", + "Error" + ], + "type": "string", + "x-ms-enum": { + "name": "TriggeredWebJobStatus", + "modelAsString": false + } + }, + "start_time": { + "format": "date-time", + "description": "Start time.", + "type": "string" + }, + "end_time": { + "format": "date-time", + "description": "End time.", + "type": "string" + }, + "duration": { + "description": "Job duration.", + "type": "string" + }, + "output_url": { + "description": "Output URL.", + "type": "string" + }, + "error_url": { + "description": "Error URL.", + "type": "string" + }, + "url": { + "description": "Job URL.", + "type": "string" + }, + "job_name": { + "description": "Job name.", + "type": "string" + }, + "trigger": { + "description": "Job trigger.", + "type": "string" } } }, @@ -27482,6 +25857,7 @@ "properties": { "properties": { "description": "TriggeredWebJob resource specific properties", + "type": "object", "properties": { "latest_run": { "$ref": "#/definitions/TriggeredJobRun", @@ -27563,50 +25939,28 @@ "Twitter": { "description": "The configuration settings of the Twitter provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "Twitter resource specific properties", - "properties": { - "enabled": { - "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true.", - "type": "boolean" - }, - "registration": { - "$ref": "#/definitions/TwitterRegistration", - "description": "The configuration settings of the app registration for the Twitter provider." - } - }, - "x-ms-client-flatten": true + "enabled": { + "description": "false if the Twitter provider should not be enabled despite the set registration; otherwise, true.", + "type": "boolean" + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration", + "description": "The configuration settings of the app registration for the Twitter provider." } } }, "TwitterRegistration": { "description": "The configuration settings of the app registration for the Twitter provider.", "type": "object", - "allOf": [ - { - "$ref": "./CommonDefinitions.json#/definitions/ProxyOnlyResource" - } - ], "properties": { - "properties": { - "description": "TwitterRegistration resource specific properties", - "properties": { - "consumerKey": { - "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", - "type": "string" - }, - "consumerSecretSettingName": { - "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", - "type": "string" - } - }, - "x-ms-client-flatten": true + "consumerKey": { + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", + "type": "string" + }, + "consumerSecretSettingName": { + "description": "The app setting name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" } } }, @@ -27642,6 +25996,7 @@ "properties": { "properties": { "description": "WebJob resource specific properties", + "type": "object", "properties": { "run_command": { "description": "Run command.", @@ -27718,6 +26073,7 @@ "properties": { "properties": { "description": "WebSiteInstanceStatus resource specific properties", + "type": "object", "properties": { "state": { "enum": [ @@ -27747,10 +26103,6 @@ "description": "Link to the console to web app instance", "type": "string" }, - "machineName": { - "description": "Machine name", - "type": "string" - }, "containers": { "type": "object", "additionalProperties": { @@ -27761,86 +26113,6 @@ "x-ms-client-flatten": true } } - }, - "WorkflowEnvelope": { - "description": "Workflow properties definition.", - "type": "object", - "properties": { - "files": { - "description": "Gets or sets the filess.", - "type": "object", - "additionalProperties": { - "type": "object" - } - }, - "flowState": { - "description": "Gets or sets the state of the workflow.", - "enum": [ - "NotSpecified", - "Completed", - "Enabled", - "Disabled", - "Deleted", - "Suspended" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkflowState", - "modelAsString": false - } - }, - "health": { - "$ref": "#/definitions/WorkflowHealth", - "description": "Gets or sets workflow health." - } - } - }, - "WorkflowEnvelopeCollection": { - "description": "Collection of Kudu workflow information elements.", - "required": [ - "value" - ], - "type": "object", - "properties": { - "value": { - "description": "Collection of resources.", - "type": "array", - "items": { - "$ref": "#/definitions/WorkflowEnvelope" - } - }, - "nextLink": { - "description": "Link to next page of resources.", - "type": "string", - "readOnly": true - } - } - }, - "WorkflowHealth": { - "description": "Represents the workflow health.", - "required": [ - "state" - ], - "type": "object", - "properties": { - "state": { - "description": "Gets or sets the workflow health state.", - "enum": [ - "NotSpecified", - "Healthy", - "Unhealthy" - ], - "type": "string", - "x-ms-enum": { - "name": "WorkflowHealthState", - "modelAsString": false - } - }, - "error": { - "$ref": "./CommonDefinitions.json#/definitions/ErrorEntity", - "description": "Gets or sets the workflow error." - } - } } }, "parameters": { @@ -27888,4 +26160,4 @@ ] } ] -} \ No newline at end of file +}